From 49e86614c5e1612d341e0274b61b7a8765191cb0 Mon Sep 17 00:00:00 2001 From: Kowlin Date: Fri, 24 May 2019 20:10:55 +0200 Subject: [PATCH 001/183] Adding support for GitHub Funding (#2732) (I'm lazy, I know I should use a fork... sorry <3) --- .github/FUNDING.yml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 000000000..45ab9faf9 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,3 @@ +# These are supported funding model platforms + +patreon: Red_Devs From 6928e2aca2712cd959a67b34ec2862ee597740b5 Mon Sep 17 00:00:00 2001 From: Flame442 <34169552+Flame442@users.noreply.github.com> Date: Fri, 24 May 2019 17:52:43 -0400 Subject: [PATCH 002/183] Fixes some issues with API help commands (#2729) * Fixes some issues with `[p]streamset youtubekey/twitchtoken` Lots of general formatting bugs and clarity issues. * General formatting bugs and clarity issues --- redbot/cogs/image/image.py | 18 +++++++++--------- redbot/cogs/streams/streams.py | 22 ++++++++++++---------- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/redbot/cogs/image/image.py b/redbot/cogs/image/image.py index 7c2148bbf..060e809c0 100644 --- a/redbot/cogs/image/image.py +++ b/redbot/cogs/image/image.py @@ -138,20 +138,20 @@ class Image(commands.Cog): @checks.is_owner() @commands.command() async def imgurcreds(self, ctx): - """Explain how to set imgur API tokens""" + """Explain how to set imgur API tokens.""" message = _( "To get an Imgur Client ID:\n" "1. Login to an Imgur account.\n" - "2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" - "3. Enter a name for your application\n" - "4. Select *Anonymous usage without user authorization* for the auth type\n" - "5. Set the authorization callback URL to `https://localhost`\n" - "6. Leave the app website blank\n" - "7. Enter a valid email address and a description\n" - "8. Check the captcha box and click next\n" + "2. Visit this page https://api.imgur.com/oauth2/addclient.\n" + "3. Enter a name for your application.\n" + "4. Select *Anonymous usage without user authorization* for the auth type.\n" + "5. Set the authorization callback URL to `https://localhost`.\n" + "6. Leave the app website blank.\n" + "7. Enter a valid email address and a description.\n" + "8. Check the captcha box and click next.\n" "9. Your Client ID will be on the next page.\n" - "10. do `{prefix}set api imgur client_id,your_client_id`\n" + "10. Run the command `{prefix}set api imgur client_id,`.\n" ).format(prefix=ctx.prefix) await ctx.maybe_send_embed(message) diff --git a/redbot/cogs/streams/streams.py b/redbot/cogs/streams/streams.py index 3893dcf18..cd7478f88 100644 --- a/redbot/cogs/streams/streams.py +++ b/redbot/cogs/streams/streams.py @@ -316,18 +316,19 @@ class Streams(commands.Cog): @streamset.command() @checks.is_owner() async def twitchtoken(self, ctx: commands.Context): - """Explain how to set the twitch token""" + """Explain how to set the twitch token.""" message = _( "To set the twitch API tokens, follow these steps:\n" "1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" - "2. Click *Register Your Application*\n" - "3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and \n" - "select an Application Category of your choosing." - "4. Click *Register*, and on the following page, copy the Client ID.\n" - "5. do `{prefix}set api twitch client_id,your_client_id`\n\n" + "2. Click *Register Your Application*.\n" + "3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and " + "select an Application Category of your choosing.\n" + "4. Click *Register*.\n" + "5. On the following page, copy the Client ID.\n" + "6. Run the command `{prefix}set api twitch client_id,`\n\n" "Note: These tokens are sensitive and should only be used in a private channel\n" - "or in DM with the bot.)\n" + "or in DM with the bot.\n" ).format(prefix=ctx.prefix) await ctx.maybe_send_embed(message) @@ -335,17 +336,18 @@ class Streams(commands.Cog): @streamset.command() @checks.is_owner() async def youtubekey(self, ctx: commands.Context): - """Explain how to set the YouTube token""" + """Explain how to set the YouTube token.""" message = _( "To get one, do the following:\n" "1. Create a project\n" "(see https://support.google.com/googleapi/answer/6251787 for details)\n" "2. Enable the YouTube Data API v3 \n" - "(see https://support.google.com/googleapi/answer/6158841for instructions)\n" + "(see https://support.google.com/googleapi/answer/6158841 for instructions)\n" "3. Set up your API key \n" "(see https://support.google.com/googleapi/answer/6158862 for instructions)\n" - "4. Copy your API key and do `{prefix}set api youtube api_key,your_api_key`\n\n" + "4. Copy your API key and run the command " + "`{prefix}set api youtube api_key,`\n\n" "Note: These tokens are sensitive and should only be used in a private channel\n" "or in DM with the bot.\n" ).format(prefix=ctx.prefix) From cd745d35c2ad7996a46dca778542e1e29f8d2846 Mon Sep 17 00:00:00 2001 From: Stonedestroyer <1307729+Stonedestroyer@users.noreply.github.com> Date: Fri, 24 May 2019 23:55:48 +0200 Subject: [PATCH 003/183] [Core] Add debug info command (#2728) Shows useful debug information for debugging. --- redbot/core/core_commands.py | 56 ++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index 6adc88b74..6c4869625 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -8,6 +8,9 @@ import logging import os import pathlib import sys +import platform +import getpass +import pip import tarfile import traceback from collections import namedtuple @@ -1467,6 +1470,59 @@ class Core(commands.Cog, CoreLogic): msg = _("Data path: {path}").format(path=data_dir) await ctx.send(box(msg)) + @commands.command(hidden=True) + @checks.is_owner() + async def debuginfo(self, ctx: commands.Context): + """Shows debug information useful for debugging..""" + + if sys.platform == "linux": + import distro + + IS_WINDOWS = os.name == "nt" + IS_MAC = sys.platform == "darwin" + IS_LINUX = sys.platform == "linux" + + pyver = "{}.{}.{} ({})".format(*sys.version_info[:3], platform.architecture()[0]) + pipver = pip.__version__ + redver = red_version_info + dpy_version = discord.__version__ + if IS_WINDOWS: + os_info = platform.uname() + osver = "{} {} (version {})".format(os_info.system, os_info.release, os_info.version) + elif IS_MAC: + os_info = platform.mac_ver() + osver = "Mac OSX {} {}".format(os_info[0], os_info[2]) + elif IS_LINUX: + os_info = distro.linux_distribution() + osver = "{} {}".format(os_info[0], os_info[1]).strip() + else: + osver = "Could not parse OS, report this on Github." + user_who_ran = getpass.getuser() + + if await ctx.embed_requested(): + e = discord.Embed(color=await ctx.embed_colour()) + e.title = "Debug Info for Red" + e.add_field(name="Red version", value=redver, inline=True) + e.add_field(name="Python version", value=pyver, inline=True) + e.add_field(name="Discord.py version", value=dpy_version, inline=True) + e.add_field(name="Pip version", value=pipver, inline=True) + e.add_field(name="System arch", value=platform.machine(), inline=True) + e.add_field(name="User", value=user_who_ran, inline=True) + e.add_field(name="OS version", value=osver, inline=False) + await ctx.send(embed=e) + else: + info = ( + "Debug Info for Red\n\n" + + "Red version: {}\n".format(redver) + + "Python version: {}\n".format(pyver) + + "Discord.py version: {}\n".format(dpy_version) + + "Pip version: {}\n".format(pipver) + + "System arch: {}\n".format(platform.machine()) + + "User: {}\n".format(user_who_ran) + + "OS version: {}\n".format(osver) + ) + await ctx.send(box(info)) + @commands.group() @checks.is_owner() async def whitelist(self, ctx: commands.Context): From 2e271d695bf10fd00194c82778a23f40c3eccc26 Mon Sep 17 00:00:00 2001 From: Neuro Assassin <42872277+NeuroAssassin@users.noreply.github.com> Date: Fri, 24 May 2019 18:22:17 -0400 Subject: [PATCH 004/183] Add respectable aliases for consistency (#2731) * Add respectable aliases for consistency * General command name for alias.py * Forgot one for alias * General command for filter * General command for warnings * Whoops Resolves #1749 --- redbot/cogs/alias/alias.py | 4 ++-- redbot/cogs/customcom/customcom.py | 2 +- redbot/cogs/downloader/downloader.py | 2 +- redbot/cogs/filter/filter.py | 2 +- redbot/cogs/warnings/warnings.py | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/redbot/cogs/alias/alias.py b/redbot/cogs/alias/alias.py index 8a24a727c..19042e539 100644 --- a/redbot/cogs/alias/alias.py +++ b/redbot/cogs/alias/alias.py @@ -375,7 +375,7 @@ class Alias(commands.Cog): await ctx.send(_("There is no alias with the name `{name}`").format(name=alias_name)) @checks.mod_or_permissions(manage_guild=True) - @alias.command(name="del") + @alias.command(name="delete", aliases=["del", "remove"]) @commands.guild_only() async def _del_alias(self, ctx: commands.Context, alias_name: str): """Delete an existing alias on this server.""" @@ -394,7 +394,7 @@ class Alias(commands.Cog): await ctx.send(_("Alias with name `{name}` was not found.").format(name=alias_name)) @checks.is_owner() - @global_.command(name="del") + @global_.command(name="delete", aliases=["del", "remove"]) async def _del_global_alias(self, ctx: commands.Context, alias_name: str): """Delete an existing global alias.""" aliases = await self.unloaded_global_aliases() diff --git a/redbot/cogs/customcom/customcom.py b/redbot/cogs/customcom/customcom.py index 09b8ef26a..a4a0bf005 100644 --- a/redbot/cogs/customcom/customcom.py +++ b/redbot/cogs/customcom/customcom.py @@ -296,7 +296,7 @@ class CustomCommands(commands.Cog): ) ) - @customcom.command(name="delete") + @customcom.command(name="delete", aliases=["del", "remove"]) @checks.mod_or_permissions(administrator=True) async def cc_delete(self, ctx, command: str.lower): """Delete a custom command. diff --git a/redbot/cogs/downloader/downloader.py b/redbot/cogs/downloader/downloader.py index f609e58a6..4350fb6f5 100644 --- a/redbot/cogs/downloader/downloader.py +++ b/redbot/cogs/downloader/downloader.py @@ -246,7 +246,7 @@ class Downloader(commands.Cog): if repo.install_msg is not None: await ctx.send(repo.install_msg.replace("[p]", ctx.prefix)) - @repo.command(name="delete", aliases=["remove"], usage="") + @repo.command(name="delete", aliases=["remove", "del"], usage="") async def _repo_del(self, ctx, repo: Repo): """Remove a repo and its files.""" await self._repo_manager.delete_repo(repo.name) diff --git a/redbot/cogs/filter/filter.py b/redbot/cogs/filter/filter.py index a1a73c1ac..841d42e42 100644 --- a/redbot/cogs/filter/filter.py +++ b/redbot/cogs/filter/filter.py @@ -236,7 +236,7 @@ class Filter(commands.Cog): else: await ctx.send(_("Those words were already in the filter.")) - @_filter.command(name="remove") + @_filter.command(name="delete", aliases=["remove", "del"]) async def filter_remove(self, ctx: commands.Context, *, words: str): """Remove words from the filter. diff --git a/redbot/cogs/warnings/warnings.py b/redbot/cogs/warnings/warnings.py index d2c9e48f1..b53fdaf8d 100644 --- a/redbot/cogs/warnings/warnings.py +++ b/redbot/cogs/warnings/warnings.py @@ -125,7 +125,7 @@ class Warnings(commands.Cog): registered_actions.sort(key=lambda a: a["points"], reverse=True) await ctx.send(_("Action {name} has been added.").format(name=name)) - @warnaction.command(name="del") + @warnaction.command(name="delete", aliases=["del", "remove"]) @commands.guild_only() async def action_del(self, ctx: commands.Context, action_name: str): """Delete the action with the specified name.""" @@ -175,7 +175,7 @@ class Warnings(commands.Cog): await ctx.send(_("The new reason has been registered.")) - @warnreason.command(name="del", aliases=["remove"]) + @warnreason.command(name="delete", aliases=["remove", "del"]) @commands.guild_only() async def reason_del(self, ctx: commands.Context, reason_name: str): """Delete a warning reason.""" From 68590dfdb89050125ea29456a65c638b168fff56 Mon Sep 17 00:00:00 2001 From: Michael H Date: Sat, 25 May 2019 17:58:14 -0400 Subject: [PATCH 005/183] [Core] Improve API token converter (#2692) * improve api converter * make usage more clear --- redbot/core/commands/converter.py | 59 ++++++++++++++++++++++++++++--- redbot/core/core_commands.py | 7 ++-- 2 files changed, 59 insertions(+), 7 deletions(-) diff --git a/redbot/core/commands/converter.py b/redbot/core/commands/converter.py index 308c442c9..e62a6e2c1 100644 --- a/redbot/core/commands/converter.py +++ b/redbot/core/commands/converter.py @@ -1,7 +1,9 @@ import re -from typing import TYPE_CHECKING +import functools +from typing import TYPE_CHECKING, Optional, List, Dict import discord +from discord.ext import commands as dpy_commands from . import BadArgument from ..i18n import Translator @@ -9,7 +11,7 @@ from ..i18n import Translator if TYPE_CHECKING: from .context import Context -__all__ = ["GuildConverter"] +__all__ = ["GuildConverter", "APIToken", "DictConverter", "get_dict_converter"] _ = Translator("commands.converter", __file__) @@ -47,16 +49,20 @@ class APIToken(discord.ext.commands.Converter): This will parse the input argument separating the key value pairs into a format to be used for the core bots API token storage. - This will split the argument by either `;` or `,` and return a dict + This will split the argument by either `;` ` `, or `,` and return a dict to be stored. Since all API's are different and have different naming convention, this leaves the onus on the cog creator to clearly define how to setup the correct credential names for their cogs. + + Note: Core usage of this has been replaced with DictConverter use instead. + + This may be removed at a later date (with warning) """ async def convert(self, ctx, argument) -> dict: bot = ctx.bot result = {} - match = re.split(r";|,", argument) + match = re.split(r";|,| ", argument) # provide two options to split incase for whatever reason one is part of the api key we're using if len(match) > 1: result[match[0]] = "".join(r for r in match[1:]) @@ -65,3 +71,48 @@ class APIToken(discord.ext.commands.Converter): if not result: raise BadArgument(_("The provided tokens are not in a valid format.")) return result + + +class DictConverter(dpy_commands.Converter): + """ + Converts pairs of space seperated values to a dict + """ + + def __init__(self, *expected_keys: str, delims: Optional[List[str]] = None): + self.expected_keys = expected_keys + self.delims = delims or [" "] + self.pattern = re.compile(r"|".join(re.escape(d) for d in self.delims)) + + async def convert(self, ctx: "Context", argument: str) -> Dict[str, str]: + + ret: Dict[str, str] = {} + args = self.pattern.split(argument) + + if len(args) % 2 != 0: + raise BadArgument() + + iterator = iter(args) + + for key in iterator: + if self.expected_keys and key not in self.expected_keys: + raise BadArgument(_("Unexpected key {key}").format(key)) + + ret[key] = next(iterator) + + return ret + + +def get_dict_converter(*expected_keys: str, delims: Optional[List[str]] = None) -> type: + """ + Returns a typechecking safe `DictConverter` suitable for use with discord.py + """ + + class PartialMeta(type(DictConverter)): + __call__ = functools.partialmethod( + type(DictConverter).__call__, *expected_keys, delims=delims + ) + + class ValidatedConverter(DictConverter, metaclass=PartialMeta): + pass + + return ValidatedConverter diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index 6c4869625..e30ac1aa4 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -45,6 +45,8 @@ log = logging.getLogger("red") _ = i18n.Translator("Core", __file__) +TokenConverter = commands.get_dict_converter(delims=[" ", ",", ";"]) + class CoreLogic: def __init__(self, bot: "Red"): @@ -1063,7 +1065,7 @@ class Core(commands.Cog, CoreLogic): @_set.command() @checks.is_owner() - async def api(self, ctx: commands.Context, service: str, *tokens: commands.converter.APIToken): + async def api(self, ctx: commands.Context, service: str, *, tokens: TokenConverter): """Set various external API tokens. This setting will be asked for by some 3rd party cogs and some core cogs. @@ -1076,8 +1078,7 @@ class Core(commands.Cog, CoreLogic): """ if ctx.channel.permissions_for(ctx.me).manage_messages: await ctx.message.delete() - entry = {k: v for t in tokens for k, v in t.items()} - await ctx.bot.db.api_tokens.set_raw(service, value=entry) + await ctx.bot.db.api_tokens.set_raw(service, value=tokens) await ctx.send(_("`{service}` API tokens have been set.").format(service=service)) @commands.group() From 132545e057381342e93748c722a50c34af2c1cea Mon Sep 17 00:00:00 2001 From: Flame442 <34169552+Flame442@users.noreply.github.com> Date: Mon, 27 May 2019 20:27:56 -0400 Subject: [PATCH 006/183] [Audio] Clarity changes for the API info commands (#2733) * Clarity changes for the API info commands * Remove unnecessary f-string --- redbot/cogs/audio/audio.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/redbot/cogs/audio/audio.py b/redbot/cogs/audio/audio.py index 02e3f0f0b..3c61993b3 100644 --- a/redbot/cogs/audio/audio.py +++ b/redbot/cogs/audio/audio.py @@ -592,15 +592,15 @@ class Audio(commands.Cog): async def spotifyapi(self, ctx): """Instructions to set the Spotify API tokens.""" message = _( - f"1. Go to Spotify developers and log in with your Spotify account\n" + "1. Go to Spotify developers and log in with your Spotify account.\n" "(https://developer.spotify.com/dashboard/applications)\n" - '2. Click "Create An App"\n' + '2. Click "Create An App".\n' "3. Fill out the form provided with your app name, etc.\n" - '4. When asked if you\'re developing commercial integration select "No"\n' + '4. When asked if you\'re developing commercial integration select "No".\n' "5. Accept the terms and conditions.\n" "6. Copy your client ID and your client secret into:\n" - "`{prefix}set api spotify client_id,your_client_id " - "client_secret,your_client_secret`" + "`{prefix}set api spotify client_id, " + "client_secret,`" ).format(prefix=ctx.prefix) await ctx.maybe_send_embed(message) @@ -660,7 +660,7 @@ class Audio(commands.Cog): "6. Click on Create Credential at the top.\n" '7. At the top click the link for "API key".\n' "8. No application restrictions are needed. Click Create at the bottom.\n" - "9. You now have a key to add to `{prefix}set api youtube api_key,your_api_key`" + "9. You now have a key to add to `{prefix}set api youtube api_key,`" ).format(prefix=ctx.prefix) await ctx.maybe_send_embed(message) From b4f4e080afd59a190becdb8b36748adf23515c06 Mon Sep 17 00:00:00 2001 From: PredaaA <46051820+PredaaA@users.noreply.github.com> Date: Tue, 28 May 2019 02:39:36 +0200 Subject: [PATCH 007/183] [core_commands] Using humanize_timedelta for [p]uptime command (#2735) * Update core_commands.py --- redbot/core/core_commands.py | 30 +++++++----------------------- 1 file changed, 7 insertions(+), 23 deletions(-) diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index e30ac1aa4..9fff5c6db 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -33,7 +33,7 @@ from redbot.core import ( i18n, ) from .utils.predicates import MessagePredicate -from .utils.chat_formatting import pagify, box, inline +from .utils.chat_formatting import humanize_timedelta, pagify, box, inline if TYPE_CHECKING: from redbot.core.bot import Red @@ -333,28 +333,12 @@ class Core(commands.Cog, CoreLogic): async def uptime(self, ctx: commands.Context): """Shows Red's uptime""" since = ctx.bot.uptime.strftime("%Y-%m-%d %H:%M:%S") - passed = self.get_bot_uptime() - await ctx.send(_("Been up for: **{}** (since {} UTC)").format(passed, since)) - - def get_bot_uptime(self, *, brief: bool = False): - # Courtesy of Danny - now = datetime.datetime.utcnow() - delta = now - self.bot.uptime - hours, remainder = divmod(int(delta.total_seconds()), 3600) - minutes, seconds = divmod(remainder, 60) - days, hours = divmod(hours, 24) - - if not brief: - if days: - fmt = _("{d} days, {h} hours, {m} minutes, and {s} seconds") - else: - fmt = _("{h} hours, {m} minutes, and {s} seconds") - else: - fmt = _("{h}h {m}m {s}s") - if days: - fmt = _("{d}d ") + fmt - - return fmt.format(d=days, h=hours, m=minutes, s=seconds) + delta = datetime.datetime.utcnow() - self.bot.uptime + await ctx.send( + _("Been up for: **{}** (since {} UTC)").format( + humanize_timedelta(timedelta=delta), since + ) + ) @commands.group() async def embedset(self, ctx: commands.Context): From 2338ad8223b329ff344fbc4788dda3acb6755459 Mon Sep 17 00:00:00 2001 From: Stonedestroyer <1307729+Stonedestroyer@users.noreply.github.com> Date: Tue, 28 May 2019 03:04:15 +0200 Subject: [PATCH 008/183] [Image] Fix giphy api (#2653) * Remove hardcoded Giphy key. Allows you to set your own Giphy API key. * Run black * Fix Giphy name On their website it's spelled GIPHY. --- redbot/cogs/image/image.py | 42 ++++++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/redbot/cogs/image/image.py b/redbot/cogs/image/image.py index 060e809c0..1570f1fbf 100644 --- a/redbot/cogs/image/image.py +++ b/redbot/cogs/image/image.py @@ -7,8 +7,6 @@ from redbot.core import checks, Config, commands _ = Translator("Image", __file__) -GIPHY_API_KEY = "dc6zaTOxFJmzC" - @cog_i18n(_) class Image(commands.Cog): @@ -166,8 +164,17 @@ class Image(commands.Cog): await ctx.send_help() return + giphy_api_key = await ctx.bot.db.api_tokens.get_raw("GIPHY", default=None) + if not giphy_api_key: + await ctx.send( + _("A API key has not been set! Please set one with `{prefix}giphycreds`.").format( + prefix=ctx.prefix + ) + ) + return + url = "http://api.giphy.com/v1/gifs/search?&api_key={}&q={}".format( - GIPHY_API_KEY, keywords + giphy_api_key["api_key"], keywords ) async with self.session.get(url) as r: @@ -190,8 +197,17 @@ class Image(commands.Cog): await ctx.send_help() return + giphy_api_key = await ctx.bot.db.api_tokens.get_raw("GIPHY", default=None) + if not giphy_api_key: + await ctx.send( + _("A API key has not been set! Please set one with `{prefix}giphycreds`.").format( + prefix=ctx.prefix + ) + ) + return + url = "http://api.giphy.com/v1/gifs/random?&api_key={}&tag={}".format( - GIPHY_API_KEY, keywords + giphy_api_key["api_key"], keywords ) async with self.session.get(url) as r: @@ -203,3 +219,21 @@ class Image(commands.Cog): await ctx.send(_("No results found.")) else: await ctx.send(_("Error contacting the API.")) + + @checks.is_owner() + @commands.command() + async def giphycreds(self, ctx): + """Explain how to set Giphy API tokens""" + + message = _( + "To get an Giphyr API Key:\n" + "1. Login to an Giphy account.\n" + "2. Visit [this](https://developers.giphy.com/dashboard) page\n" + "3. Press `Create an App`\n" + "4. Write a app name, example: `Red Bot`\n" + "5. Write a app description, example: `Used for Red Bot`\n" + "6. Copy the API key shown.\n" + "7. Do `{prefix}set api GIPHY api_key,your_api_key`\n" + ).format(prefix=ctx.prefix) + + await ctx.maybe_send_embed(message) From 242df83785a48bce3301c2c0a185e46f4d39932c Mon Sep 17 00:00:00 2001 From: DiscordLiz <47602820+DiscordLiz@users.noreply.github.com> Date: Tue, 28 May 2019 02:47:44 -0400 Subject: [PATCH 009/183] [Image] Fix some issues in strings (#2737) --- redbot/cogs/image/image.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/redbot/cogs/image/image.py b/redbot/cogs/image/image.py index 1570f1fbf..7c672bdff 100644 --- a/redbot/cogs/image/image.py +++ b/redbot/cogs/image/image.py @@ -167,7 +167,7 @@ class Image(commands.Cog): giphy_api_key = await ctx.bot.db.api_tokens.get_raw("GIPHY", default=None) if not giphy_api_key: await ctx.send( - _("A API key has not been set! Please set one with `{prefix}giphycreds`.").format( + _("An API key has not been set! Please set one with `{prefix}giphycreds`.").format( prefix=ctx.prefix ) ) @@ -200,7 +200,7 @@ class Image(commands.Cog): giphy_api_key = await ctx.bot.db.api_tokens.get_raw("GIPHY", default=None) if not giphy_api_key: await ctx.send( - _("A API key has not been set! Please set one with `{prefix}giphycreds`.").format( + _("An API key has not been set! Please set one with `{prefix}giphycreds`.").format( prefix=ctx.prefix ) ) @@ -226,12 +226,12 @@ class Image(commands.Cog): """Explain how to set Giphy API tokens""" message = _( - "To get an Giphyr API Key:\n" - "1. Login to an Giphy account.\n" + "To get a Giphy API Key:\n" + "1. Login to a Giphy account.\n" "2. Visit [this](https://developers.giphy.com/dashboard) page\n" "3. Press `Create an App`\n" - "4. Write a app name, example: `Red Bot`\n" - "5. Write a app description, example: `Used for Red Bot`\n" + "4. Write an app name, example: `Red Bot`\n" + "5. Write an app description, example: `Used for Red Bot`\n" "6. Copy the API key shown.\n" "7. Do `{prefix}set api GIPHY api_key,your_api_key`\n" ).format(prefix=ctx.prefix) From 56161c0a88e6ec31ae2bd0b0d284ca8f54cad496 Mon Sep 17 00:00:00 2001 From: DiscordLiz <47602820+DiscordLiz@users.noreply.github.com> Date: Tue, 28 May 2019 12:37:02 -0400 Subject: [PATCH 010/183] Send to owners (#2738) * Add bot.send_to_owner resolves #2665 Adds some basic methods and config entries. Does not add commands for modifying this yet. * Use send_to_owners in events * handle feedback --- redbot/core/bot.py | 45 +++++++++++++++++++++++++++++++++++++++++++ redbot/core/events.py | 24 ++++++----------------- 2 files changed, 51 insertions(+), 18 deletions(-) diff --git a/redbot/core/bot.py b/redbot/core/bot.py index 877c54eb7..23f1b6ddd 100644 --- a/redbot/core/bot.py +++ b/redbot/core/bot.py @@ -20,6 +20,8 @@ from .utils import common_filters CUSTOM_GROUPS = "CUSTOM_GROUPS" +log = logging.getLogger("redbot") + def _is_submodule(parent, child): return parent == child or child.startswith(parent + ".") @@ -60,6 +62,8 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): disabled_commands=[], disabled_command_msg="That command is disabled.", api_tokens={}, + extra_owner_destinations=[], + owner_opt_out_list=[], ) self.db.register_guild( @@ -464,6 +468,47 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): ctx.permission_state = commands.PermState.DENIED_BY_HOOK return False + async def get_owner_notification_destinations(self) -> List[discord.abc.Messageable]: + """ + Gets the users and channels to send to + """ + destinations = [] + opt_outs = await self.db.owner_opt_out_list() + for user_id in (self.owner_id, *self._co_owners): + if user_id not in opt_outs: + user = self.get_user(user_id) + if user: + destinations.append(user) + + channel_ids = await self.db.extra_owner_destinations() + for channel_id in channel_ids: + channel = self.get_channel(channel_id) + if channel: + destinations.append(channel) + + return destinations + + async def send_to_owners(self, content=None, **kwargs): + """ + This sends something to all owners and their configured extra destinations. + + This takes the same arguments as discord.abc.Messageable.send + + This logs failing sends + """ + destinations = await self.get_owner_notification_destinations() + + async def wrapped_send(location, content=None, **kwargs): + try: + await location.send(content, **kwargs) + except Exception as _exc: + log.exception( + f"I could not send an owner notification to ({location.id}){location}" + ) + + sends = [wrapped_send(d, content, **kwargs) for d in destinations] + await asyncio.gather(*sends) + class Red(RedBase, discord.AutoShardedClient): """ diff --git a/redbot/core/events.py b/redbot/core/events.py index aacc88017..bd0bff3cd 100644 --- a/redbot/core/events.py +++ b/redbot/core/events.py @@ -120,24 +120,12 @@ def init_events(bot, cli_flags): "but you're using {}".format(data["info"]["version"], red_version) ) - owners = [] - owner = bot.get_user(bot.owner_id) - if owner is not None: - owners.append(owner) - - for co_owner in bot._co_owners: - co_owner = bot.get_user(co_owner) - if co_owner is not None: - owners.append(co_owner) - - for owner in owners: - with contextlib.suppress(discord.HTTPException): - await owner.send( - "Your Red instance is out of date! {} is the current " - "version, however you are using {}!".format( - data["info"]["version"], red_version - ) - ) + await bot.send_to_owners( + "Your Red instance is out of date! {} is the current " + "version, however you are using {}!".format( + data["info"]["version"], red_version + ) + ) INFO2 = [] mongo_enabled = storage_type() != "JSON" From 1581604f710cd8c3e90994f9f8a6d2b18916c634 Mon Sep 17 00:00:00 2001 From: DiscordLiz <47602820+DiscordLiz@users.noreply.github.com> Date: Tue, 28 May 2019 12:43:55 -0400 Subject: [PATCH 011/183] Add a timedelta converter (#2736) * Add a timedelta converter This reuses a lot of logic from @mikeshardmind 's scheduler cog with permission It adds a timedelta converter It keeps it generalized as requested It keeps the function available for non converter use as requested * Handle feedback * style fix --- redbot/core/commands/converter.py | 168 +++++++++++++++++++++++++++++- 1 file changed, 167 insertions(+), 1 deletion(-) diff --git a/redbot/core/commands/converter.py b/redbot/core/commands/converter.py index e62a6e2c1..3c915f611 100644 --- a/redbot/core/commands/converter.py +++ b/redbot/core/commands/converter.py @@ -1,5 +1,6 @@ import re import functools +from datetime import timedelta from typing import TYPE_CHECKING, Optional, List, Dict import discord @@ -7,17 +8,105 @@ from discord.ext import commands as dpy_commands from . import BadArgument from ..i18n import Translator +from ..utils.chat_formatting import humanize_timedelta if TYPE_CHECKING: from .context import Context -__all__ = ["GuildConverter", "APIToken", "DictConverter", "get_dict_converter"] +__all__ = [ + "APIToken", + "DictConverter", + "GuildConverter", + "TimedeltaConverter", + "get_dict_converter", + "get_timedelta_converter", + "parse_timedelta", +] _ = Translator("commands.converter", __file__) ID_REGEX = re.compile(r"([0-9]{15,21})") +# Taken with permission from +# https://github.com/mikeshardmind/SinbadCogs/blob/816f3bc2ba860243f75112904b82009a8a9e1f99/scheduler/time_utils.py#L9-L19 +TIME_RE_STRING = r"\s?".join( + [ + r"((?P\d+?)\s?(weeks?|w))?", + r"((?P\d+?)\s?(days?|d))?", + r"((?P\d+?)\s?(hours?|hrs|hr?))?", + r"((?P\d+?)\s?(minutes?|mins?|m(?!o)))?", # prevent matching "months" + r"((?P\d+?)\s?(seconds?|secs?|s))?", + ] +) + +TIME_RE = re.compile(TIME_RE_STRING, re.I) + + +def parse_timedelta( + argument: str, + *, + maximum: Optional[timedelta] = None, + minimum: Optional[timedelta] = None, + allowed_units: Optional[List[str]] = None, +) -> Optional[timedelta]: + """ + This converts a user provided string into a timedelta + + The units should be in order from largest to smallest. + This works with or without whitespace. + + Parameters + ---------- + argument : str + The user provided input + maximum : Optional[timedelta] + If provided, any parsed value higher than this will raise an exception + minimum : Optional[timedelta] + If provided, any parsed value lower than this will raise an exception + allowed_units : Optional[List[str]] + If provided, you can constrain a user to expressing the amount of time + in specific units. The units you can chose to provide are the same as the + parser understands. `weeks` `days` `hours` `minutes` `seconds` + + Returns + ------- + Optional[timedelta] + If matched, the timedelta which was parsed. This can return `None` + + Raises + ------ + BadArgument + If the argument passed uses a unit not allowed, but understood + or if the value is out of bounds. + """ + matches = TIME_RE.match(argument) + allowed_units = allowed_units or ["weeks", "days", "hours", "minutes", "seconds"] + if matches: + params = {k: int(v) for k, v in matches.groupdict().items() if v is not None} + for k in params.keys(): + if k not in allowed_units: + raise BadArgument( + _("`{unit}` is not a valid unit of time for this command").format(unit=k) + ) + if params: + delta = timedelta(**params) + if maximum and maximum < delta: + raise BadArgument( + _( + "This amount of time is too large for this command. (maximum: {maximum})" + ).format(maximum=humanize_timedelta(timedelta=maximum)) + ) + if minimum and delta < minimum: + raise BadArgument( + _( + "This amount of time is too small for this command. (minimum: {minimum})" + ).format(minimum=humanize_timedelta(timedelta=minimum)) + ) + return delta + return None + + class GuildConverter(discord.Guild): """Converts to a `discord.Guild` object. @@ -116,3 +205,80 @@ def get_dict_converter(*expected_keys: str, delims: Optional[List[str]] = None) pass return ValidatedConverter + + +class TimedeltaConverter(dpy_commands.Converter): + """ + This is a converter for timedeltas. + The units should be in order from largest to smallest. + This works with or without whitespace. + + See `parse_timedelta` for more information about how this functions. + + Attributes + ---------- + maximum : Optional[timedelta] + If provided, any parsed value higher than this will raise an exception + minimum : Optional[timedelta] + If provided, any parsed value lower than this will raise an exception + allowed_units : Optional[List[str]] + If provided, you can constrain a user to expressing the amount of time + in specific units. The units you can chose to provide are the same as the + parser understands. `weeks` `days` `hours` `minutes` `seconds` + """ + + def __init__(self, *, minimum=None, maximum=None, allowed_units=None): + self.allowed_units = allowed_units + self.minimum = minimum + self.maximum = maximum + + async def convert(self, ctx: "Context", argument: str) -> timedelta: + delta = parse_timedelta( + argument, minimum=self.minimum, maximum=self.maximum, allowed_units=self.allowed_units + ) + if delta is not None: + return delta + raise BadArgument() # This allows this to be a required argument. + + +def get_timedelta_converter( + *, + maximum: Optional[timedelta] = None, + minimum: Optional[timedelta] = None, + allowed_units: Optional[List[str]] = None, +) -> type: + """ + This creates a type suitable for typechecking which works with discord.py's + commands. + + See `parse_timedelta` for more information about how this functions. + + Parameters + ---------- + maximum : Optional[timedelta] + If provided, any parsed value higher than this will raise an exception + minimum : Optional[timedelta] + If provided, any parsed value lower than this will raise an exception + allowed_units : Optional[List[str]] + If provided, you can constrain a user to expressing the amount of time + in specific units. The units you can chose to provide are the same as the + parser understands. `weeks` `days` `hours` `minutes` `seconds` + + Returns + ------- + type + The converter class, which will be a subclass of `TimedeltaConverter` + """ + + class PartialMeta(type(TimedeltaConverter)): + __call__ = functools.partialmethod( + type(DictConverter).__call__, + allowed_units=allowed_units, + minimum=minimum, + maximum=maximum, + ) + + class ValidatedConverter(TimedeltaConverter, metaclass=PartialMeta): + pass + + return ValidatedConverter From aac9369f3fd61e1e4c009df1c4f9b52d83295197 Mon Sep 17 00:00:00 2001 From: DevilXD Date: Wed, 29 May 2019 02:01:27 +0200 Subject: [PATCH 012/183] [Mod] Add [p]slowmode (#2734) Makes use of new timedelta converter --- redbot/cogs/mod/mod.py | 2 ++ redbot/cogs/mod/slowmode.py | 41 +++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 redbot/cogs/mod/slowmode.py diff --git a/redbot/cogs/mod/mod.py b/redbot/cogs/mod/mod.py index 9ac18743c..a303aab50 100644 --- a/redbot/cogs/mod/mod.py +++ b/redbot/cogs/mod/mod.py @@ -12,6 +12,7 @@ from .kickban import KickBanMixin from .movetocore import MoveToCore from .mutes import MuteMixin from .names import ModInfo +from .slowmode import Slowmode from .settings import ModSettings _ = T_ = Translator("Mod", __file__) @@ -36,6 +37,7 @@ class Mod( MoveToCore, MuteMixin, ModInfo, + Slowmode, commands.Cog, metaclass=CompositeMetaClass, ): diff --git a/redbot/cogs/mod/slowmode.py b/redbot/cogs/mod/slowmode.py new file mode 100644 index 000000000..807769c26 --- /dev/null +++ b/redbot/cogs/mod/slowmode.py @@ -0,0 +1,41 @@ +import re +from .abc import MixinMeta +from datetime import timedelta +from redbot.core import commands, i18n, checks +from redbot.core.utils.chat_formatting import humanize_timedelta + +_ = i18n.Translator("Mod", __file__) + + +class Slowmode(MixinMeta): + """ + Commands regarding channel slowmode management. + """ + + @commands.command() + @commands.guild_only() + @commands.bot_has_permissions(manage_channels=True) + @checks.admin_or_permissions(manage_channels=True) + async def slowmode( + self, + ctx, + *, + interval: commands.TimedeltaConverter( + minimum=timedelta(seconds=0), maximum=timedelta(hours=6) + ) = timedelta(seconds=0), + ): + """Changes channel's slowmode setting. + + Interval can be anything from 0 seconds to 6 hours. + Use without parameters to disable. + """ + seconds = interval.total_seconds() + await ctx.channel.edit(slowmode_delay=seconds) + if seconds > 0: + await ctx.send( + _("Slowmode interval is now {interval}.").format( + interval=humanize_timedelta(timedelta=interval) + ) + ) + else: + await ctx.send(_("Slowmode has been disabled.")) From f894b62bfeba5d73c941cdaf4f412c457b35b0ac Mon Sep 17 00:00:00 2001 From: DevilXD Date: Thu, 30 May 2019 04:36:32 +0200 Subject: [PATCH 013/183] [CustomCom] Fixed KeyError on specific message edge-case (#2739) fixes #2679 --- redbot/cogs/customcom/customcom.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/redbot/cogs/customcom/customcom.py b/redbot/cogs/customcom/customcom.py index a4a0bf005..8d3faae8e 100644 --- a/redbot/cogs/customcom/customcom.py +++ b/redbot/cogs/customcom/customcom.py @@ -84,6 +84,8 @@ class CommandObj: return "{:%d/%m/%Y %H:%M:%S}".format(datetime.utcnow()) async def get(self, message: discord.Message, command: str) -> Tuple[str, Dict]: + if not command: + raise NotFound() ccinfo = await self.db(message.guild).commands.get_raw(command, default=None) if not ccinfo: raise NotFound() From 8ddc5aa63e1f4ab31dc164888b42f5abb2911112 Mon Sep 17 00:00:00 2001 From: DiscordLiz <47602820+DiscordLiz@users.noreply.github.com> Date: Fri, 31 May 2019 05:13:36 -0400 Subject: [PATCH 014/183] [Core] Add commands to manage owner notification destinations. (#2745) --- redbot/core/core_commands.py | 96 ++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index 9fff5c6db..e06ab0341 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -1989,6 +1989,102 @@ class Core(commands.Cog, CoreLogic): else: await ctx.send(_("They are not Immune")) + @checks.is_owner() + @_set.group() + async def ownernotifications(self, ctx: commands.Context): + """ + Commands for configuring owner notifications. + """ + pass + + @ownernotifications.command() + async def optin(self, ctx: commands.Context): + """ + Opt-in on recieving owner notifications. + + This is the default state. + """ + async with ctx.bot.db.owner_opt_out_list() as opt_outs: + if ctx.author.id in opt_outs: + opt_outs.remove(ctx.author.id) + + await ctx.tick() + + @ownernotifications.command() + async def optout(self, ctx: commands.Context): + """ + Opt-out of recieving owner notifications. + """ + async with ctx.bot.db.owner_opt_out_list() as opt_outs: + if ctx.author.id not in opt_outs: + opt_outs.append(ctx.author.id) + + await ctx.tick() + + @ownernotifications.command() + async def adddestination( + self, ctx: commands.Context, *, channel: Union[discord.TextChannel, int] + ): + """ + Adds a destination text channel to recieve owner notifications + """ + + try: + channel_id = channel.id + except AttributeError: + channel_id = channel + + async with ctx.bot.db.extra_owner_destinations() as extras: + if channel_id not in extras: + extras.append(channel_id) + + await ctx.tick() + + @ownernotifications.command(aliases=["remdestination", "deletedestination", "deldestination"]) + async def removedestination( + self, ctx: commands.Context, *, channel: Union[discord.TextChannel, int] + ): + """ + Removes a destination text channel from recieving owner notifications. + """ + + try: + channel_id = channel.id + except AttributeError: + channel_id = channel + + async with ctx.bot.db.extra_owner_destinations() as extras: + if channel_id in extras: + extras.remove(channel_id) + + await ctx.tick() + + @ownernotifications.command() + async def listdestinations(self, ctx: commands.Context): + """ + Lists the configured extra destinations for owner notifications + """ + + channel_ids = await ctx.bot.db.extra_owner_destinations() + + if not channel_ids: + await ctx.send(_("There are no extra channels being sent to.")) + return + + data = [] + + for channel_id in channel_ids: + channel = ctx.bot.get_channel(channel_id) + if channel: + # This includes the channel name in case the user can't see the channel. + data.append(f"{channel.mention} {channel} ({channel.id})") + else: + data.append(_("Unknown channel with id: {id}").format(id=channel_id)) + + output = "\n".join(data) + for page in pagify(output): + await ctx.send(page) + # RPC handlers async def rpc_load(self, request): cog_name = request.params[0] From 1ccc441aab7886d174fce59f5dbd0aa85961c820 Mon Sep 17 00:00:00 2001 From: DiscordLiz <47602820+DiscordLiz@users.noreply.github.com> Date: Fri, 31 May 2019 05:32:26 -0400 Subject: [PATCH 015/183] [Core] Make contact use configured destinations (#2743) * Make contact use configured destinations --- redbot/core/core_commands.py | 103 ++++++++++++++++++++++++----------- 1 file changed, 71 insertions(+), 32 deletions(-) diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index e06ab0341..6221e5dde 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -1335,7 +1335,6 @@ class Core(commands.Cog, CoreLogic): async def contact(self, ctx: commands.Context, *, message: str): """Sends a message to the owner""" guild = ctx.message.guild - owner = discord.utils.get(ctx.bot.get_all_members(), id=ctx.bot.owner_id) author = ctx.message.author footer = _("User ID: {}").format(author.id) @@ -1356,41 +1355,81 @@ class Core(commands.Cog, CoreLogic): description = _("Sent by {} {}").format(author, source) - if isinstance(author, discord.Member): - colour = author.colour - else: - colour = discord.Colour.red() + destinations = await ctx.bot.get_owner_notification_destinations() - if await ctx.embed_requested(): - e = discord.Embed(colour=colour, description=message) - if author.avatar_url: - e.set_author(name=description, icon_url=author.avatar_url) - else: - e.set_author(name=description) - e.set_footer(text=footer) + if not destinations: + await ctx.send(_("I've been configured not to send this anywhere.")) + return - try: - await owner.send(content, embed=e) - except discord.InvalidArgument: - await ctx.send( - _("I cannot send your message, I'm unable to find my owner... *sigh*") - ) - except discord.HTTPException: - await ctx.send(_("I'm unable to deliver your message. Sorry.")) + successful = False + + for destination in destinations: + + is_dm = isinstance(destination, discord.User) + send_embed = None + + if is_dm: + send_embed = await ctx.bot.db.user(destination).embeds() else: - await ctx.send(_("Your message has been sent.")) + if not destination.permissions_for(destination.guild.me).send_messages: + continue + if destination.permissions_for(destination.guild.me).embed_links: + send_embed = await ctx.bot.db.guild(destination.guild).embeds() + else: + send_embed = False + + if send_embed is None: + send_embed = await ctx.bot.db.embeds() + + if send_embed: + + if not is_dm and await self.bot.db.guild(destination.guild).use_bot_color(): + color = destination.guild.me.color + else: + color = ctx.bot.color + + e = discord.Embed(colour=color, description=message) + if author.avatar_url: + e.set_author(name=description, icon_url=author.avatar_url) + else: + e.set_author(name=description) + + e.set_footer(text=footer) + + try: + await destination.send(embed=e) + except discord.Forbidden: + log.exception(f"Contact failed to {destination}({destination.id})") + # Should this automatically opt them out? + except discord.HTTPException: + log.exception( + f"An unexpected error happened while attempting to" + f" send contact to {destination}({destination.id})" + ) + else: + successful = True + + else: + + msg_text = "{}\nMessage:\n\n{}\n{}".format(description, message, footer) + + try: + await destination.send("{}\n{}".format(content, box(msg_text))) + except discord.Forbidden: + log.exception(f"Contact failed to {destination}({destination.id})") + # Should this automatically opt them out? + except discord.HTTPException: + log.exception( + f"An unexpected error happened while attempting to" + f" send contact to {destination}({destination.id})" + ) + else: + successful = True + + if successful: + await ctx.send(_("Your message has been sent.")) else: - msg_text = "{}\nMessage:\n\n{}\n{}".format(description, message, footer) - try: - await owner.send("{}\n{}".format(content, box(msg_text))) - except discord.InvalidArgument: - await ctx.send( - _("I cannot send your message, I'm unable to find my owner... *sigh*") - ) - except discord.HTTPException: - await ctx.send(_("I'm unable to deliver your message. Sorry.")) - else: - await ctx.send(_("Your message has been sent.")) + await ctx.send(_("I'm unable to deliver your message. Sorry.")) @commands.command() @checks.is_owner() From 2cb6e98092bc0230676b579fd0c5c217723814fe Mon Sep 17 00:00:00 2001 From: Matan Kushner Date: Fri, 31 May 2019 11:39:14 +0200 Subject: [PATCH 016/183] =?UTF-8?q?[Readme]=20Anilist=20=E2=86=92=20AniLis?= =?UTF-8?q?t=20(#2747)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bc7b1e5a6..aaf513f80 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,7 @@ plugins directly from Discord! A few examples are: - Casino - Reaction roles - Slow Mode -- Anilist +- AniList - And much, much more! Feel free to take a [peek](https://cogboard.red/t/approved-repositories/210) at a list of From e7b615d92105ded469a1159aaa55b88fc0318264 Mon Sep 17 00:00:00 2001 From: DiscordLiz <47602820+DiscordLiz@users.noreply.github.com> Date: Fri, 31 May 2019 05:54:27 -0400 Subject: [PATCH 017/183] [Commands] Adds support for non interactive use (#2746) Adds assume_yes to context Changes cleanup's 100+ check Changes cog update. --- redbot/cogs/cleanup/cleanup.py | 3 ++ redbot/cogs/downloader/downloader.py | 56 +++++++++++++++------------- redbot/core/commands/context.py | 1 + 3 files changed, 34 insertions(+), 26 deletions(-) diff --git a/redbot/cogs/cleanup/cleanup.py b/redbot/cogs/cleanup/cleanup.py index 60796e314..23a55e0b6 100644 --- a/redbot/cogs/cleanup/cleanup.py +++ b/redbot/cogs/cleanup/cleanup.py @@ -33,6 +33,9 @@ class Cleanup(commands.Cog): Tries its best to cleanup after itself if the response is positive. """ + if ctx.assume_yes: + return True + prompt = await ctx.send( _("Are you sure you want to delete {number} messages? (y/n)").format(number=number) ) diff --git a/redbot/cogs/downloader/downloader.py b/redbot/cogs/downloader/downloader.py index 4350fb6f5..820f791e3 100644 --- a/redbot/cogs/downloader/downloader.py +++ b/redbot/cogs/downloader/downloader.py @@ -424,35 +424,39 @@ class Downloader(commands.Cog): return await ctx.send( _("None of the updated cogs were previously loaded. Update complete.") ) - message = _("Would you like to reload the updated cogs?") - can_react = ctx.channel.permissions_for(ctx.me).add_reactions - if not can_react: - message += " (y/n)" - query: discord.Message = await ctx.send(message) - if can_react: - # noinspection PyAsyncCall - start_adding_reactions(query, ReactionPredicate.YES_OR_NO_EMOJIS, ctx.bot.loop) - pred = ReactionPredicate.yes_or_no(query, ctx.author) - event = "reaction_add" - else: - pred = MessagePredicate.yes_or_no(ctx) - event = "message" - try: - await ctx.bot.wait_for(event, check=pred, timeout=30) - except asyncio.TimeoutError: - await query.delete() - return - if pred.result is True: + if not ctx.assume_yes: + message = _("Would you like to reload the updated cogs?") + can_react = ctx.channel.permissions_for(ctx.me).add_reactions + if not can_react: + message += " (y/n)" + query: discord.Message = await ctx.send(message) if can_react: - with contextlib.suppress(discord.Forbidden): - await query.clear_reactions() - await ctx.invoke(ctx.bot.get_cog("Core").reload, *cognames) - else: - if can_react: - await query.delete() + # noinspection PyAsyncCall + start_adding_reactions(query, ReactionPredicate.YES_OR_NO_EMOJIS, ctx.bot.loop) + pred = ReactionPredicate.yes_or_no(query, ctx.author) + event = "reaction_add" else: - await ctx.send(_("OK then.")) + pred = MessagePredicate.yes_or_no(ctx) + event = "message" + try: + await ctx.bot.wait_for(event, check=pred, timeout=30) + except asyncio.TimeoutError: + await query.delete() + return + + if not pred.result: + if can_react: + await query.delete() + else: + await ctx.send(_("OK then.")) + return + else: + if can_react: + with contextlib.suppress(discord.Forbidden): + await query.clear_reactions() + + await ctx.invoke(ctx.bot.get_cog("Core").reload, *cognames) @cog.command(name="list", usage="") async def _cog_list(self, ctx, repo: Repo): diff --git a/redbot/core/commands/context.py b/redbot/core/commands/context.py index 958c2cdad..32a3a2439 100644 --- a/redbot/core/commands/context.py +++ b/redbot/core/commands/context.py @@ -23,6 +23,7 @@ class Context(commands.Context): """ def __init__(self, **attrs): + self.assume_yes = attrs.pop("assume_yes", False) super().__init__(**attrs) self.permission_state: PermState = PermState.NORMAL From 3ca2a9af286f593aa061bfe47892250ab5462b21 Mon Sep 17 00:00:00 2001 From: Michael H Date: Fri, 31 May 2019 15:37:50 -0400 Subject: [PATCH 018/183] [Help] Fix long cog helps (#2730) * [Help] Fix long cog helps - Why do people thing a category help of over 250 characters is more useful than putting the help in relevent commands?! * toss an MD fix in here too I guess --- redbot/core/commands/help.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/redbot/core/commands/help.py b/redbot/core/commands/help.py index 3f671df7e..eb6fbf49e 100644 --- a/redbot/core/commands/help.py +++ b/redbot/core/commands/help.py @@ -166,7 +166,7 @@ class RedHelpFormatter: if command.help: splitted = command.help.split("\n\n") - name = "__{0}__".format(splitted[0]) + name = splitted[0] value = "\n\n".join(splitted[1:]).replace("[p]", ctx.clean_prefix) if not value: value = EMPTY_STRING @@ -287,7 +287,13 @@ class RedHelpFormatter: emb["footer"]["text"] = tagline if description: - emb["embed"]["title"] = f"*{description[:2044]}*" + splitted = description.split("\n\n") + name = splitted[0] + value = "\n\n".join(splitted[1:]).replace("[p]", ctx.clean_prefix) + if not value: + value = EMPTY_STRING + field = EmbedField(name[:252], value[:1024], False) + emb["fields"].append(field) if coms: From 0e9086ca1fb408a715f9601c60ac1b5819ad74fc Mon Sep 17 00:00:00 2001 From: Michael H Date: Fri, 31 May 2019 15:38:44 -0400 Subject: [PATCH 019/183] [Core] Fix error handling in loading extensions. (#2688) * fixes 2687 * raise the right exception --- redbot/core/bot.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/redbot/core/bot.py b/redbot/core/bot.py index 23f1b6ddd..142f40b5f 100644 --- a/redbot/core/bot.py +++ b/redbot/core/bot.py @@ -261,8 +261,8 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): lib.setup(self) except Exception as e: self._remove_module_references(lib.__name__) - self._call_module_finalizers(lib, key) - raise errors.ExtensionFailed(key, e) from e + self._call_module_finalizers(lib, name) + raise errors.CogLoadError() from e else: self._BotBase__extensions[name] = lib From 33b7652b6232fc77381b8cc25115c502eff1e51a Mon Sep 17 00:00:00 2001 From: Michael H Date: Fri, 31 May 2019 15:41:04 -0400 Subject: [PATCH 020/183] [Help] Detatch menu usage into a task (#2725) * [Help] Detatch menu usage into a task - This resolves #2712 - This is a minor API change. Conceptually, the difference is minor in nature `bot.send_help_for` returns when help has been sent, however this can now be prior to when the help menu (if one is in use) is closed. - This should not be considered breaking as there is and has been a a warning about this file's APIs being still up for unannounced modifications No developers should be currently relying on this behavior. * operator precendence --- redbot/core/commands/help.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/redbot/core/commands/help.py b/redbot/core/commands/help.py index eb6fbf49e..bff76c292 100644 --- a/redbot/core/commands/help.py +++ b/redbot/core/commands/help.py @@ -26,6 +26,7 @@ # Additionally, this gives our users a bit more customization options including by # 3rd party cogs down the road. +import asyncio from collections import namedtuple from typing import Union, List, AsyncIterator, Iterable, cast @@ -555,10 +556,13 @@ class RedHelpFormatter: ) ) else: - if len(pages) > 1: - await menus.menu(ctx, pages, menus.DEFAULT_CONTROLS) - else: - await menus.menu(ctx, pages, {"\N{CROSS MARK}": menus.close_menu}) + # Specifically ensuring the menu's message is sent prior to returning + m = await (ctx.send(embed=pages[0]) if embed else ctx.send(pages[0])) + c = menus.DEFAULT_CONTROLS if len(pages) > 1 else {"\N{CROSS MARK}": menus.close_menu} + # Allow other things to happen during menu timeout/interaction. + asyncio.create_task(menus.menu(ctx, pages, c, message=m)) + # menu needs reactions added manually since we fed it a messsage + menus.start_adding_reactions(m, c.keys()) @commands.command(name="help", hidden=True, i18n=T_) From 2e58922d013c8b8c21bb33f8b56af7bad65e4c05 Mon Sep 17 00:00:00 2001 From: aikaterna <20862007+aikaterna@users.noreply.github.com> Date: Fri, 31 May 2019 13:26:20 -0700 Subject: [PATCH 021/183] [Audio] Lavalink jar bump (#2750) --- redbot/cogs/audio/manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redbot/cogs/audio/manager.py b/redbot/cogs/audio/manager.py index 1e5d30670..63ddfc795 100644 --- a/redbot/cogs/audio/manager.py +++ b/redbot/cogs/audio/manager.py @@ -14,7 +14,7 @@ import aiohttp from redbot.core import data_manager JAR_VERSION = "3.2.0.3" -JAR_BUILD = 772 +JAR_BUILD = 796 LAVALINK_DOWNLOAD_URL = ( f"https://github.com/Cog-Creators/Lavalink-Jars/releases/download/{JAR_VERSION}_{JAR_BUILD}/" f"Lavalink.jar" From e956e6e3209bfa2b79e231e54488d945c1f4f9e7 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 31 May 2019 16:41:23 -0400 Subject: [PATCH 022/183] [Streams] Ignore lack of rerun info where not available (#2748) --- redbot/cogs/streams/streams.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/redbot/cogs/streams/streams.py b/redbot/cogs/streams/streams.py index cd7478f88..83a67f4fc 100644 --- a/redbot/cogs/streams/streams.py +++ b/redbot/cogs/streams/streams.py @@ -547,7 +547,11 @@ class Streams(commands.Cog): for stream in self.streams: with contextlib.suppress(Exception): try: - embed, is_rerun = await stream.is_online() + if stream.__class__.__name__ == "TwitchStream": + embed, is_rerun = await stream.is_online() + else: + embed = await stream.is_online() + is_rerun = False except OfflineStream: if not stream._messages_cache: continue From 652d9fe95047268bf527b6d19f1bcab8c7ea9819 Mon Sep 17 00:00:00 2001 From: Flame442 <34169552+Flame442@users.noreply.github.com> Date: Fri, 31 May 2019 17:58:04 -0400 Subject: [PATCH 023/183] =?UTF-8?q?Update=20version=20number=20to=203.1.2?= =?UTF-8?q?=20=F0=9F=8E=89=20(#2751)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- redbot/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redbot/__init__.py b/redbot/__init__.py index dcc031cac..162ed6ba0 100644 --- a/redbot/__init__.py +++ b/redbot/__init__.py @@ -174,7 +174,7 @@ class VersionInfo: ) -__version__ = "3.1.1" +__version__ = "3.1.2" version_info = VersionInfo.from_str(__version__) # Filter fuzzywuzzy slow sequence matcher warning From 9116cd02e68a17c27615fe190bbcda7138113106 Mon Sep 17 00:00:00 2001 From: Bakersbakebread <29239704+Bakersbakebread@users.noreply.github.com> Date: Sun, 2 Jun 2019 16:57:43 +0100 Subject: [PATCH 024/183] [Core] Pass exceptions on Cog Load to user. (#2754) --- redbot/core/bot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redbot/core/bot.py b/redbot/core/bot.py index 142f40b5f..3db1380ea 100644 --- a/redbot/core/bot.py +++ b/redbot/core/bot.py @@ -262,7 +262,7 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): except Exception as e: self._remove_module_references(lib.__name__) self._call_module_finalizers(lib, name) - raise errors.CogLoadError() from e + raise errors.CogLoadError(e) from e else: self._BotBase__extensions[name] = lib From 16443c8cc0c24cbc5b3dc7de858edb71b9ca6cd3 Mon Sep 17 00:00:00 2001 From: Michael H Date: Sun, 2 Jun 2019 13:42:58 -0400 Subject: [PATCH 025/183] [CI] Improve automated checks (#2702) * same stuff, but with some more spurious error supression * fix issue in permissions found in this * fix a few more spurious errors * fix another issue * semi-spurious error fixes * . * formatting * move this to properly log * distutils import + virtualenv * more fixes --- .pylintrc | 148 +++++++++++++++++++++++++ redbot/cogs/audio/manager.py | 12 +- redbot/cogs/cleanup/cleanup.py | 8 +- redbot/cogs/economy/economy.py | 4 +- redbot/cogs/mod/events.py | 3 +- redbot/cogs/mod/kickban.py | 3 +- redbot/cogs/mod/log.py | 4 - redbot/cogs/mod/movetocore.py | 3 +- redbot/cogs/permissions/permissions.py | 6 +- redbot/cogs/streams/streamtypes.py | 12 +- redbot/core/bot.py | 3 +- redbot/core/commands/requires.py | 14 ++- redbot/core/config.py | 5 +- redbot/core/core_commands.py | 4 +- redbot/core/data_manager.py | 2 +- redbot/core/json_io.py | 2 +- redbot/core/utils/__init__.py | 6 +- redbot/setup.py | 4 +- setup.cfg | 1 + tox.ini | 4 +- 20 files changed, 205 insertions(+), 43 deletions(-) create mode 100644 .pylintrc delete mode 100644 redbot/cogs/mod/log.py diff --git a/.pylintrc b/.pylintrc new file mode 100644 index 000000000..1e870ede1 --- /dev/null +++ b/.pylintrc @@ -0,0 +1,148 @@ +[MASTER] + +# Specify a configuration file. +#rcfile= + +# Add files or directories to the blacklist. They should be base names, not +# paths. +ignore=pytest + +# Pickle collected data for later comparisons. +persistent=no + +# List of plugins (as comma separated values of python modules names) to load, +# usually to register additional checkers. +load-plugins= + +# DO NOT CHANGE THIS VALUE # Use multiple processes to speed up Pylint. +jobs=1 + +# Allow loading of arbitrary C extensions. Extensions are imported into the +# active Python interpreter and may run arbitrary code. +unsafe-load-any-extension=no + +# A comma-separated list of package or module names from where C extensions may +# be loaded. Extensions are loading into the active Python interpreter and may +# run arbitrary code +extension-pkg-whitelist= + +# Allow optimization of some AST trees. This will activate a peephole AST +# optimizer, which will apply various small optimizations. For instance, it can +# be used to obtain the result of joining multiple strings with the addition +# operator. Joining a lot of strings can lead to a maximum recursion error in +# Pylint and this flag can prevent that. It has one side effect, the resulting +# AST will be different than the one from reality. +optimize-ast=no + + +[MESSAGES CONTROL] + +# Only show warnings with the listed confidence levels. Leave empty to show +# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED +confidence= + +# Enable the message, report, category or checker with the given id(s). You can +# either give multiple identifier separated by comma (,) or put this option +# multiple time. See also the "--disable" option for examples. + + +enable=all + +disable=C, # black is enforcing this for us already, incompatibly + W, # unbroaden this to the below specifics later on. + W0107, # uneccessary pass is stylisitc in most places + W0212, # Should likely refactor around protected access warnings later + W1203, # fstrings are too fast to care about enforcing this. + W0612, # unused vars can sometimes indicate an issue, but ... + W1401, # Should probably fix the reason this is disabled (start up screen) + W0511, # Nope, todos are fine for future people to see things to do. + W0613, # Too many places where we need to take unused args do to d.py ... also menus + W0221, # Overriden converters. + W0223, # abstractmethod not defined in mixins is expected + I, # ... + R # While some of these have merit, It's too large a burden to enable this right now. + + +[REPORTS] + +output-format=parseable +files-output=no +reports=no + + +[LOGGING] + +# Logging modules to check that the string format arguments are in logging +# function parameter format +logging-modules=logging + + +[TYPECHECK] + +# Tells whether missing members accessed in mixin class should be ignored. A +# mixin class is detected if its name ends with "mixin" (case insensitive). +ignore-mixin-members=yes + +# TODO: Write a plyint plugin to allow this with these mixin classes +# To use the abstractmethod we know will be defined in the final class. +ignored-classes=redbot.cogs.mod.movetocore.MoveToCore, + redbot.cogs.mod.kickban.KickBanMixin, + redbot.cogs.mod.mutes.MuteMixin, + redbot.cogs.mod.names.ModInfo, + redbot.cogs.mod.settings.ModSettings, + redbot.cogs.mod.events.Events + +ignored-modules=distutils # https://github.com/PyCQA/pylint/issues/73 + + +[VARIABLES] + +# Tells whether we should check for unused import in __init__ files. +init-import=no + +# A regular expression matching the name of dummy variables (i.e. expectedly +# not used). +dummy-variables-rgx=_$|dummy + + +[SIMILARITIES] + +# Minimum lines number of a similarity. +min-similarity-lines=4 + +# Ignore comments when computing similarities. +ignore-comments=yes + +# Ignore docstrings when computing similarities. +ignore-docstrings=yes + +# Ignore imports when computing similarities. +ignore-imports=no + + +[MISCELLANEOUS] + +# List of note tags to take in consideration, separated by a comma. +notes=FIXME,XXX,TODO + + +[CLASSES] + +# List of method names used to declare (i.e. assign) instance attributes. +defining-attr-methods=__init__,__new__,__call__ + +# List of valid names for the first argument in a class method. +valid-classmethod-first-arg=cls + +# List of valid names for the first argument in a metaclass class method. +valid-metaclass-classmethod-first-arg=mcs + +# List of member names, which should be excluded from the protected access +# warning. +exclude-protected= + +[EXCEPTIONS] + +# Exceptions that will emit a warning when being caught. Defaults to +# "Exception" +overgeneral-exceptions=Exception,discord.DiscordException \ No newline at end of file diff --git a/redbot/cogs/audio/manager.py b/redbot/cogs/audio/manager.py index 63ddfc795..c1512513c 100644 --- a/redbot/cogs/audio/manager.py +++ b/redbot/cogs/audio/manager.py @@ -3,7 +3,7 @@ import pathlib import platform import shutil import asyncio -import asyncio.subprocess +import asyncio.subprocess # disables for # https://github.com/PyCQA/pylint/issues/1469 import logging import re import tempfile @@ -42,7 +42,7 @@ class ServerManager: def __init__(self) -> None: self.ready = asyncio.Event() - self._proc: Optional[asyncio.subprocess.Process] = None + self._proc: Optional[asyncio.subprocess.Process] = None # pylint:disable=no-member self._monitor_task: Optional[asyncio.Task] = None self._shutdown: bool = False @@ -67,7 +67,7 @@ class ServerManager: shutil.copyfile(BUNDLED_APP_YML, LAVALINK_APP_YML) args = await self._get_jar_args() - self._proc = await asyncio.subprocess.create_subprocess_exec( + self._proc = await asyncio.subprocess.create_subprocess_exec( # pylint:disable=no-member *args, cwd=str(LAVALINK_DOWNLOAD_DIR), stdout=asyncio.subprocess.PIPE, @@ -117,7 +117,7 @@ class ServerManager: """ This assumes we've already checked that java exists. """ - _proc: asyncio.subprocess.Process = await asyncio.create_subprocess_exec( + _proc: asyncio.subprocess.Process = await asyncio.create_subprocess_exec( # pylint:disable=no-member "java", "-version", stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE ) # java -version outputs to stderr @@ -173,7 +173,7 @@ class ServerManager: await self.start() else: log.critical( - "Your Java is borked. Please find the hs_err_pid{}.log file" + "Your Java is borked. Please find the hs_err_pid%d.log file" " in the Audio data folder and report this issue.", self._proc.pid, ) @@ -222,7 +222,7 @@ class ServerManager: return True args = await cls._get_jar_args() args.append("--version") - _proc = await asyncio.subprocess.create_subprocess_exec( + _proc = await asyncio.subprocess.create_subprocess_exec( # pylint:disable=no-member *args, cwd=str(LAVALINK_DOWNLOAD_DIR), stdout=asyncio.subprocess.PIPE, diff --git a/redbot/cogs/cleanup/cleanup.py b/redbot/cogs/cleanup/cleanup.py index 23a55e0b6..f54d075ee 100644 --- a/redbot/cogs/cleanup/cleanup.py +++ b/redbot/cogs/cleanup/cleanup.py @@ -1,3 +1,4 @@ +import logging import re from datetime import datetime, timedelta from typing import Union, List, Callable, Set @@ -8,12 +9,13 @@ from redbot.core import checks, commands from redbot.core.bot import Red from redbot.core.i18n import Translator, cog_i18n from redbot.core.utils.mod import slow_deletion, mass_purge -from redbot.cogs.mod.log import log from redbot.core.utils.predicates import MessagePredicate from .converters import RawMessageIds _ = Translator("Cleanup", __file__) +log = logging.getLogger("red.cleanup") + @cog_i18n(_) class Cleanup(commands.Cog): @@ -302,13 +304,13 @@ class Cleanup(commands.Cog): author = ctx.author try: mone = await channel.fetch_message(one) - except discord.errors.Notfound: + except discord.errors.NotFound: return await ctx.send( _("Could not find a message with the ID of {id}.".format(id=one)) ) try: mtwo = await channel.fetch_message(two) - except discord.errors.Notfound: + except discord.errors.NotFound: return await ctx.send( _("Could not find a message with the ID of {id}.".format(id=two)) ) diff --git a/redbot/cogs/economy/economy.py b/redbot/cogs/economy/economy.py index fb73d4c24..8626c5bb7 100644 --- a/redbot/cogs/economy/economy.py +++ b/redbot/cogs/economy/economy.py @@ -467,7 +467,9 @@ class Economy(commands.Cog): sign = " " if i == 1: sign = ">" - slot += "{}{} {} {}\n".format(sign, *[c.value for c in row]) + slot += "{}{} {} {}\n".format( + sign, *[c.value for c in row] # pylint: disable=no-member + ) payout = PAYOUTS.get(rows[1]) if not payout: diff --git a/redbot/cogs/mod/events.py b/redbot/cogs/mod/events.py index 24a0d2089..f39362388 100644 --- a/redbot/cogs/mod/events.py +++ b/redbot/cogs/mod/events.py @@ -1,13 +1,14 @@ +import logging from datetime import datetime from collections import defaultdict, deque import discord from redbot.core import i18n, modlog, commands from redbot.core.utils.mod import is_mod_or_superior -from . import log from .abc import MixinMeta _ = i18n.Translator("Mod", __file__) +log = logging.getLogger("red.mod") class Events(MixinMeta): diff --git a/redbot/cogs/mod/kickban.py b/redbot/cogs/mod/kickban.py index 883ca4fec..dc7c9e7da 100644 --- a/redbot/cogs/mod/kickban.py +++ b/redbot/cogs/mod/kickban.py @@ -1,5 +1,6 @@ import asyncio import contextlib +import logging from collections import namedtuple from datetime import datetime, timedelta from typing import cast, Optional, Union @@ -10,8 +11,8 @@ from redbot.core.utils.chat_formatting import pagify from redbot.core.utils.mod import is_allowed_by_hierarchy, get_audit_reason from .abc import MixinMeta from .converters import RawUserIds -from .log import log +log = logging.getLogger("red.mod") _ = i18n.Translator("Mod", __file__) diff --git a/redbot/cogs/mod/log.py b/redbot/cogs/mod/log.py deleted file mode 100644 index 72fe68d9d..000000000 --- a/redbot/cogs/mod/log.py +++ /dev/null @@ -1,4 +0,0 @@ -import logging - - -log = logging.getLogger("red.mod") diff --git a/redbot/cogs/mod/movetocore.py b/redbot/cogs/mod/movetocore.py index 721d15c22..35fae7b1c 100644 --- a/redbot/cogs/mod/movetocore.py +++ b/redbot/cogs/mod/movetocore.py @@ -1,3 +1,4 @@ +import logging import asyncio import contextlib @@ -5,8 +6,8 @@ import discord from redbot.core import commands, checks, i18n from redbot.core.utils.chat_formatting import box from .abc import MixinMeta -from .log import log +log = logging.getLogger("red.mod") _ = i18n.Translator("Mod", __file__) diff --git a/redbot/cogs/permissions/permissions.py b/redbot/cogs/permissions/permissions.py index 271d7b9af..6e14cb650 100644 --- a/redbot/cogs/permissions/permissions.py +++ b/redbot/cogs/permissions/permissions.py @@ -28,6 +28,9 @@ COG = "COG" COMMAND = "COMMAND" GLOBAL = 0 +_OldConfigSchema = Dict[int, Dict[str, Dict[str, Dict[str, Dict[str, List[int]]]]]] +_NewConfigSchema = Dict[str, Dict[int, Dict[str, Dict[int, bool]]]] + # The strings in the schema are constants and should get extracted, but not translated until # runtime. translate = _ @@ -625,9 +628,6 @@ class Permissions(commands.Cog): await self.config.custom(COMMAND).set(new_cmd_rules) await self.config.version.set(__version__) - _OldConfigSchema = Dict[int, Dict[str, Dict[str, Dict[str, Dict[str, List[int]]]]]] - _NewConfigSchema = Dict[str, Dict[int, Dict[str, Dict[int, bool]]]] - @staticmethod def _get_updated_schema( old_config: _OldConfigSchema diff --git a/redbot/cogs/streams/streamtypes.py b/redbot/cogs/streams/streamtypes.py index d0ce0e462..6c6a6c681 100644 --- a/redbot/cogs/streams/streamtypes.py +++ b/redbot/cogs/streams/streamtypes.py @@ -215,7 +215,7 @@ class TwitchStream(Stream): status = "Untitled broadcast" if is_rerun: status += " - Rerun" - embed = discord.Embed(title=status, url=url) + embed = discord.Embed(title=status, url=url, color=0x6441A4) embed.set_author(name=channel["display_name"]) embed.add_field(name="Followers", value=channel["followers"]) embed.add_field(name="Total views", value=channel["views"]) @@ -224,7 +224,6 @@ class TwitchStream(Stream): embed.set_image(url=rnd(data["stream"]["preview"]["medium"])) if channel["game"]: embed.set_footer(text="Playing: " + channel["game"]) - embed.color = 0x6441A4 return embed @@ -260,14 +259,13 @@ class HitboxStream(Stream): livestream = data["livestream"][0] channel = livestream["channel"] url = channel["channel_link"] - embed = discord.Embed(title=livestream["media_status"], url=url) + embed = discord.Embed(title=livestream["media_status"], url=url, color=0x98CB00) embed.set_author(name=livestream["media_name"]) embed.add_field(name="Followers", value=channel["followers"]) embed.set_thumbnail(url=base_url + channel["user_logo"]) if livestream["media_thumbnail"]: embed.set_image(url=rnd(base_url + livestream["media_thumbnail"])) embed.set_footer(text="Playing: " + livestream["category_name"]) - embed.color = 0x98CB00 return embed @@ -310,7 +308,7 @@ class MixerStream(Stream): embed.set_thumbnail(url=default_avatar) if data["thumbnail"]: embed.set_image(url=rnd(data["thumbnail"]["url"])) - embed.color = 0x4C90F3 + embed.color = 0x4C90F3 # pylint: disable=assigning-non-slot if data["type"] is not None: embed.set_footer(text="Playing: " + data["type"]["name"]) return embed @@ -345,13 +343,12 @@ class PicartoStream(Stream): ) url = "https://picarto.tv/" + data["name"] thumbnail = data["thumbnails"]["web"] - embed = discord.Embed(title=data["title"], url=url) + embed = discord.Embed(title=data["title"], url=url, color=0x4C90F3) embed.set_author(name=data["name"]) embed.set_image(url=rnd(thumbnail)) embed.add_field(name="Followers", value=data["followers"]) embed.add_field(name="Total views", value=data["viewers_total"]) embed.set_thumbnail(url=avatar) - embed.color = 0x132332 data["tags"] = ", ".join(data["tags"]) if not data["tags"]: @@ -362,6 +359,5 @@ class PicartoStream(Stream): else: data["adult"] = "" - embed.color = 0x4C90F3 embed.set_footer(text="{adult}Category: {category} | Tags: {tags}".format(**data)) return embed diff --git a/redbot/core/bot.py b/redbot/core/bot.py index 3db1380ea..1c3505d59 100644 --- a/redbot/core/bot.py +++ b/redbot/core/bot.py @@ -27,7 +27,8 @@ def _is_submodule(parent, child): return parent == child or child.startswith(parent + ".") -class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): +# barely spurious warning caused by our intentional shadowing +class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: disable=no-member """Mixin for the main bot class. This exists because `Red` inherits from `discord.AutoShardedClient`, which diff --git a/redbot/core/commands/requires.py b/redbot/core/commands/requires.py index d2798ccee..668c071f3 100644 --- a/redbot/core/commands/requires.py +++ b/redbot/core/commands/requires.py @@ -704,29 +704,35 @@ def mod(): class _IntKeyDict(Dict[int, _T]): """Dict subclass which throws KeyError when a non-int key is used.""" + get: Callable + setdefault: Callable + def __getitem__(self, key: Any) -> _T: if not isinstance(key, int): raise TypeError("Keys must be of type `int`") - return super().__getitem__(key) + return super().__getitem__(key) # pylint: disable=no-member def __setitem__(self, key: Any, value: _T) -> None: if not isinstance(key, int): raise TypeError("Keys must be of type `int`") - return super().__setitem__(key, value) + return super().__setitem__(key, value) # pylint: disable=no-member class _RulesDict(Dict[Union[int, str], PermState]): """Dict subclass which throws a KeyError when an invalid key is used.""" + get: Callable + setdefault: Callable + def __getitem__(self, key: Any) -> PermState: if key != Requires.DEFAULT and not isinstance(key, int): raise TypeError(f'Expected "{Requires.DEFAULT}" or int key, not "{key}"') - return super().__getitem__(key) + return super().__getitem__(key) # pylint: disable=no-member def __setitem__(self, key: Any, value: PermState) -> None: if key != Requires.DEFAULT and not isinstance(key, int): raise TypeError(f'Expected "{Requires.DEFAULT}" or int key, not "{key}"') - return super().__setitem__(key, value) + return super().__setitem__(key, value) # pylint: disable=no-member def _validate_perms_dict(perms: Dict[str, bool]) -> None: diff --git a/redbot/core/config.py b/redbot/core/config.py index 30bf50252..43f49a377 100644 --- a/redbot/core/config.py +++ b/redbot/core/config.py @@ -30,7 +30,7 @@ def get_latest_confs() -> Tuple["Config"]: return tuple(ret) -class _ValueCtxManager(Awaitable[_T], AsyncContextManager[_T]): +class _ValueCtxManager(Awaitable[_T], AsyncContextManager[_T]): # pylint: disable=duplicate-bases """Context manager implementation of config values. This class allows mutable config values to be both "get" and "set" from @@ -1135,7 +1135,8 @@ class Config: ) group = Group(identifier_data, defaults={}, driver=self.driver) else: - group = self._get_base_group(*scopes) + cat, *scopes = scopes + group = self._get_base_group(cat, *scopes) await group.clear() async def clear_all(self): diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index 6221e5dde..38262fe99 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -963,13 +963,13 @@ class Core(commands.Cog, CoreLogic): "message", check=MessagePredicate.same_context(ctx), timeout=60 ) except asyncio.TimeoutError: - self.owner.reset_cooldown(ctx) + ctx.command.reset_cooldown(ctx) await ctx.send( _("The `{prefix}set owner` request has timed out.").format(prefix=ctx.prefix) ) else: if message.content.strip() == token: - self.owner.reset_cooldown(ctx) + ctx.command.reset_cooldown(ctx) await ctx.bot.db.owner.set(ctx.author.id) ctx.bot.owner_id = ctx.author.id await ctx.send(_("You have been set as owner.")) diff --git a/redbot/core/data_manager.py b/redbot/core/data_manager.py index cc2bd3263..0e0b58fdb 100644 --- a/redbot/core/data_manager.py +++ b/redbot/core/data_manager.py @@ -35,7 +35,7 @@ basic_config_default = {"DATA_PATH": None, "COG_PATH_APPEND": "cogs", "CORE_PATH config_dir = None appdir = appdirs.AppDirs("Red-DiscordBot") if sys.platform == "linux": - if 0 < os.getuid() < 1000: + if 0 < os.getuid() < 1000: # pylint: disable=no-member config_dir = Path(appdir.site_data_dir) if not config_dir: config_dir = Path(appdir.user_config_dir) diff --git a/redbot/core/json_io.py b/redbot/core/json_io.py index 08cf5c4d5..d209a1ad9 100644 --- a/redbot/core/json_io.py +++ b/redbot/core/json_io.py @@ -57,7 +57,7 @@ class JsonIO: tmp_path.replace(self.path) - # pylint: disable=E1101 + # pylint: disable=no-member try: fd = os.open(self.path.parent, os.O_DIRECTORY) os.fsync(fd) diff --git a/redbot/core/utils/__init__.py b/redbot/core/utils/__init__.py index eee5448f4..dc4d2fa8a 100644 --- a/redbot/core/utils/__init__.py +++ b/redbot/core/utils/__init__.py @@ -69,7 +69,8 @@ def safe_delete(pth: Path): shutil.rmtree(str(pth), ignore_errors=True) -class AsyncFilter(AsyncIterator[_T], Awaitable[List[_T]]): +# https://github.com/PyCQA/pylint/issues/2717 +class AsyncFilter(AsyncIterator[_T], Awaitable[List[_T]]): # pylint: disable=duplicate-bases """Class returned by `async_filter`. See that function for details. We don't recommend instantiating this class directly. @@ -112,6 +113,9 @@ class AsyncFilter(AsyncIterator[_T], Awaitable[List[_T]]): async def __flatten(self) -> List[_T]: return [item async for item in self] + def __aiter__(self): + return self + def __await__(self): # Simply return the generator filled into a list return self.__flatten().__await__() diff --git a/redbot/setup.py b/redbot/setup.py index 3814e8b5d..61a3b834d 100644 --- a/redbot/setup.py +++ b/redbot/setup.py @@ -34,7 +34,7 @@ conversion_log = logging.getLogger("red.converter") config_dir = None appdir = appdirs.AppDirs("Red-DiscordBot") if sys.platform == "linux": - if 0 < os.getuid() < 1000: + if 0 < os.getuid() < 1000: # pylint: disable=no-member # Non-exist on win config_dir = Path(appdir.site_data_dir) if not config_dir: config_dir = Path(appdir.user_config_dir) @@ -524,7 +524,7 @@ def convert(instance, backend): if __name__ == "__main__": try: - cli() + cli() # pylint: disable=no-value-for-parameter # click except KeyboardInterrupt: print("Exiting...") else: diff --git a/setup.cfg b/setup.cfg index a65267f9b..3f6ceff49 100644 --- a/setup.cfg +++ b/setup.cfg @@ -84,6 +84,7 @@ test = pytest==4.2.0 pytest-asyncio==0.10.0 six==1.12.0 + pylint==2.3.1 [options.entry_points] console_scripts = diff --git a/tox.ini b/tox.ini index 0d429449a..c61cb7091 100644 --- a/tox.ini +++ b/tox.ini @@ -11,13 +11,15 @@ envlist = skip_missing_interpreters = True [testenv] -description = Run unit tests with pytest +description = Run tests and basic automatic issue checking. whitelist_externals = pytest + pylint extras = voice, test, mongo commands = python -m compileall ./redbot/cogs pytest + pylint ./redbot [testenv:docs] description = Attempt to build docs with sphinx-build From c2195ec576ba3bcbcc6b6a978ddc3600820b3651 Mon Sep 17 00:00:00 2001 From: aikaterna <20862007+aikaterna@users.noreply.github.com> Date: Sun, 2 Jun 2019 15:55:44 -0700 Subject: [PATCH 026/183] [Audio] Add bot permission checks (#2756) --- redbot/cogs/audio/audio.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/redbot/cogs/audio/audio.py b/redbot/cogs/audio/audio.py index 3c61993b3..f221debd1 100644 --- a/redbot/cogs/audio/audio.py +++ b/redbot/cogs/audio/audio.py @@ -304,6 +304,7 @@ class Audio(commands.Cog): @commands.group() @commands.guild_only() + @commands.bot_has_permissions(embed_links=True) async def audioset(self, ctx): """Music configuration options.""" pass @@ -666,6 +667,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() + @commands.bot_has_permissions(embed_links=True, add_reactions=True) async def audiostats(self, ctx): """Audio stats.""" server_num = len(lavalink.active_players()) @@ -718,6 +720,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() + @commands.bot_has_permissions(embed_links=True) async def bump(self, ctx, index: int): """Bump a track number to the top of the queue.""" dj_enabled = await self.config.guild(ctx.guild).dj_enabled() @@ -755,6 +758,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() + @commands.bot_has_permissions(embed_links=True) async def disconnect(self, ctx): """Disconnect from the voice channel.""" dj_enabled = await self.config.guild(ctx.guild).dj_enabled() @@ -773,6 +777,7 @@ class Audio(commands.Cog): @commands.group() @commands.guild_only() + @commands.bot_has_permissions(embed_links=True, add_reactions=True) async def local(self, ctx): """Local playback commands.""" pass @@ -947,6 +952,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() + @commands.bot_has_permissions(embed_links=True, add_reactions=True) async def now(self, ctx): """Now playing.""" if not self._player_check(ctx): @@ -1036,6 +1042,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() + @commands.bot_has_permissions(embed_links=True) async def pause(self, ctx): """Pause or resume a playing track.""" dj_enabled = await self.config.guild(ctx.guild).dj_enabled() @@ -1084,6 +1091,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() + @commands.bot_has_permissions(embed_links=True) async def percent(self, ctx): """Queue percentage.""" if not self._player_check(ctx): @@ -1140,6 +1148,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() + @commands.bot_has_permissions(embed_links=True) async def play(self, ctx, *, query): """Play a URL or search for a track.""" @@ -1520,6 +1529,7 @@ class Audio(commands.Cog): @commands.group() @commands.guild_only() + @commands.bot_has_permissions(embed_links=True) async def playlist(self, ctx): """Playlist configuration options.""" pass @@ -1687,6 +1697,7 @@ class Audio(commands.Cog): @checks.is_owner() @playlist.command(name="download") + @commands.bot_has_permissions(attach_files=True) async def _playlist_download(self, ctx, playlist_name, v2=False): """Download a copy of a playlist. @@ -1773,6 +1784,7 @@ class Audio(commands.Cog): await menu(ctx, page_list, DEFAULT_CONTROLS) @playlist.command(name="list") + @commands.bot_has_permissions(add_reactions=True) async def _playlist_list(self, ctx): """List saved playlists.""" playlists = await self.config.guild(ctx.guild).playlists.get_raw() @@ -2163,6 +2175,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() + @commands.bot_has_permissions(embed_links=True) async def prev(self, ctx): """Skip to the start of the previously played track.""" if not self._player_check(ctx): @@ -2208,6 +2221,7 @@ class Audio(commands.Cog): @commands.group(invoke_without_command=True) @commands.guild_only() + @commands.bot_has_permissions(embed_links=True, add_reactions=True) async def queue(self, ctx, *, page="1"): """List the queue. @@ -2447,6 +2461,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() + @commands.bot_has_permissions(embed_links=True) async def repeat(self, ctx): """Toggle repeat.""" dj_enabled = await self.config.guild(ctx.guild).dj_enabled() @@ -2473,6 +2488,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() + @commands.bot_has_permissions(embed_links=True) async def remove(self, ctx, index: int): """Remove a specific track number from the queue.""" dj_enabled = await self.config.guild(ctx.guild).dj_enabled() @@ -2509,6 +2525,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() + @commands.bot_has_permissions(embed_links=True, add_reactions=True) async def search(self, ctx, *, query): """Pick a track with a search. @@ -2795,6 +2812,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() + @commands.bot_has_permissions(embed_links=True) async def seek(self, ctx, seconds): """Seek ahead or behind on a track by seconds or a to a specific time. @@ -2860,6 +2878,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() + @commands.bot_has_permissions(embed_links=True) async def shuffle(self, ctx): """Toggle shuffle.""" dj_enabled = await self.config.guild(ctx.guild).dj_enabled() @@ -2884,6 +2903,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() + @commands.bot_has_permissions(embed_links=True) async def sing(self, ctx): """Make Red sing one of her songs""" ids = ( @@ -2899,6 +2919,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() + @commands.bot_has_permissions(embed_links=True) async def skip(self, ctx, skip_to_track: int = None): """Skip to the next track, or to a given track number.""" if not self._player_check(ctx): @@ -3093,6 +3114,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() + @commands.bot_has_permissions(embed_links=True) async def stop(self, ctx): """Stop playback and clear the queue.""" dj_enabled = await self.config.guild(ctx.guild).dj_enabled() @@ -3126,6 +3148,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() + @commands.bot_has_permissions(embed_links=True) async def volume(self, ctx, vol: int = None): """Set the volume, 1% - 150%.""" dj_enabled = await self.config.guild(ctx.guild).dj_enabled() @@ -3172,6 +3195,7 @@ class Audio(commands.Cog): @commands.group(aliases=["llset"]) @commands.guild_only() + @commands.bot_has_permissions(embed_links=True) @checks.is_owner() async def llsetup(self, ctx): """Lavalink server configuration options.""" From da405113061b2bf9f8c5d09fe18d66a4b2da0347 Mon Sep 17 00:00:00 2001 From: aikaterna <20862007+aikaterna@users.noreply.github.com> Date: Sun, 2 Jun 2019 15:56:41 -0700 Subject: [PATCH 027/183] [Audio] Remove blacklisted architectures (#2755) --- redbot/cogs/audio/manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redbot/cogs/audio/manager.py b/redbot/cogs/audio/manager.py index c1512513c..c5e7ba886 100644 --- a/redbot/cogs/audio/manager.py +++ b/redbot/cogs/audio/manager.py @@ -37,7 +37,7 @@ class ServerManager: _java_version: ClassVar[Optional[Tuple[int, int]]] = None _up_to_date: ClassVar[Optional[bool]] = None - _blacklisted_archs = ["armv6l", "aarch32", "aarch64"] + _blacklisted_archs = [] def __init__(self) -> None: self.ready = asyncio.Event() From 463d8d63067b19b2a5d33143b5f68df3052e3a2b Mon Sep 17 00:00:00 2001 From: DevilXD Date: Mon, 3 Jun 2019 13:46:55 +0200 Subject: [PATCH 028/183] [Commands] Added optional default_unit to the TimedeltaConverter (#2753) * Added default_unit to the TimedeltaConverter * Fixed a possible converter crash * Updated get_timedelta_converter to incorporate the new kwarg --- redbot/core/commands/converter.py | 33 +++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/redbot/core/commands/converter.py b/redbot/core/commands/converter.py index 3c915f611..26cd67fa1 100644 --- a/redbot/core/commands/converter.py +++ b/redbot/core/commands/converter.py @@ -94,13 +94,13 @@ def parse_timedelta( if maximum and maximum < delta: raise BadArgument( _( - "This amount of time is too large for this command. (maximum: {maximum})" + "This amount of time is too large for this command. (Maximum: {maximum})" ).format(maximum=humanize_timedelta(timedelta=maximum)) ) if minimum and delta < minimum: raise BadArgument( _( - "This amount of time is too small for this command. (minimum: {minimum})" + "This amount of time is too small for this command. (Minimum: {minimum})" ).format(minimum=humanize_timedelta(timedelta=minimum)) ) return delta @@ -224,18 +224,29 @@ class TimedeltaConverter(dpy_commands.Converter): allowed_units : Optional[List[str]] If provided, you can constrain a user to expressing the amount of time in specific units. The units you can chose to provide are the same as the - parser understands. `weeks` `days` `hours` `minutes` `seconds` + parser understands: `weeks` `days` `hours` `minutes` `seconds` + default_unit : Optional[str] + If provided, it will additionally try to match integer-only input into + a timedelta, using the unit specified. Same units as in `allowed_units` + apply. """ - def __init__(self, *, minimum=None, maximum=None, allowed_units=None): + def __init__(self, *, minimum=None, maximum=None, allowed_units=None, default_unit=None): self.allowed_units = allowed_units + self.default_unit = default_unit self.minimum = minimum self.maximum = maximum async def convert(self, ctx: "Context", argument: str) -> timedelta: - delta = parse_timedelta( - argument, minimum=self.minimum, maximum=self.maximum, allowed_units=self.allowed_units - ) + if self.default_unit and argument.isdecimal(): + delta = timedelta(**{self.default_unit: int(argument)}) + else: + delta = parse_timedelta( + argument, + minimum=self.minimum, + maximum=self.maximum, + allowed_units=self.allowed_units, + ) if delta is not None: return delta raise BadArgument() # This allows this to be a required argument. @@ -243,6 +254,7 @@ class TimedeltaConverter(dpy_commands.Converter): def get_timedelta_converter( *, + default_unit: Optional[str] = None, maximum: Optional[timedelta] = None, minimum: Optional[timedelta] = None, allowed_units: Optional[List[str]] = None, @@ -262,7 +274,11 @@ def get_timedelta_converter( allowed_units : Optional[List[str]] If provided, you can constrain a user to expressing the amount of time in specific units. The units you can chose to provide are the same as the - parser understands. `weeks` `days` `hours` `minutes` `seconds` + parser understands: `weeks` `days` `hours` `minutes` `seconds` + default_unit : Optional[str] + If provided, it will additionally try to match integer-only input into + a timedelta, using the unit specified. Same units as in `allowed_units` + apply. Returns ------- @@ -274,6 +290,7 @@ def get_timedelta_converter( __call__ = functools.partialmethod( type(DictConverter).__call__, allowed_units=allowed_units, + default_unit=default_unit, minimum=minimum, maximum=maximum, ) From 61b5730c48ece2352b81fe59aec1b1ea64f9bcd2 Mon Sep 17 00:00:00 2001 From: El Laggron Date: Mon, 3 Jun 2019 17:46:13 +0200 Subject: [PATCH 029/183] [V3 Core] More features for the bot invite URL (#1847) * Add inviteset group command * Fix errors * Fix line break * Remove user bot support * Fix docstrings line breaks * Remove embed specific formatting * Remove invite redirect * Add self argument to _can_get_invite_url * Remove unused import * fix errors related to classes + double help * Removed self bot support --- redbot/core/bot.py | 2 ++ redbot/core/core_commands.py | 68 ++++++++++++++++++++++++++++++++++-- 2 files changed, 67 insertions(+), 3 deletions(-) diff --git a/redbot/core/bot.py b/redbot/core/bot.py index 1c3505d59..531e48d22 100644 --- a/redbot/core/bot.py +++ b/redbot/core/bot.py @@ -60,6 +60,8 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d help__verify_checks=True, help__verify_exists=False, help__tagline="", + invite_public=False, + invite_perm=0, disabled_commands=[], disabled_command_msg="That command is disabled.", api_tokens={}, diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index 38262fe99..1657f219e 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -265,7 +265,15 @@ class CoreLogic: Invite URL. """ app_info = await self.bot.application_info() - return discord.utils.oauth_url(app_info.id) + perms_int = await self.bot.db.invite_perm() + permissions = discord.Permissions(perms_int) + return discord.utils.oauth_url(app_info.id, permissions) + + @staticmethod + async def _can_get_invite_url(ctx): + is_owner = await ctx.bot.is_owner(ctx.author) + is_invite_public = await ctx.bot.db.invite_public() + return is_owner or is_invite_public @i18n.cog_i18n(_) @@ -441,11 +449,65 @@ class Core(commands.Cog, CoreLogic): await ctx.send(_("No exception has occurred yet")) @commands.command() - @checks.is_owner() - async def invite(self, ctx: commands.Context): + @commands.check(CoreLogic._can_get_invite_url) + async def invite(self, ctx): """Show's Red's invite url""" await ctx.author.send(await self._invite_url()) + @commands.group() + @checks.is_owner() + async def inviteset(self, ctx): + """Setup the bot's invite""" + pass + + @inviteset.command() + async def public(self, ctx, confirm: bool = False): + """ + Define if the command should be accessible\ + for the average users. + """ + if await self.bot.db.invite_public(): + await self.bot.db.invite_public.set(False) + await ctx.send("The invite is now private.") + return + app_info = await self.bot.application_info() + if not app_info.bot_public: + await ctx.send( + "I am not a public bot. That means that nobody except " + "you can invite me on new servers.\n\n" + "You can change this by ticking `Public bot` in " + "your token settings: " + "https://discordapp.com/developers/applications/me/{0}".format(self.bot.user.id) + ) + return + if not confirm: + await ctx.send( + "You're about to make the `{0}invite` command public. " + "All users will be able to invite me on their server.\n\n" + "If you agree, you can type `{0}inviteset public yes`.".format(ctx.prefix) + ) + else: + await self.bot.db.invite_public.set(True) + await ctx.send("The invite command is now public.") + + @inviteset.command() + async def perms(self, ctx, level: int): + """ + Make the bot create its own role with permissions on join. + + The bot will create its own role with the desired permissions\ + when he join a new server. This is a special role that can't be\ + deleted or removed from the bot. + + For that, you need to give a valid permissions level. + You can generate one here: https://discordapi.com/permissions.html + + Please note that you might need the two factor authentification for\ + some permissions. + """ + await self.bot.db.invite_perm.set(level) + await ctx.send("The new permissions level has been set.") + @commands.command() @commands.guild_only() @checks.is_owner() From 682ee1a459aa8eb21dd256508c7f262c12cbaf65 Mon Sep 17 00:00:00 2001 From: Michael H Date: Tue, 4 Jun 2019 14:21:30 -0400 Subject: [PATCH 030/183] [Docs] Fixes the docs for `commands.Command.error` (#2760) * docfix * inline code for sphinx, not a ref --- redbot/core/commands/commands.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/redbot/core/commands/commands.py b/redbot/core/commands/commands.py index 17cc4b0a0..e4a2cd2d6 100644 --- a/redbot/core/commands/commands.py +++ b/redbot/core/commands/commands.py @@ -420,6 +420,10 @@ class Command(CogCommandMixin, commands.Command): To have red handle specific errors with the default behavior, call ``Red.on_command_error`` with ``unhandled_by_cog`` set to True. + Due to how discord.py wraps exceptions, the exception you are expecting here + is likely in ``error.original`` despite that the normal event handler for bot + wide command error handling has no such wrapping. + For example: .. code-block:: python @@ -427,10 +431,10 @@ class Command(CogCommandMixin, commands.Command): @a_command.error async def a_command_error_handler(self, ctx, error): - if isisntance(error, MyErrrorType): - self.log_exception(error) + if isinstance(error.original, MyErrrorType): + self.log_exception(error.original) else: - await ctx.bot.on_command_error(ctx, error, unhandled_by_cog=True) + await ctx.bot.on_command_error(ctx, error.original, unhandled_by_cog=True) Parameters ----------- From d133598d80a6ba5f41505e946d81bb0ad41823e1 Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Sun, 9 Jun 2019 16:04:13 +1000 Subject: [PATCH 031/183] [Audio] Fix OSErrors on mixed-filesystem environments (#2765) Resolves the issue outlined [here](https://github.com/Cog-Creators/Red-DiscordBot/issues/2682#issuecomment-500185495). Signed-off-by: Toby Harradine --- redbot/cogs/audio/manager.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/redbot/cogs/audio/manager.py b/redbot/cogs/audio/manager.py index c5e7ba886..3c9b7a501 100644 --- a/redbot/cogs/audio/manager.py +++ b/redbot/cogs/audio/manager.py @@ -213,7 +213,8 @@ class ServerManager: file.flush() finally: file.close() - pathlib.Path(path).replace(LAVALINK_JAR_FILE) + + shutil.move(path, str(LAVALINK_JAR_FILE), copy_function=shutil.copyfile) @classmethod async def _is_up_to_date(cls): From cc927248f00028865b59858e503d140621b70f03 Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Thu, 13 Jun 2019 08:27:47 +1000 Subject: [PATCH 032/183] Revert custom `Bot.process_commands` behaviour (#2768) This still preserves the new event, which was a welcome change. However, context still needs to be invoked when a command isn't found, so `on_command_error` can still catch `commands.CommandNotFound`. Fixes broken fuzzy help. Signed-off-by: Toby Harradine --- redbot/core/bot.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/redbot/core/bot.py b/redbot/core/bot.py index 531e48d22..a0d8cc586 100644 --- a/redbot/core/bot.py +++ b/redbot/core/bot.py @@ -215,18 +215,19 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d async def process_commands(self, message: discord.Message): """ - modification from the base to do the same thing in the command case - - but dispatch an additional event for cogs which want to handle normal messages - differently to command messages, - without the overhead of additional get_context calls per cog + Same as base method, but dispatches an additional event for cogs + which want to handle normal messages differently to command + messages, without the overhead of additional get_context calls + per cog. """ if not message.author.bot: ctx = await self.get_context(message) - if ctx.valid: - return await self.invoke(ctx) + await self.invoke(ctx) + else: + ctx = None - self.dispatch("message_without_command", message) + if ctx is None or ctx.valid is False: + self.dispatch("message_without_command", message) @staticmethod def list_packages(): From 804d6eecea5682de2c15cde257f17a197aba958d Mon Sep 17 00:00:00 2001 From: DiscordLiz <47602820+DiscordLiz@users.noreply.github.com> Date: Tue, 18 Jun 2019 21:25:49 -0400 Subject: [PATCH 033/183] [Core] Fix DictConverterer error handling format (#2776) --- redbot/core/commands/converter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redbot/core/commands/converter.py b/redbot/core/commands/converter.py index 26cd67fa1..bb5ce669d 100644 --- a/redbot/core/commands/converter.py +++ b/redbot/core/commands/converter.py @@ -184,7 +184,7 @@ class DictConverter(dpy_commands.Converter): for key in iterator: if self.expected_keys and key not in self.expected_keys: - raise BadArgument(_("Unexpected key {key}").format(key)) + raise BadArgument(_("Unexpected key {key}").format(key=key)) ret[key] = next(iterator) From 9d008d587a95c36921d16f2f9b7eac98bacc0896 Mon Sep 17 00:00:00 2001 From: Neuro Assassin <42872277+NeuroAssassin@users.noreply.github.com> Date: Tue, 18 Jun 2019 21:35:56 -0400 Subject: [PATCH 034/183] [V3 Core] Add checks to [p]command (#2770) * Add checks to [p]command * Change to privilege level --- redbot/core/core_commands.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index 1657f219e..bdbaf2f08 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -35,6 +35,8 @@ from redbot.core import ( from .utils.predicates import MessagePredicate from .utils.chat_formatting import humanize_timedelta, pagify, box, inline +from .commands.requires import PrivilegeLevel + if TYPE_CHECKING: from redbot.core.bot import Red @@ -1912,6 +1914,12 @@ class Core(commands.Cog, CoreLogic): ) return + if self.command_manager in command_obj.parents or self.command_manager == command_obj: + await ctx.send( + _("The command to disable cannot be `command` or any of its subcommands.") + ) + return + async with ctx.bot.db.disabled_commands() as disabled_commands: if command not in disabled_commands: disabled_commands.append(command_obj.qualified_name) @@ -1934,6 +1942,16 @@ class Core(commands.Cog, CoreLogic): ) return + if self.command_manager in command_obj.parents or self.command_manager == command_obj: + await ctx.send( + _("The command to disable cannot be `command` or any of its subcommands.") + ) + return + + if command_obj.requires.privilege_level > await PrivilegeLevel.from_ctx(ctx): + await ctx.send(_("You are not allowed to disable that command.")) + return + async with ctx.bot.db.guild(ctx.guild).disabled_commands() as disabled_commands: if command not in disabled_commands: disabled_commands.append(command_obj.qualified_name) @@ -1990,6 +2008,10 @@ class Core(commands.Cog, CoreLogic): ) return + if command_obj.requires.privilege_level > await PrivilegeLevel.from_ctx(ctx): + await ctx.send(_("You are not allowed to enable that command.")) + return + async with ctx.bot.db.guild(ctx.guild).disabled_commands() as disabled_commands: with contextlib.suppress(ValueError): disabled_commands.remove(command_obj.qualified_name) From 57d5c0870a2c704c8225af6c901bcda58c9a30bb Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Wed, 19 Jun 2019 14:40:25 +0200 Subject: [PATCH 035/183] style(modlog): Phrase information about `reason` command better (#2777) --- redbot/core/modlog.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redbot/core/modlog.py b/redbot/core/modlog.py index 2c42007fc..9b95e2abe 100644 --- a/redbot/core/modlog.py +++ b/redbot/core/modlog.py @@ -116,7 +116,7 @@ class Case: if self.reason: reason = "**Reason:** {}".format(self.reason) else: - reason = "**Reason:** Use `[p]reason {} ` to add it".format(self.case_number) + reason = "**Reason:** Use the `reason` command to add it" if self.moderator is not None: moderator = escape_spoilers( From beb16b81a93926ba152ba11fac4da34a3e7a2f61 Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Sat, 22 Jun 2019 03:24:24 +0200 Subject: [PATCH 036/183] docs(config): wrong code example in `Value.__call__` (#2780) fix #2775 --- redbot/core/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redbot/core/config.py b/redbot/core/config.py index 43f49a377..7abf8957e 100644 --- a/redbot/core/config.py +++ b/redbot/core/config.py @@ -119,7 +119,7 @@ class Value: # Is equivalent to this group_obj = conf.guild(some_guild) - value_obj = conf.foo + value_obj = group_obj.foo foo = await value_obj() .. important:: From e854716236e063588083f263f6ab50b472e6cb72 Mon Sep 17 00:00:00 2001 From: aikaterna <20862007+aikaterna@users.noreply.github.com> Date: Fri, 21 Jun 2019 19:19:57 -0700 Subject: [PATCH 037/183] [Audio] Fix for escape character prefixes (#2789) --- redbot/cogs/audio/audio.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/redbot/cogs/audio/audio.py b/redbot/cogs/audio/audio.py index f221debd1..828d069a0 100644 --- a/redbot/cogs/audio/audio.py +++ b/redbot/cogs/audio/audio.py @@ -1630,7 +1630,7 @@ class Audio(commands.Cog): playlist_name_msg = await ctx.bot.wait_for( "message", timeout=15.0, - check=MessagePredicate.regex(fr"^(?!{ctx.prefix})", ctx), + check=MessagePredicate.regex(fr"^(?!{re.escape(ctx.prefix)})", ctx), ) new_playlist_name = playlist_name_msg.content.split(" ")[0].strip('"') if len(new_playlist_name) > 20: @@ -1868,7 +1868,7 @@ class Audio(commands.Cog): playlist_name_msg = await ctx.bot.wait_for( "message", timeout=15.0, - check=MessagePredicate.regex(fr"^(?!{ctx.prefix})", ctx), + check=MessagePredicate.regex(fr"^(?!{re.escape(ctx.prefix)})", ctx), ) playlist_name = playlist_name_msg.content.split(" ")[0].strip('"') if len(playlist_name) > 20: From 3c66c602f6a92e74ec214fbedaf0a500d6009ce9 Mon Sep 17 00:00:00 2001 From: MeatyChunks <6160351+MeatyChunks@users.noreply.github.com> Date: Sat, 22 Jun 2019 06:41:11 +0100 Subject: [PATCH 038/183] [Help] Prevent spamming when a user blocks the bot (#2790) Currently the bot sends an error message for each page of help, this should make it only send once. --- redbot/core/commands/help.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/redbot/core/commands/help.py b/redbot/core/commands/help.py index bff76c292..615cd8e03 100644 --- a/redbot/core/commands/help.py +++ b/redbot/core/commands/help.py @@ -538,7 +538,7 @@ class RedHelpFormatter: try: await destination.send(embed=page) except discord.Forbidden: - await ctx.send( + return await ctx.send( T_( "I couldn't send the help message to you in DM. " "Either you blocked me or you disabled DMs in this server." @@ -549,7 +549,7 @@ class RedHelpFormatter: try: await destination.send(page) except discord.Forbidden: - await ctx.send( + return await ctx.send( T_( "I couldn't send the help message to you in DM. " "Either you blocked me or you disabled DMs in this server." From 0bf54fae520fbf083d19c64f067787e986ec087e Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Sun, 23 Jun 2019 05:33:27 +0200 Subject: [PATCH 039/183] [Admin] Convert set to list because set is not JSON serializable (#2792) --- redbot/cogs/admin/admin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redbot/cogs/admin/admin.py b/redbot/cogs/admin/admin.py index 4bbc28557..1330fb4fe 100644 --- a/redbot/cogs/admin/admin.py +++ b/redbot/cogs/admin/admin.py @@ -315,7 +315,7 @@ class Admin(commands.Cog): valid_role_ids = set(r.id for r in valid_roles) if selfrole_ids != valid_role_ids: - await self.conf.guild(guild).selfroles.set(valid_role_ids) + await self.conf.guild(guild).selfroles.set(list(valid_role_ids)) # noinspection PyTypeChecker return valid_roles From ff894ecbe732150326c86a1f289518831b78b142 Mon Sep 17 00:00:00 2001 From: DevilXD Date: Sun, 23 Jun 2019 05:55:48 +0200 Subject: [PATCH 040/183] [Docs] Add warning about PATH on Windows (#2791) --- docs/install_windows.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/install_windows.rst b/docs/install_windows.rst index d913cdb48..f36753f70 100644 --- a/docs/install_windows.rst +++ b/docs/install_windows.rst @@ -37,15 +37,15 @@ Manually installing dependencies * `Python `_ - Red needs Python 3.7.0 or greater .. note:: Please make sure that the box to add Python to PATH is CHECKED, otherwise - you may run into issues when trying to run Red + you may run into issues when trying to run Red. * `Git `_ -.. attention:: Please choose the option to "Run Git from the Windows Command Prompt" in Git's setup +.. attention:: Please choose the option to "Run Git from the Windows Command Prompt" in Git's setup. * `Java `_ - needed for Audio -.. attention:: Please choose the "Windows Online" installer +.. attention:: Please choose the "Windows Online" installer. .. _installing-red-windows: @@ -53,6 +53,9 @@ Manually installing dependencies Installing Red -------------- +.. attention:: You may need to restart your computer after installing dependencies + for the PATH changes to take effect. + 1. Open a command prompt (open Start, search for "command prompt", then click it) 2. Create and activate a virtual environment (strongly recommended), see the section `using-venv` 3. Run **one** of the following commands, depending on what extras you want installed From 1804314f45edb8726cb4cc5b208a614b90c7de7f Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Sun, 23 Jun 2019 14:09:59 +1000 Subject: [PATCH 041/183] [Audio] Improve Lavalink download/connection exception handling (#2764) - More errors will be logged to the console with clearer messages when something goes wrong - Downloading the Lavalink Jar will abort after 5 failed attempts. The connect task will also abort if an unhandled exception occurs whilst downloading or connecting to Lavalink. After this occurs, instead of responding "Connection to Lavalink has not yet been established" to commands, the bot will respond "Connection to Lavalink has failed". This has no effect on other commands which don't involve connecting to Lavalink (e.g. settings commands). - Logs this message when Lavalink jar is successfully downloaded: `Successfully downloaded Lavalink.jar ( bytes written)` - Uses [`tqdm`](https://github.com/tqdm/tqdm/) to display a progress bar whilst downloading Lavalink.jar. Signed-off-by: Toby Harradine --- redbot/cogs/audio/audio.py | 95 +++++++++++++++++++++++++++++++----- redbot/cogs/audio/errors.py | 33 +++++++++++++ redbot/cogs/audio/manager.py | 44 +++++++++++++---- setup.cfg | 1 + 4 files changed, 153 insertions(+), 20 deletions(-) create mode 100644 redbot/cogs/audio/errors.py diff --git a/redbot/cogs/audio/audio.py b/redbot/cogs/audio/audio.py index 828d069a0..8135f8e7e 100644 --- a/redbot/cogs/audio/audio.py +++ b/redbot/cogs/audio/audio.py @@ -31,6 +31,7 @@ from redbot.core.utils.menus import ( from redbot.core.utils.predicates import MessagePredicate, ReactionPredicate from urllib.parse import urlparse from .manager import ServerManager +from .errors import LavalinkDownloadFailed _ = Translator("Audio", __file__) @@ -91,6 +92,7 @@ class Audio(commands.Cog): self._connect_task = None self._disconnect_task = None self._cleaned_up = False + self._connection_aborted = False self.spotify_token = None self.play_lock = {} @@ -121,7 +123,10 @@ class Audio(commands.Cog): self._connect_task = self.bot.loop.create_task(self.attempt_connect()) async def attempt_connect(self, timeout: int = 30): - while True: # run until success + self._connection_aborted = False + max_retries = 5 + retry_count = 0 + while retry_count < max_retries: external = await self.config.use_external_lavalink() if external is False: settings = self._default_lavalink_settings @@ -134,21 +139,52 @@ class Audio(commands.Cog): self._manager = ServerManager() try: await self._manager.start() - except RuntimeError as exc: - log.exception( - "Exception whilst starting internal Lavalink server, retrying...", - exc_info=exc, - ) + except LavalinkDownloadFailed as exc: await asyncio.sleep(1) - continue + if exc.should_retry: + log.exception( + "Exception whilst starting internal Lavalink server, retrying...", + exc_info=exc, + ) + retry_count += 1 + continue + else: + log.exception( + "Fatal exception whilst starting internal Lavalink server, " + "aborting...", + exc_info=exc, + ) + self._connection_aborted = True + raise except asyncio.CancelledError: log.exception("Invalid machine architecture, cannot run Lavalink.") raise + except Exception as exc: + log.exception( + "Unhandled exception whilst starting internal Lavalink server, " + "aborting...", + exc_info=exc, + ) + self._connection_aborted = True + raise + else: + break else: host = await self.config.host() password = await self.config.password() rest_port = await self.config.rest_port() ws_port = await self.config.ws_port() + break + else: + log.critical( + "Setting up the Lavalink server failed after multiple attempts. See above " + "tracebacks for details." + ) + self._connection_aborted = True + return + + retry_count = 0 + while retry_count < max_retries: try: await lavalink.initialize( bot=self.bot, @@ -158,12 +194,26 @@ class Audio(commands.Cog): ws_port=ws_port, timeout=timeout, ) - return # break infinite loop except asyncio.TimeoutError: log.error("Connecting to Lavalink server timed out, retrying...") if external is False and self._manager is not None: await self._manager.shutdown() + retry_count += 1 await asyncio.sleep(1) # prevent busylooping + except Exception as exc: + log.exception( + "Unhandled exception whilst connecting to Lavalink, aborting...", exc_info=exc + ) + self._connection_aborted = True + raise + else: + break + else: + self._connection_aborted = True + log.critical( + "Connecting to the Lavalink server failed after multiple attempts. See above " + "tracebacks for details." + ) async def event_handler(self, player, event_type, extra): disconnect = await self.config.guild(player.channel.guild).disconnect() @@ -1160,6 +1210,11 @@ class Audio(commands.Cog): if not url_check: return await self._embed_msg(ctx, _("That URL is not allowed.")) if not self._player_check(ctx): + if self._connection_aborted: + msg = _("Connection to Lavalink has failed.") + if await ctx.bot.is_owner(ctx.author): + msg += " " + _("Please check your console or logs for details.") + return await self._embed_msg(ctx, msg) try: if ( not ctx.author.voice.channel.permissions_for(ctx.me).connect @@ -2096,15 +2151,22 @@ class Audio(commands.Cog): await self._embed_msg(ctx, _("You need the DJ role to use playlists.")) return False if not self._player_check(ctx): + if self._connection_aborted: + msg = _("Connection to Lavalink has failed.") + if await ctx.bot.is_owner(ctx.author): + msg += " " + _("Please check your console or logs for details.") + await self._embed_msg(ctx, msg) + return False try: if ( not ctx.author.voice.channel.permissions_for(ctx.me).connect or not ctx.author.voice.channel.permissions_for(ctx.me).move_members and self._userlimit(ctx.author.voice.channel) ): - return await self._embed_msg( + await self._embed_msg( ctx, _("I don't have permission to connect to your channel.") ) + return False await lavalink.connect(ctx.author.voice.channel) player = lavalink.get_player(ctx.guild.id) player.store("connect", datetime.datetime.utcnow()) @@ -2560,6 +2622,11 @@ class Audio(commands.Cog): } if not self._player_check(ctx): + if self._connection_aborted: + msg = _("Connection to Lavalink has failed.") + if await ctx.bot.is_owner(ctx.author): + msg += " " + _("Please check your console or logs for details.") + return await self._embed_msg(ctx, msg) try: if ( not ctx.author.voice.channel.permissions_for(ctx.me).connect @@ -2673,6 +2740,11 @@ class Audio(commands.Cog): async def _search_button_action(self, ctx, tracks, emoji, page): if not self._player_check(ctx): + if self._connection_aborted: + msg = _("Connection to Lavalink has failed.") + if await ctx.bot.is_owner(ctx.author): + msg += " " + _("Please check your console or logs for details.") + return await self._embed_msg(ctx, msg) try: await lavalink.connect(ctx.author.voice.channel) player = lavalink.get_player(ctx.guild.id) @@ -3493,8 +3565,9 @@ class Audio(commands.Cog): else: self.play_lock[ctx.message.guild.id] = False - @staticmethod - def _player_check(ctx): + def _player_check(self, ctx: commands.Context): + if self._connection_aborted: + return False try: lavalink.get_player(ctx.guild.id) return True diff --git a/redbot/cogs/audio/errors.py b/redbot/cogs/audio/errors.py new file mode 100644 index 000000000..9785a9b82 --- /dev/null +++ b/redbot/cogs/audio/errors.py @@ -0,0 +1,33 @@ +import aiohttp + + +class AudioError(Exception): + """Base exception for errors in the Audio cog.""" + + +class LavalinkDownloadFailed(AudioError, RuntimeError): + """Downloading the Lavalink jar failed. + + Attributes + ---------- + response : aiohttp.ClientResponse + The response from the server to the failed GET request. + should_retry : bool + Whether or not the Audio cog should retry downloading the jar. + + """ + + def __init__(self, *args, response: aiohttp.ClientResponse, should_retry: bool = False): + super().__init__(*args) + self.response = response + self.should_retry = should_retry + + def __repr__(self) -> str: + str_args = [*map(str, self.args), self._response_repr()] + return f"LavalinkDownloadFailed({', '.join(str_args)}" + + def __str__(self) -> str: + return f"{super().__str__()} {self._response_repr()}" + + def _response_repr(self) -> str: + return f"[{self.response.status} {self.response.reason}]" diff --git a/redbot/cogs/audio/manager.py b/redbot/cogs/audio/manager.py index 3c9b7a501..db4c140b2 100644 --- a/redbot/cogs/audio/manager.py +++ b/redbot/cogs/audio/manager.py @@ -6,12 +6,15 @@ import asyncio import asyncio.subprocess # disables for # https://github.com/PyCQA/pylint/issues/1469 import logging import re +import sys import tempfile from typing import Optional, Tuple, ClassVar, List import aiohttp +from tqdm import tqdm from redbot.core import data_manager +from .errors import LavalinkDownloadFailed JAR_VERSION = "3.2.0.3" JAR_BUILD = 796 @@ -200,22 +203,45 @@ class ServerManager: async with aiohttp.ClientSession() as session: async with session.get(LAVALINK_DOWNLOAD_URL) as response: if response.status == 404: - raise RuntimeError( - f"Lavalink jar version {JAR_VERSION}_{JAR_BUILD} hasn't been published" + # A 404 means our LAVALINK_DOWNLOAD_URL is invalid, so likely the jar version + # hasn't been published yet + raise LavalinkDownloadFailed( + f"Lavalink jar version {JAR_VERSION}_{JAR_BUILD} hasn't been published " + f"yet", + response=response, + should_retry=False, ) + elif 400 <= response.status < 600: + # Other bad responses should be raised but we should retry just incase + raise LavalinkDownloadFailed(response=response, should_retry=True) fd, path = tempfile.mkstemp() file = open(fd, "wb") - try: - chunk = await response.content.read(1024) - while chunk: - file.write(chunk) + nbytes = 0 + with tqdm( + desc="Lavalink.jar", + total=response.content_length, + file=sys.stdout, + unit="B", + unit_scale=True, + miniters=1, + dynamic_ncols=True, + leave=False, + ) as progress_bar: + try: chunk = await response.content.read(1024) - file.flush() - finally: - file.close() + while chunk: + chunk_size = file.write(chunk) + nbytes += chunk_size + progress_bar.update(chunk_size) + chunk = await response.content.read(1024) + file.flush() + finally: + file.close() shutil.move(path, str(LAVALINK_JAR_FILE), copy_function=shutil.copyfile) + log.info("Successfully downloaded Lavalink.jar (%s bytes written)", format(nbytes, ",")) + @classmethod async def _is_up_to_date(cls): if cls._up_to_date is True: diff --git a/setup.cfg b/setup.cfg index 3f6ceff49..ed3044aa3 100644 --- a/setup.cfg +++ b/setup.cfg @@ -43,6 +43,7 @@ install_requires = pyyaml==3.13 red-lavalink>=0.3.0,<0.4 schema==0.6.8 + tqdm==4.32.1 yarl==1.3.0 discord.py==1.0.1 websockets<7 From 065396abab2c5f0fa1be5f42ab987def39ad460f Mon Sep 17 00:00:00 2001 From: aikaterna <20862007+aikaterna@users.noreply.github.com> Date: Sat, 22 Jun 2019 21:10:31 -0700 Subject: [PATCH 042/183] [Audio] Change Lavalink.jar version checking (#2785) --- redbot/cogs/audio/manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redbot/cogs/audio/manager.py b/redbot/cogs/audio/manager.py index db4c140b2..7885a9f70 100644 --- a/redbot/cogs/audio/manager.py +++ b/redbot/cogs/audio/manager.py @@ -261,7 +261,7 @@ class ServerManager: # Output is unexpected, suspect corrupted jarfile return False build = int(match["build"]) - cls._up_to_date = build == JAR_BUILD + cls._up_to_date = build >= JAR_BUILD return cls._up_to_date @classmethod From 6ae3040aac2d4fe004370b98d44689cf7ecdd2b4 Mon Sep 17 00:00:00 2001 From: Michael H Date: Sun, 23 Jun 2019 02:39:24 -0400 Subject: [PATCH 043/183] [Filter] Make name filtering behavior consistent (#2794) - Uses the updated filter check - This is also a performance gain on large servers with filter names enabled. --- redbot/cogs/filter/filter.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/redbot/cogs/filter/filter.py b/redbot/cogs/filter/filter.py index 841d42e42..fae8cab8e 100644 --- a/redbot/cogs/filter/filter.py +++ b/redbot/cogs/filter/filter.py @@ -448,13 +448,12 @@ class Filter(commands.Cog): if not await self.settings.guild(member.guild).filter_names(): return - word_list = await self.settings.guild(member.guild).filter() - for w in word_list: - if w in member.display_name.lower(): - name_to_use = await self.settings.guild(member.guild).filter_default_name() - reason = _("Filtered nickname") if member.nick else _("Filtered name") - try: - await member.edit(nick=name_to_use, reason=reason) - except discord.HTTPException: - pass - return + if await self.filter_hits(member.display_name, member.guild): + + name_to_use = await self.settings.guild(member.guild).filter_default_name() + reason = _("Filtered nickname") if member.nick else _("Filtered name") + try: + await member.edit(nick=name_to_use, reason=reason) + except discord.HTTPException: + pass + return From 71d0bd0d0794b7d4d622b4e4fc452dfb32690c55 Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Mon, 24 Jun 2019 12:55:49 +1000 Subject: [PATCH 044/183] Various Config and Mongo Driver fixes (#2795) - Fixes defaults being mixed into custom groups above the document level when doing `Group.all()` - Fixes `Config.clear_all()` with Mongo driver - Fixes `Group.set()` with Mongo driver on custom groups above the document level - Fixes `IdentifierData.custom_group_data` being set to the wrong thing in `BaseDriver.import/export_data` (although this was an inconsequential bug) Signed-off-by: Toby Harradine --- redbot/core/config.py | 30 ++++--- redbot/core/drivers/red_base.py | 20 ++++- redbot/core/drivers/red_json.py | 3 +- redbot/core/drivers/red_mongo.py | 146 ++++++++++++++++++++++++++----- 4 files changed, 160 insertions(+), 39 deletions(-) diff --git a/redbot/core/config.py b/redbot/core/config.py index 7abf8957e..569e33b70 100644 --- a/redbot/core/config.py +++ b/redbot/core/config.py @@ -1,16 +1,14 @@ import logging import collections from copy import deepcopy -from typing import Any, Union, Tuple, Dict, Awaitable, AsyncContextManager, TypeVar, TYPE_CHECKING +from typing import Any, Union, Tuple, Dict, Awaitable, AsyncContextManager, TypeVar import weakref import discord from .data_manager import cog_data_path, core_data_path from .drivers import get_driver, IdentifierData, BackendType - -if TYPE_CHECKING: - from .drivers.red_base import BaseDriver +from .drivers.red_base import BaseDriver __all__ = ["Config", "get_latest_confs"] @@ -545,7 +543,7 @@ class Config: self, cog_name: str, unique_identifier: str, - driver: "BaseDriver", + driver: BaseDriver, force_registration: bool = False, defaults: dict = None, ): @@ -852,9 +850,16 @@ class Config: custom_group_data=self.custom_groups, is_custom=is_custom, ) + + pkey_len = BaseDriver.get_pkey_len(identifier_data) + if len(primary_keys) < pkey_len: + # Don't mix in defaults with groups higher than the document level + defaults = {} + else: + defaults = self.defaults.get(category, {}) return Group( identifier_data=identifier_data, - defaults=self.defaults.get(category, {}), + defaults=defaults, driver=self.driver, force_registration=self.force_registration, ) @@ -975,6 +980,7 @@ class Config: """ group = self._get_base_group(scope) ret = {} + defaults = self.defaults.get(scope, {}) try: dict_ = await self.driver.get(group.identifier_data) @@ -982,7 +988,7 @@ class Config: pass else: for k, v in dict_.items(): - data = group.defaults + data = deepcopy(defaults) data.update(v) ret[int(k)] = data @@ -1056,11 +1062,11 @@ class Config: """ return await self._all_from_scope(self.USER) - @staticmethod - def _all_members_from_guild(group: Group, guild_data: dict) -> dict: + def _all_members_from_guild(self, guild_data: dict) -> dict: ret = {} + defaults = self.defaults.get(self.MEMBER, {}) for member_id, member_data in guild_data.items(): - new_member_data = group.defaults + new_member_data = deepcopy(defaults) new_member_data.update(member_data) ret[int(member_id)] = new_member_data return ret @@ -1099,7 +1105,7 @@ class Config: pass else: for guild_id, guild_data in dict_.items(): - ret[int(guild_id)] = self._all_members_from_guild(group, guild_data) + ret[int(guild_id)] = self._all_members_from_guild(guild_data) else: group = self._get_base_group(self.MEMBER, str(guild.id)) try: @@ -1107,7 +1113,7 @@ class Config: except KeyError: pass else: - ret = self._all_members_from_guild(group, guild_data) + ret = self._all_members_from_guild(guild_data) return ret async def _clear_scope(self, *scopes: str): diff --git a/redbot/core/drivers/red_base.py b/redbot/core/drivers/red_base.py index cd7091a71..2e5d41c6f 100644 --- a/redbot/core/drivers/red_base.py +++ b/redbot/core/drivers/red_base.py @@ -18,8 +18,8 @@ class IdentifierData: self, uuid: str, category: str, - primary_key: Tuple[str], - identifiers: Tuple[str], + primary_key: Tuple[str, ...], + identifiers: Tuple[str, ...], custom_group_data: dict, is_custom: bool = False, ): @@ -183,7 +183,7 @@ class BaseDriver: c, (), (), - custom_group_data.get(c, {}), + custom_group_data, is_custom=c in custom_group_data, ) try: @@ -202,7 +202,19 @@ class BaseDriver: category, pkey, (), - custom_group_data.get(category, {}), + custom_group_data, is_custom=category in custom_group_data, ) await self.set(ident_data, data) + + @staticmethod + def get_pkey_len(identifier_data: IdentifierData) -> int: + cat = identifier_data.category + if cat == ConfigCategory.GLOBAL.value: + return 0 + elif cat == ConfigCategory.MEMBER.value: + return 2 + elif identifier_data.is_custom: + return identifier_data.custom_group_data[cat] + else: + return 1 diff --git a/redbot/core/drivers/red_json.py b/redbot/core/drivers/red_json.py index 73023ffeb..7e6f7c333 100644 --- a/redbot/core/drivers/red_json.py +++ b/redbot/core/drivers/red_json.py @@ -1,5 +1,4 @@ from pathlib import Path -from typing import Tuple import copy import weakref import logging @@ -156,7 +155,7 @@ class JSON(BaseDriver): category, pkey, (), - custom_group_data.get(category, {}), + custom_group_data, is_custom=category in custom_group_data, ) update_write_data(ident_data, data) diff --git a/redbot/core/drivers/red_mongo.py b/redbot/core/drivers/red_mongo.py index 4554aa0a5..aabd36adf 100644 --- a/redbot/core/drivers/red_mongo.py +++ b/redbot/core/drivers/red_mongo.py @@ -1,11 +1,13 @@ +import contextlib +import itertools import re from getpass import getpass -from typing import Match, Pattern, Tuple +from typing import Match, Pattern, Tuple, Any, Dict, Iterator, List from urllib.parse import quote_plus import motor.core import motor.motor_asyncio -from motor.motor_asyncio import AsyncIOMotorCursor +import pymongo.errors from .red_base import BaseDriver, IdentifierData @@ -36,7 +38,7 @@ def _initialize(**kwargs): url = "{}://{}{}/{}".format(uri, host, ports, db_name) global _conn - _conn = motor.motor_asyncio.AsyncIOMotorClient(url) + _conn = motor.motor_asyncio.AsyncIOMotorClient(url, retryWrites=True) class Mongo(BaseDriver): @@ -87,7 +89,9 @@ class Mongo(BaseDriver): # noinspection PyTypeChecker return identifier_data.primary_key - async def rebuild_dataset(self, identifier_data: IdentifierData, cursor: AsyncIOMotorCursor): + async def rebuild_dataset( + self, identifier_data: IdentifierData, cursor: motor.motor_asyncio.AsyncIOMotorCursor + ): ret = {} async for doc in cursor: pkeys = doc["_id"]["RED_primary_key"] @@ -137,24 +141,96 @@ class Mongo(BaseDriver): async def set(self, identifier_data: IdentifierData, value=None): uuid = self._escape_key(identifier_data.uuid) primary_key = list(map(self._escape_key, self.get_primary_key(identifier_data))) - dot_identifiers = ".".join(map(self._escape_key, identifier_data.identifiers)) if isinstance(value, dict): if len(value) == 0: await self.clear(identifier_data) return value = self._escape_dict_keys(value) - mongo_collection = self.get_collection(identifier_data.category) - if len(dot_identifiers) > 0: - update_stmt = {"$set": {dot_identifiers: value}} - else: - update_stmt = {"$set": value} + pkey_len = self.get_pkey_len(identifier_data) + num_pkeys = len(primary_key) - await mongo_collection.update_one( - {"_id": {"RED_uuid": uuid, "RED_primary_key": primary_key}}, - update=update_stmt, - upsert=True, - ) + if num_pkeys >= pkey_len: + # We're setting at the document level or below. + dot_identifiers = ".".join(map(self._escape_key, identifier_data.identifiers)) + if dot_identifiers: + update_stmt = {"$set": {dot_identifiers: value}} + else: + update_stmt = {"$set": value} + + await mongo_collection.update_one( + {"_id": {"RED_uuid": uuid, "RED_primary_key": primary_key}}, + update=update_stmt, + upsert=True, + ) + + else: + # We're setting above the document level. + # Easiest and most efficient thing to do is delete all documents that we're potentially + # replacing, then insert_many(). + # We'll do it in a transaction so we can roll-back in case something goes horribly + # wrong. + pkey_filter = self.generate_primary_key_filter(identifier_data) + async with await _conn.start_session() as session: + with contextlib.suppress(pymongo.errors.CollectionInvalid): + # Collections must already exist when inserting documents within a transaction + await _conn.get_database().create_collection(mongo_collection.full_name) + try: + async with session.start_transaction(): + await mongo_collection.delete_many(pkey_filter, session=session) + await mongo_collection.insert_many( + self.generate_documents_to_insert(uuid, primary_key, value, pkey_len), + session=session, + ) + except pymongo.errors.OperationFailure: + # This DB version / setup doesn't support transactions, so we'll have to use + # a shittier method. + + # The strategy here is to separate the existing documents and the new documents + # into ones to be deleted, ones to be replaced, and new ones to be inserted. + # Then we can do a bulk_write(). + + # This is our list of (filter, new_document) tuples for replacing existing + # documents. The `new_document` should be taken and removed from `value`, so + # `value` only ends up containing documents which need to be inserted. + to_replace: List[Tuple[Dict, Dict]] = [] + + # This is our list of primary key filters which need deleting. They should + # simply be all the primary keys which were part of existing documents but are + # not included in the new documents. + to_delete: List[Dict] = [] + async for document in mongo_collection.find(pkey_filter, session=session): + pkey = document["_id"]["RED_primary_key"] + new_document = value + try: + for pkey_part in pkey[num_pkeys:-1]: + new_document = new_document[pkey_part] + # This document is being replaced - remove it from `value`. + new_document = new_document.pop(pkey[-1]) + except KeyError: + # We've found the primary key of an old document which isn't in the + # updated set of documents - it should be deleted. + to_delete.append({"_id": {"RED_uuid": uuid, "RED_primary_key": pkey}}) + else: + _filter = {"_id": {"RED_uuid": uuid, "RED_primary_key": pkey}} + new_document.update(_filter) + to_replace.append((_filter, new_document)) + + # What's left of `value` should be the new documents needing to be inserted. + to_insert = self.generate_documents_to_insert( + uuid, primary_key, value, pkey_len + ) + requests = list( + itertools.chain( + (pymongo.DeleteOne(f) for f in to_delete), + (pymongo.ReplaceOne(f, d) for f, d in to_replace), + (pymongo.InsertOne(d) for d in to_insert if d), + ) + ) + # This will pipeline the operations so they all complete quickly. However if + # any of them fail, the rest of them will complete - i.e. this operation is not + # atomic. + await mongo_collection.bulk_write(requests, ordered=False) def generate_primary_key_filter(self, identifier_data: IdentifierData): uuid = self._escape_key(identifier_data.uuid) @@ -170,20 +246,48 @@ class Mongo(BaseDriver): ret["_id.RED_primary_key"] = {"$exists": True} return ret + @classmethod + def generate_documents_to_insert( + cls, uuid: str, primary_keys: List[str], data: Dict[str, Dict[str, Any]], pkey_len: int + ) -> Iterator[Dict[str, Any]]: + num_missing_pkeys = pkey_len - len(primary_keys) + if num_missing_pkeys == 1: + for pkey, document in data.items(): + document["_id"] = {"RED_uuid": uuid, "RED_primary_key": primary_keys + [pkey]} + yield document + else: + for pkey, inner_data in data.items(): + for document in cls.generate_documents_to_insert( + uuid, primary_keys + [pkey], inner_data, pkey_len + ): + yield document + async def clear(self, identifier_data: IdentifierData): - # There are three cases here: + # There are five cases here: # 1) We're clearing out a subset of identifiers (aka identifiers is NOT empty) # 2) We're clearing out full primary key and no identifiers # 3) We're clearing out partial primary key and no identifiers # 4) Primary key is empty, should wipe all documents in the collection - mongo_collection = self.get_collection(identifier_data.category) + # 5) Category is empty, all of this cog's data should be deleted pkey_filter = self.generate_primary_key_filter(identifier_data) - if len(identifier_data.identifiers) == 0: - # This covers cases 2-4 - await mongo_collection.delete_many(pkey_filter) - else: + if identifier_data.identifiers: + # This covers case 1 + mongo_collection = self.get_collection(identifier_data.category) dot_identifiers = ".".join(map(self._escape_key, identifier_data.identifiers)) await mongo_collection.update_one(pkey_filter, update={"$unset": {dot_identifiers: 1}}) + elif identifier_data.category: + # This covers cases 2-4 + mongo_collection = self.get_collection(identifier_data.category) + await mongo_collection.delete_many(pkey_filter) + else: + # This covers case 5 + db = self.db + super_collection = db[self.cog_name] + results = await db.list_collections( + filter={"name": {"$regex": rf"^{super_collection.name}\."}} + ) + for result in results: + await db[result["name"]].delete_many(pkey_filter) @staticmethod def _escape_key(key: str) -> str: From 6bdc9606f6fc829eca342c29ff1a708200a5a118 Mon Sep 17 00:00:00 2001 From: DiscordLiz <47602820+DiscordLiz@users.noreply.github.com> Date: Sun, 23 Jun 2019 23:36:00 -0400 Subject: [PATCH 045/183] [Core] Multiple mod admin roles (#2783) * Adds Schema versioning - Adds Migration tool - Adds tool to migrate to allow multiple admin and mod roles - Supports Multiple mod and admin roles * Ensures migration is run prior to cog load and connection to discord * Updates to not rely on singular mod/admin role id * Update requires logic for multiple mod/admin roles * Add new commands for managing mod/admin roles * Feedback Update strings Update docstrings Add aliases * Use snowflakelist * paginate * Change variable name * Fix mistake * handle settings view fix * Fix name error * I'm bad at Ux * style fix --- redbot/__main__.py | 5 ++- redbot/cogs/audio/audio.py | 45 +++++++++----------- redbot/cogs/bank/bank.py | 12 ++++-- redbot/cogs/reports/reports.py | 18 +++----- redbot/core/bot.py | 55 ++++++++++++++++++++---- redbot/core/commands/requires.py | 16 +++---- redbot/core/core_commands.py | 73 ++++++++++++++++++++++++-------- redbot/core/utils/mod.py | 36 ++++++---------- 8 files changed, 161 insertions(+), 99 deletions(-) diff --git a/redbot/__main__.py b/redbot/__main__.py index 92793ab56..8509def4a 100644 --- a/redbot/__main__.py +++ b/redbot/__main__.py @@ -107,8 +107,11 @@ def main(): red = Red( cli_flags=cli_flags, description=description, dm_help=None, fetch_offline_members=True ) + loop = asyncio.get_event_loop() + loop.run_until_complete(red.maybe_update_config()) init_global_checks(red) init_events(red, cli_flags) + red.add_cog(Core(red)) red.add_cog(CogManagerUI()) if cli_flags.dev: @@ -117,7 +120,7 @@ def main(): modlog._init() # noinspection PyProtectedMember bank._init() - loop = asyncio.get_event_loop() + if os.name == "posix": loop.add_signal_handler(SIGTERM, lambda: asyncio.ensure_future(sigterm_handler(red, log))) tmp_data = {} diff --git a/redbot/cogs/audio/audio.py b/redbot/cogs/audio/audio.py index 8135f8e7e..77e05981e 100644 --- a/redbot/cogs/audio/audio.py +++ b/redbot/cogs/audio/audio.py @@ -3051,34 +3051,29 @@ class Audio(commands.Cog): return await self._skip_action(ctx, skip_to_track) async def _can_instaskip(self, ctx, member): - mod_role = await ctx.bot.db.guild(ctx.guild).mod_role() - admin_role = await ctx.bot.db.guild(ctx.guild).admin_role() + dj_enabled = await self.config.guild(ctx.guild).dj_enabled() - if dj_enabled: - is_active_dj = await self._has_dj_role(ctx, member) - else: - is_active_dj = False - is_owner = member.id == self.bot.owner_id - is_server_owner = member.id == ctx.guild.owner_id - is_coowner = any(x == member.id for x in self.bot._co_owners) - is_admin = ( - discord.utils.get(ctx.guild.get_member(member.id).roles, id=admin_role) is not None - ) - is_mod = discord.utils.get(ctx.guild.get_member(member.id).roles, id=mod_role) is not None - is_bot = member.bot is True - is_other_channel = await self._channel_check(ctx) + if member.bot: + return True - return ( - is_active_dj - or is_owner - or is_server_owner - or is_coowner - or is_admin - or is_mod - or is_bot - or is_other_channel - ) + if member.id == ctx.guild.owner_id: + return True + + if dj_enabled: + if await self._has_dj_role(ctx, member): + return True + + if await ctx.bot.is_owner(member): + return True + + if await ctx.bot.is_mod(member): + return True + + if await self._channel_check(ctx): + return True + + return False async def _is_alone(self, ctx, member): try: diff --git a/redbot/cogs/bank/bank.py b/redbot/cogs/bank/bank.py index 7fd79170c..6d186ee6b 100644 --- a/redbot/cogs/bank/bank.py +++ b/redbot/cogs/bank/bank.py @@ -43,10 +43,14 @@ def check_global_setting_admin(): return False if await ctx.bot.is_owner(author): return True - permissions = ctx.channel.permissions_for(author) - is_guild_owner = author == ctx.guild.owner - admin_role = await ctx.bot.db.guild(ctx.guild).admin_role() - return admin_role in author.roles or is_guild_owner or permissions.manage_guild + if author == ctx.guild.owner: + return True + if ctx.channel.permissions_for(author).manage_guild: + return True + admin_roles = set(await ctx.bot.db.guild(ctx.guild).admin_role()) + for role in author.roles: + if role.id in admin_roles: + return True else: return await ctx.bot.is_owner(author) diff --git a/redbot/cogs/reports/reports.py b/redbot/cogs/reports/reports.py index fcf868afe..fe2971347 100644 --- a/redbot/cogs/reports/reports.py +++ b/redbot/cogs/reports/reports.py @@ -84,18 +84,14 @@ class Reports(commands.Cog): await ctx.send(_("Reporting is now disabled.")) async def internal_filter(self, m: discord.Member, mod=False, perms=None): - ret = False - if mod: - guild = m.guild - admin_role = guild.get_role(await self.bot.db.guild(guild).admin_role()) - mod_role = guild.get_role(await self.bot.db.guild(guild).mod_role()) - ret |= any(r in m.roles for r in (mod_role, admin_role)) - if perms: - ret |= m.guild_permissions >= perms + if perms and m.guild_permissions >= perms: + return True + if mod and await self.bot.is_mod(m): + return True # The following line is for consistency with how perms are handled - # in Red, though I'm not sure it makse sense to use here. - ret |= await self.bot.is_owner(m) - return ret + # in Red, though I'm not sure it makes sense to use here. + if await self.bot.is_owner(m): + return True async def discover_guild( self, diff --git a/redbot/core/bot.py b/redbot/core/bot.py index a0d8cc586..f6d872b46 100644 --- a/redbot/core/bot.py +++ b/redbot/core/bot.py @@ -67,14 +67,15 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d api_tokens={}, extra_owner_destinations=[], owner_opt_out_list=[], + schema_version=0, ) self.db.register_guild( prefix=[], whitelist=[], blacklist=[], - admin_role=None, - mod_role=None, + admin_role=[], + mod_role=[], embeds=None, use_bot_color=False, fuzzy=False, @@ -134,6 +135,38 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d self._permissions_hooks: List[commands.CheckPredicate] = [] + async def maybe_update_config(self): + """ + This should be run prior to loading cogs or connecting to discord. + """ + schema_version = await self.db.schema_version() + + if schema_version == 0: + await self._schema_0_to_1() + schema_version += 1 + await self.db.schema_version.set(schema_version) + + async def _schema_0_to_1(self): + """ + This contains the migration to allow multiple mod and multiple admin roles. + """ + + log.info("Begin updating guild configs to support multiple mod/admin roles") + all_guild_data = await self.db.all_guilds() + for guild_id, guild_data in all_guild_data.items(): + guild_obj = discord.Object(id=guild_id) + mod_roles, admin_roles = [], [] + maybe_mod_role_id = guild_data["mod_role"] + maybe_admin_role_id = guild_data["admin_role"] + + if maybe_mod_role_id: + mod_roles.append(maybe_mod_role_id) + await self.db.guild(guild_obj).mod_role.set(mod_roles) + if maybe_admin_role_id: + admin_roles.append(maybe_admin_role_id) + await self.db.guild(guild_obj).admin_role.set(admin_roles) + log.info("Done updating guild configs to support multiple mod/admin roles") + async def send_help_for( self, ctx: commands.Context, help_for: Union[commands.Command, commands.GroupMixin, str] ): @@ -191,21 +224,25 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d async def is_admin(self, member: discord.Member): """Checks if a member is an admin of their guild.""" - admin_role = await self.db.guild(member.guild).admin_role() try: - if any(role.id == admin_role for role in member.roles): - return True + member_snowflakes = member._roles # DEP-WARN + for snowflake in await self.db.guild(member.guild).admin_role(): + if member_snowflakes.has(snowflake): # Dep-WARN + return True except AttributeError: # someone passed a webhook to this pass return False async def is_mod(self, member: discord.Member): """Checks if a member is a mod or admin of their guild.""" - mod_role = await self.db.guild(member.guild).mod_role() - admin_role = await self.db.guild(member.guild).admin_role() try: - if any(role.id in (mod_role, admin_role) for role in member.roles): - return True + member_snowflakes = member._roles # DEP-WARN + for snowflake in await self.db.guild(member.guild).admin_role(): + if member_snowflakes.has(snowflake): # DEP-WARN + return True + for snowflake in await self.db.guild(member.guild).mod_role(): + if member_snowflakes.has(snowflake): # DEP-WARN + return True except AttributeError: # someone passed a webhook to this pass return False diff --git a/redbot/core/commands/requires.py b/redbot/core/commands/requires.py index 668c071f3..db06bc1d5 100644 --- a/redbot/core/commands/requires.py +++ b/redbot/core/commands/requires.py @@ -126,16 +126,14 @@ class PrivilegeLevel(enum.IntEnum): # The following is simply an optimised way to check if the user has the # admin or mod role. guild_settings = ctx.bot.db.guild(ctx.guild) - admin_role_id = await guild_settings.admin_role() - mod_role_id = await guild_settings.mod_role() - is_mod = False - for role in ctx.author.roles: - if role.id == admin_role_id: + + member_snowflakes = ctx.author._roles # DEP-WARN + for snowflake in await guild_settings.admin_role(): + if member_snowflakes.has(snowflake): # DEP-WARN return cls.ADMIN - elif role.id == mod_role_id: - is_mod = True - if is_mod: - return cls.MOD + for snowflake in await guild_settings.mod_role(): + if member_snowflakes.has(snowflake): # DEP-WARN + return cls.MOD return cls.NONE diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index bdbaf2f08..3b4680864 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -33,7 +33,7 @@ from redbot.core import ( i18n, ) from .utils.predicates import MessagePredicate -from .utils.chat_formatting import humanize_timedelta, pagify, box, inline +from .utils.chat_formatting import humanize_timedelta, pagify, box, inline, humanize_list from .commands.requires import PrivilegeLevel @@ -705,15 +705,17 @@ class Core(commands.Cog, CoreLogic): if ctx.invoked_subcommand is None: if ctx.guild: guild = ctx.guild - admin_role = ( - guild.get_role(await ctx.bot.db.guild(ctx.guild).admin_role()) or "Not set" - ) - mod_role = ( - guild.get_role(await ctx.bot.db.guild(ctx.guild).mod_role()) or "Not set" + admin_role_ids = await ctx.bot.db.guild(ctx.guild).admin_role() + admin_role_names = [r.name for r in guild.roles if r.id in admin_role_ids] + admin_roles_str = ( + humanize_list(admin_role_names) if admin_role_names else "Not Set." ) + mod_role_ids = await ctx.bot.db.guild(ctx.guild).mod_role() + mod_role_names = [r.name for r in guild.roles if r.id in mod_role_ids] + mod_roles_str = humanize_list(mod_role_names) if mod_role_names else "Not Set." prefixes = await ctx.bot.db.guild(ctx.guild).prefix() - guild_settings = _("Admin role: {admin}\nMod role: {mod}\n").format( - admin=admin_role, mod=mod_role + guild_settings = _("Admin roles: {admin}\nMod roles: {mod}\n").format( + admin=admin_roles_str, mod=mod_roles_str ) else: guild_settings = "" @@ -734,23 +736,60 @@ class Core(commands.Cog, CoreLogic): guild_settings=guild_settings, locale=locale, ) - await ctx.send(box(settings)) + for page in pagify(settings): + await ctx.send(box(page)) @_set.command() @checks.guildowner() @commands.guild_only() - async def adminrole(self, ctx: commands.Context, *, role: discord.Role): - """Sets the admin role for this server""" - await ctx.bot.db.guild(ctx.guild).admin_role.set(role.id) - await ctx.send(_("The admin role for this guild has been set.")) + async def addadminrole(self, ctx: commands.Context, *, role: discord.Role): + """ + Adds an admin role for this guild. + """ + async with ctx.bot.db.guild(ctx.guild).admin_role() as roles: + if role.id in roles: + return await ctx.send(_("This role is already an admin role.")) + roles.append(role.id) + await ctx.send(_("That role is now considered an admin role.")) @_set.command() @checks.guildowner() @commands.guild_only() - async def modrole(self, ctx: commands.Context, *, role: discord.Role): - """Sets the mod role for this server""" - await ctx.bot.db.guild(ctx.guild).mod_role.set(role.id) - await ctx.send(_("The mod role for this guild has been set.")) + async def addmodrole(self, ctx: commands.Context, *, role: discord.Role): + """ + Adds a mod role for this guild. + """ + async with ctx.bot.db.guild(ctx.guild).mod_role() as roles: + if role.id in roles: + return await ctx.send(_("This role is already a mod role.")) + roles.append(role.id) + await ctx.send(_("That role is now considered a mod role.")) + + @_set.command(aliases=["remadmindrole", "deladminrole", "deleteadminrole"]) + @checks.guildowner() + @commands.guild_only() + async def removeadminrole(self, ctx: commands.Context, *, role: discord.Role): + """ + Removes an admin role for this guild. + """ + async with ctx.bot.db.guild(ctx.guild).admin_role() as roles: + if role.id not in roles: + return await ctx.send(_("That role was not an admin role to begin with.")) + roles.remove(role.id) + await ctx.send(_("That role is no longer considered an admin role.")) + + @_set.command(aliases=["remmodrole", "delmodrole", "deletemodrole"]) + @checks.guildowner() + @commands.guild_only() + async def removemodrole(self, ctx: commands.Context, *, role: discord.Role): + """ + Removes a mod role for this guild. + """ + async with ctx.bot.db.guild(ctx.guild).mod_role() as roles: + if role.id not in roles: + return await ctx.send(_("That role was not a mod role to begin with.")) + roles.remove(role.id) + await ctx.send(_("That role is no longer considered a mod role.")) @_set.command(aliases=["usebotcolor"]) @checks.guildowner() diff --git a/redbot/core/utils/mod.py b/redbot/core/utils/mod.py index 06480e25b..9191d8889 100644 --- a/redbot/core/utils/mod.py +++ b/redbot/core/utils/mod.py @@ -123,29 +123,25 @@ async def is_mod_or_superior( If the wrong type of ``obj`` was passed. """ - user = None if isinstance(obj, discord.Message): user = obj.author elif isinstance(obj, discord.Member): user = obj elif isinstance(obj, discord.Role): - pass + if obj.id in await bot.db.guild(obj.guild).mod_role(): + return True + if obj.id in await bot.db.guild(obj.guild).admin_role(): + return True + return False else: raise TypeError("Only messages, members or roles may be passed") - server = obj.guild - admin_role_id = await bot.db.guild(server).admin_role() - mod_role_id = await bot.db.guild(server).mod_role() - - if isinstance(obj, discord.Role): - return obj.id in [admin_role_id, mod_role_id] - if await bot.is_owner(user): return True - elif discord.utils.find(lambda r: r.id in (admin_role_id, mod_role_id), user.roles): + if await bot.is_mod(user): return True - else: - return False + + return False def strfdelta(delta: timedelta): @@ -208,27 +204,21 @@ async def is_admin_or_superior( If the wrong type of ``obj`` was passed. """ - user = None if isinstance(obj, discord.Message): user = obj.author elif isinstance(obj, discord.Member): user = obj elif isinstance(obj, discord.Role): - pass + return obj.id in await bot.db.guild(obj.guild).admin_role() else: raise TypeError("Only messages, members or roles may be passed") - admin_role_id = await bot.db.guild(obj.guild).admin_role() - - if isinstance(obj, discord.Role): - return obj.id == admin_role_id - - if user and await bot.is_owner(user): + if await bot.is_owner(user): return True - elif discord.utils.get(user.roles, id=admin_role_id): + if await bot.is_admin(user): return True - else: - return False + + return False async def check_permissions(ctx: "Context", perms: Dict[str, bool]) -> bool: From f2b7ce95467b06f5d90858e1c94d56721e4bd40b Mon Sep 17 00:00:00 2001 From: aikaterna <20862007+aikaterna@users.noreply.github.com> Date: Sun, 23 Jun 2019 21:58:20 -0700 Subject: [PATCH 046/183] [Audio] Add equalizer (#2787) * [Audio] Add equalizer * [Audio] Add equalizer --- redbot/cogs/audio/audio.py | 464 ++++++++++++++++++++++++++++++++- redbot/cogs/audio/equalizer.py | 50 ++++ 2 files changed, 501 insertions(+), 13 deletions(-) create mode 100644 redbot/cogs/audio/equalizer.py diff --git a/redbot/cogs/audio/audio.py b/redbot/cogs/audio/audio.py index 77e05981e..a08539241 100644 --- a/redbot/cogs/audio/audio.py +++ b/redbot/cogs/audio/audio.py @@ -30,12 +30,13 @@ from redbot.core.utils.menus import ( ) from redbot.core.utils.predicates import MessagePredicate, ReactionPredicate from urllib.parse import urlparse +from .equalizer import Equalizer from .manager import ServerManager from .errors import LavalinkDownloadFailed _ = Translator("Audio", __file__) -__version__ = "0.0.9" +__version__ = "0.0.10" __author__ = ["aikaterna"] log = logging.getLogger("red.audio") @@ -85,6 +86,9 @@ class Audio(commands.Cog): vote_percent=0, ) + self.config.init_custom("EQUALIZER", 1) + self.config.register_custom("EQUALIZER", eq_bands=[], eq_presets={}) + self.config.register_guild(**default_guild) self.config.register_global(**default_global) self.skip_votes = {} @@ -811,8 +815,12 @@ class Audio(commands.Cog): @commands.bot_has_permissions(embed_links=True) async def disconnect(self, ctx): """Disconnect from the voice channel.""" - dj_enabled = await self.config.guild(ctx.guild).dj_enabled() - if self._player_check(ctx): + if not self._player_check(ctx): + return await self._embed_msg(ctx, _("Nothing playing.")) + else: + dj_enabled = await self.config.guild(ctx.guild).dj_enabled() + player = lavalink.get_player(ctx.guild.id) + if dj_enabled: if not await self._can_instaskip(ctx, ctx.author): return await self._embed_msg(ctx, _("You need the DJ role to disconnect.")) @@ -822,8 +830,267 @@ class Audio(commands.Cog): return await self._embed_msg(ctx, _("There are other people listening to music.")) else: self._play_lock(ctx, False) - await lavalink.get_player(ctx.guild.id).stop() - await lavalink.get_player(ctx.guild.id).disconnect() + eq = player.fetch("eq") + if eq: + await self.config.custom("EQUALIZER", ctx.guild.id).eq_bands.set(eq.bands) + await player.stop() + await player.disconnect() + + @commands.group(invoke_without_command=True) + @commands.guild_only() + @commands.cooldown(1, 15, discord.ext.commands.BucketType.guild) + @commands.bot_has_permissions(embed_links=True, add_reactions=True) + @checks.mod_or_permissions(administrator=True) + async def eq(self, ctx): + """Equalizer management.""" + if not self._player_check(ctx): + return await self._embed_msg(ctx, _("Nothing playing.")) + player = lavalink.get_player(ctx.guild.id) + eq = player.fetch("eq", Equalizer()) + reactions = ["◀", "⬅", "⏫", "🔼", "🔽", "⏬", "➡", "▶", "⏺", "ℹ"] + await self._eq_msg_clear(player.fetch("eq_message")) + eq_message = await ctx.send(box(eq.visualise(), lang="ini")) + player.store("eq_message", eq_message) + + for reaction in reactions: + try: + await eq_message.add_reaction(reaction) + except discord.errors.NotFound: + pass + + await self._eq_interact(ctx, player, eq, eq_message, 0) + + @eq.command(name="delete") + async def _eq_delete(self, ctx, eq_preset: str): + """Delete a saved eq preset.""" + eq_presets = await self.config.custom("EQUALIZER", ctx.guild.id).eq_presets() + eq_preset = eq_preset.lower() + try: + del eq_presets[eq_preset] + except KeyError: + return await self._embed_msg( + ctx, + _( + "{eq_preset} is not in the eq preset list.".format( + eq_preset=eq_preset.capitalize() + ) + ), + ) + + await self.config.custom("EQUALIZER", ctx.guild.id).eq_presets.set(eq_presets) + await self._embed_msg( + ctx, _("The {preset_name} preset was deleted.".format(preset_name=eq_preset)) + ) + + @eq.command(name="list") + async def _eq_list(self, ctx): + """List saved eq presets.""" + eq_presets = await self.config.custom("EQUALIZER", ctx.guild.id).eq_presets() + if not eq_presets.keys(): + return await self._embed_msg(ctx, _("No saved equalizer presets.")) + eq_list = "\n".join(list(sorted(eq_presets.keys()))) + page_list = [] + for page in pagify(eq_list, delims=[", "], page_length=1000): + embed = discord.Embed( + colour=await ctx.embed_colour(), title="Equalizer presets:", description=page + ) + embed.set_footer(text=_("{num} preset(s)").format(num=len(list(eq_presets.keys())))) + page_list.append(embed) + await menu(ctx, page_list, DEFAULT_CONTROLS) + + @eq.command(name="load") + async def _eq_load(self, ctx, eq_preset: str): + """Load a saved eq preset.""" + eq_preset = eq_preset.lower() + eq_presets = await self.config.custom("EQUALIZER", ctx.guild.id).eq_presets() + try: + eq_values = eq_presets[eq_preset] + except KeyError: + return await self._embed_msg( + ctx, _("No preset named {eq_preset}.".format(eq_preset=eq_preset.capitalize())) + ) + await self.config.custom("EQUALIZER", ctx.guild.id).eq_bands.set(eq_values) + if not self._player_check(ctx): + return await self._embed_msg(ctx, _("Nothing playing.")) + player = lavalink.get_player(ctx.guild.id) + await self._eq_check(ctx, player) + eq = player.fetch("eq", Equalizer()) + await self._eq_msg_clear(player.fetch("eq_message")) + message = await ctx.send( + content=box(eq.visualise(), lang="ini"), + embed=discord.Embed( + colour=await ctx.embed_colour(), + title=_("The {eq_preset} preset was loaded.".format(eq_preset=eq_preset)), + ), + ) + player.store("eq_message", message) + + @eq.command(name="reset") + async def _eq_reset(self, ctx): + """Reset the eq to 0 across all bands.""" + if not self._player_check(ctx): + return await self._embed_msg(ctx, _("Nothing playing.")) + player = lavalink.get_player(ctx.guild.id) + eq = player.fetch("eq", Equalizer()) + + for band in range(eq._band_count): + eq.set_gain(band, 0.0) + + await self._apply_gains(ctx.guild.id, eq.bands) + await self.config.custom("EQUALIZER", ctx.guild.id).eq_bands.set(eq.bands) + player.store("eq", eq) + await self._eq_msg_clear(player.fetch("eq_message")) + message = await ctx.send( + content=box(eq.visualise(), lang="ini"), + embed=discord.Embed( + colour=await ctx.embed_colour(), title=_("Equalizer values have been reset.") + ), + ) + player.store("eq_message", message) + + @eq.command(name="save") + @commands.cooldown(1, 15, discord.ext.commands.BucketType.guild) + async def _eq_save(self, ctx, eq_preset: str = None): + """Save the current eq settings to a preset.""" + if not self._player_check(ctx): + return await self._embed_msg(ctx, _("Nothing playing.")) + if not eq_preset: + await self._embed_msg(ctx, _("Please enter a name for this equalizer preset.")) + try: + + def pred(m): + return ( + m.channel == ctx.channel + and m.author == ctx.author + and not m.content.startswith(ctx.prefix) + ) + + eq_name_msg = await ctx.bot.wait_for("message", timeout=15.0, check=pred) + eq_preset = eq_name_msg.content.split(" ")[0].strip('"').lower() + except asyncio.TimeoutError: + return await self._embed_msg( + ctx, _("No equalizer preset name entered, try the command again later.") + ) + + eq_exists_msg = None + eq_preset = eq_preset.lower().lstrip(ctx.prefix) + eq_presets = await self.config.custom("EQUALIZER", ctx.guild.id).eq_presets() + eq_list = list(eq_presets.keys()) + + if len(eq_preset) > 20: + return await self._embed_msg(ctx, _("Try the command again with a shorter name.")) + if eq_preset in eq_list: + embed = discord.Embed( + colour=await ctx.embed_colour(), + title=_("Preset name already exists, do you want to replace it?"), + ) + eq_exists_msg = await ctx.send(embed=embed) + start_adding_reactions(eq_exists_msg, ReactionPredicate.YES_OR_NO_EMOJIS) + pred = ReactionPredicate.yes_or_no(eq_exists_msg, ctx.author) + await ctx.bot.wait_for("reaction_add", check=pred) + if not pred.result: + await self._clear_react(eq_exists_msg) + embed2 = discord.Embed( + colour=await ctx.embed_colour(), title=_("Not saving preset.") + ) + return await eq_exists_msg.edit(embed=embed2) + + player = lavalink.get_player(ctx.guild.id) + eq = player.fetch("eq", Equalizer()) + to_append = {eq_preset: eq.bands} + new_eq_presets = {**eq_presets, **to_append} + await self.config.custom("EQUALIZER", ctx.guild.id).eq_presets.set(new_eq_presets) + embed3 = discord.Embed( + colour=await ctx.embed_colour(), + title=_( + "Current equalizer saved to the {preset_name} preset.".format( + preset_name=eq_preset + ) + ), + ) + if eq_exists_msg: + await self._clear_react(eq_exists_msg) + await eq_exists_msg.edit(embed=embed3) + else: + await ctx.send(embed=embed3) + + @eq.command(name="set") + async def _eq_set(self, ctx, band_name_or_position, band_value: float): + """Set an eq band with a band number or name and value. + + Band positions are 1-15 and values have a range of -0.25 to 1.0. + Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz. + Setting a band value to -0.25 nullifies it while +0.25 is double. + """ + if not self._player_check(ctx): + return await self._embed_msg(ctx, _("Nothing playing.")) + player = lavalink.get_player(ctx.guild.id) + band_names = [ + "25", + "40", + "63", + "100", + "160", + "250", + "400", + "630", + "1k", + "1.6k", + "2.5k", + "4k", + "6.3k", + "10k", + "16k", + ] + + eq = player.fetch("eq", Equalizer()) + bands_num = eq._band_count + if band_value > 1: + band_value = 1 + elif band_value <= -0.25: + band_value = -0.25 + else: + band_value = round(band_value, 1) + + try: + band_number = int(band_name_or_position) - 1 + except ValueError: + band_number = None + + if band_number not in range(0, bands_num) and band_name_or_position not in band_names: + return await self._embed_msg( + ctx, + _( + "Valid band numbers are 1-15 or the band names listed in the help for this command." + ), + ) + + if band_name_or_position in band_names: + band_pos = band_names.index(band_name_or_position) + band_int = False + eq.set_gain(int(band_pos), band_value) + await self._apply_gain(ctx.guild.id, int(band_pos), band_value) + else: + band_int = True + eq.set_gain(band_number, band_value) + await self._apply_gain(ctx.guild.id, band_number, band_value) + + await self._eq_msg_clear(player.fetch("eq_message")) + await self.config.custom("EQUALIZER", ctx.guild.id).eq_bands.set(eq.bands) + player.store("eq", eq) + band_name = band_names[band_number] if band_int else band_name_or_position + message = await ctx.send( + content=box(eq.visualise(), lang="ini"), + embed=discord.Embed( + colour=await ctx.embed_colour(), + title=_( + "The {band_name}Hz band has been set to {band_value}.".format( + band_name=band_name, band_value=band_value + ) + ), + ), + ) + player.store("eq_message", message) @commands.group() @commands.guild_only() @@ -1071,23 +1338,23 @@ class Audio(commands.Cog): timeout=10.0, ) except asyncio.TimeoutError: - return await self._clear_react(message) + return await self._clear_react(message, emoji) else: if task is not None: task.cancel() reacts = {v: k for k, v in emoji.items()} react = reacts[r.emoji] if react == "prev": - await self._clear_react(message) + await self._clear_react(message, emoji) await ctx.invoke(self.prev) elif react == "stop": - await self._clear_react(message) + await self._clear_react(message, emoji) await ctx.invoke(self.stop) elif react == "pause": - await self._clear_react(message) + await self._clear_react(message, emoji) await ctx.invoke(self.pause) elif react == "next": - await self._clear_react(message) + await self._clear_react(message, emoji) await ctx.invoke(self.skip) @commands.command() @@ -1237,8 +1504,10 @@ class Audio(commands.Cog): if not await self._can_instaskip(ctx, ctx.author): return await self._embed_msg(ctx, _("You need the DJ role to queue tracks.")) player = lavalink.get_player(ctx.guild.id) + player.store("channel", ctx.channel.id) player.store("guild", ctx.guild.id) + await self._eq_check(ctx, player) await self._data_check(ctx) if ( not ctx.author.voice or ctx.author.voice.channel != player.channel @@ -2191,6 +2460,7 @@ class Audio(commands.Cog): return False if not await self._currency_check(ctx, jukebox_price): return False + await self._eq_check(ctx, player) await self._data_check(ctx) return True @@ -2655,6 +2925,7 @@ class Audio(commands.Cog): return await self._embed_msg( ctx, _("You must be in the voice channel to enqueue tracks.") ) + await self._eq_check(ctx, player) await self._data_check(ctx) if not isinstance(query, list): @@ -3208,6 +3479,9 @@ class Audio(commands.Cog): if (player.is_playing) or (not player.is_playing and player.paused): await self._embed_msg(ctx, _("Stopping...")) await player.stop() + eq = player.fetch("eq") + if eq: + await self.config.custom("EQUALIZER", ctx.guild.id).eq_bands.set(eq.bands) player.store("prev_requester", None) player.store("prev_song", None) player.store("playing_song", None) @@ -3357,6 +3631,30 @@ class Audio(commands.Cog): self._restart_connect() + async def _apply_gain(self, guild_id, band, gain): + const = { + "op": "equalizer", + "guildId": str(guild_id), + "bands": [{"band": band, "gain": gain}], + } + + try: + await lavalink.get_player(guild_id).node.send({**const}) + except (KeyError, IndexError): + pass + + async def _apply_gains(self, guild_id, gains): + const = { + "op": "equalizer", + "guildId": str(guild_id), + "bands": [{"band": x, "gain": y} for x, y in enumerate(gains)], + } + + try: + await lavalink.get_player(guild_id).node.send({**const}) + except (KeyError, IndexError): + pass + async def _channel_check(self, ctx): try: player = lavalink.get_player(ctx.guild.id) @@ -3407,11 +3705,16 @@ class Audio(commands.Cog): else: return False - @staticmethod - async def _clear_react(message): + async def _clear_react(self, message, emoji: dict = None): try: await message.clear_reactions() - except (discord.Forbidden, discord.HTTPException): + except discord.Forbidden: + if not emoji: + return + for key in emoji.values(): + await asyncio.sleep(0.2) + await message.remove_reaction(key, self.bot.user) + except (discord.HTTPException, discord.NotFound): return async def _currency_check(self, ctx, jukebox_price: int): @@ -3516,6 +3819,119 @@ class Audio(commands.Cog): embed = discord.Embed(colour=await ctx.embed_colour(), title=title) await ctx.send(embed=embed) + async def _eq_check(self, ctx, player): + eq = player.fetch("eq", Equalizer()) + + config_bands = await self.config.custom("EQUALIZER", ctx.guild.id).eq_bands() + if not config_bands: + config_bands = eq.bands + await self.config.custom("EQUALIZER", ctx.guild.id).eq_bands.set(eq.bands) + + if eq.bands != config_bands: + band_num = list(range(0, eq._band_count)) + band_value = config_bands + eq_dict = {} + for k, v in zip(band_num, band_value): + eq_dict[k] = v + for band, value in eq_dict.items(): + eq.set_gain(band, value) + player.store("eq", eq) + await self._apply_gains(ctx.guild.id, config_bands) + + async def _eq_interact(self, ctx, player, eq, message, selected): + player.store("eq", eq) + emoji = { + "far_left": "◀", + "one_left": "⬅", + "max_output": "⏫", + "output_up": "🔼", + "output_down": "🔽", + "min_output": "⏬", + "one_right": "➡", + "far_right": "▶", + "reset": "⏺", + "info": "ℹ", + } + selector = f'{" " * 8}{" " * selected}^^' + try: + await message.edit(content=box(f"{eq.visualise()}\n{selector}", lang="ini")) + except discord.errors.NotFound: + return + try: + react_emoji, react_user = await self._get_eq_reaction(ctx, message, emoji) + except TypeError: + return + + if not react_emoji: + await self.config.custom("EQUALIZER", ctx.guild.id).eq_bands.set(eq.bands) + await self._clear_react(message, emoji) + + if react_emoji == "⬅": + await self._remove_react(message, react_emoji, react_user) + await self._eq_interact(ctx, player, eq, message, max(selected - 1, 0)) + + if react_emoji == "➡": + await self._remove_react(message, react_emoji, react_user) + await self._eq_interact(ctx, player, eq, message, min(selected + 1, 14)) + + if react_emoji == "🔼": + await self._remove_react(message, react_emoji, react_user) + _max = "{:.2f}".format(min(eq.get_gain(selected) + 0.1, 1.0)) + eq.set_gain(selected, float(_max)) + await self._apply_gain(ctx.guild.id, selected, _max) + await self._eq_interact(ctx, player, eq, message, selected) + + if react_emoji == "🔽": + await self._remove_react(message, react_emoji, react_user) + _min = "{:.2f}".format(max(eq.get_gain(selected) - 0.1, -0.25)) + eq.set_gain(selected, float(_min)) + await self._apply_gain(ctx.guild.id, selected, _min) + await self._eq_interact(ctx, player, eq, message, selected) + + if react_emoji == "⏫": + await self._remove_react(message, react_emoji, react_user) + _max = 1.0 + eq.set_gain(selected, _max) + await self._apply_gain(ctx.guild.id, selected, _max) + await self._eq_interact(ctx, player, eq, message, selected) + + if react_emoji == "⏬": + await self._remove_react(message, react_emoji, react_user) + _min = -0.25 + eq.set_gain(selected, _min) + await self._apply_gain(ctx.guild.id, selected, _min) + await self._eq_interact(ctx, player, eq, message, selected) + + if react_emoji == "◀": + await self._remove_react(message, react_emoji, react_user) + selected = 0 + await self._eq_interact(ctx, player, eq, message, selected) + + if react_emoji == "▶": + await self._remove_react(message, react_emoji, react_user) + selected = 14 + await self._eq_interact(ctx, player, eq, message, selected) + + if react_emoji == "⏺": + await self._remove_react(message, react_emoji, react_user) + for band in range(eq._band_count): + eq.set_gain(band, 0.0) + await self._apply_gains(ctx.guild.id, eq.bands) + await self._eq_interact(ctx, player, eq, message, selected) + + if react_emoji == "ℹ": + await self._remove_react(message, react_emoji, react_user) + await ctx.send_help(self.eq) + await self._eq_interact(ctx, player, eq, message, selected) + + @staticmethod + async def _eq_msg_clear(eq_message): + if eq_message is not None: + try: + await eq_message.delete() + except discord.errors.NotFound: + pass + async def _get_embed_colour(self, channel: discord.abc.GuildChannel): # Unfortunately we need this for when context is unavailable. if await self.bot.db.guild(channel.guild).use_bot_color(): @@ -3523,6 +3939,21 @@ class Audio(commands.Cog): else: return self.bot.color + async def _get_eq_reaction(self, ctx, message, emoji): + try: + reaction, user = await self.bot.wait_for( + "reaction_add", + check=lambda r, u: r.message.id == message.id + and u.id == ctx.author.id + and r.emoji in emoji.values(), + timeout=30, + ) + except asyncio.TimeoutError: + await self._clear_react(message, emoji) + return None + else: + return reaction.emoji, user + async def _localtracks_folders(self, ctx): if not await self._localtracks_check(ctx): return @@ -3591,6 +4022,13 @@ class Audio(commands.Cog): queue_total_duration = remain + queue_duration return queue_total_duration + @staticmethod + async def _remove_react(message, react_emoji, react_user): + try: + await message.remove_reaction(react_emoji, react_user) + except (discord.Forbidden, discord.HTTPException, discord.NotFound): + pass + @staticmethod def _to_json(ctx, playlist_url, tracklist): playlist = {"author": ctx.author.id, "playlist_url": playlist_url, "tracks": tracklist} diff --git a/redbot/cogs/audio/equalizer.py b/redbot/cogs/audio/equalizer.py new file mode 100644 index 000000000..ecb98c6ab --- /dev/null +++ b/redbot/cogs/audio/equalizer.py @@ -0,0 +1,50 @@ +# The equalizer class and some audio eq functions are derived from +# 180093157554388993's work, with his permission + + +class Equalizer: + def __init__(self): + self._band_count = 15 + self.bands = [0.0 for x in range(self._band_count)] + + def set_gain(self, band: int, gain: float): + if band < 0 or band >= self._band_count: + raise IndexError(f"Band {band} does not exist!") + + gain = min(max(gain, -0.25), 1.0) + + self.bands[band] = gain + + def get_gain(self, band: int): + if band < 0 or band >= self._band_count: + raise IndexError(f"Band {band} does not exist!") + return self.bands[band] + + def visualise(self): + block = "" + bands = [str(band + 1).zfill(2) for band in range(self._band_count)] + bottom = (" " * 8) + " ".join(bands) + gains = [1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0.0, -0.1, -0.2, -0.25] + + for gain in gains: + prefix = " " + + if gain > 0: + prefix = "+" + elif gain == 0: + prefix = " " + else: + prefix = "" + + block += f"{prefix}{gain:.2f} | " + + for value in self.bands: + if value >= gain: + block += "[] " + else: + block += " " + + block += "\n" + + block += bottom + return block From 25ccc11dc4e55dac9bc0374fedb3ca574e27b822 Mon Sep 17 00:00:00 2001 From: aikaterna <20862007+aikaterna@users.noreply.github.com> Date: Sun, 23 Jun 2019 22:05:01 -0700 Subject: [PATCH 047/183] [Audio] Add [p]summon (#2786) --- redbot/cogs/audio/audio.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/redbot/cogs/audio/audio.py b/redbot/cogs/audio/audio.py index a08539241..ae96b0f6b 100644 --- a/redbot/cogs/audio/audio.py +++ b/redbot/cogs/audio/audio.py @@ -3487,6 +3487,41 @@ class Audio(commands.Cog): player.store("playing_song", None) player.store("requester", None) + @commands.command() + @commands.guild_only() + @commands.cooldown(1, 15, discord.ext.commands.BucketType.guild) + @commands.bot_has_permissions(embed_links=True) + async def summon(self, ctx): + """Summon the bot to a voice channel.""" + dj_enabled = await self.config.guild(ctx.guild).dj_enabled() + try: + if ( + not ctx.author.voice.channel.permissions_for(ctx.me).connect + or not ctx.author.voice.channel.permissions_for(ctx.me).move_members + and self._userlimit(ctx.author.voice.channel) + ): + return await self._embed_msg( + ctx, _("I don't have permission to connect to your channel.") + ) + if not self._player_check(ctx): + await lavalink.connect(ctx.author.voice.channel) + player = lavalink.get_player(ctx.guild.id) + player.store("connect", datetime.datetime.utcnow()) + else: + player = lavalink.get_player(ctx.guild.id) + if ctx.author.voice.channel == player.channel: + return + await player.move_to(ctx.author.voice.channel) + except AttributeError: + return await self._embed_msg(ctx, _("Connect to a voice channel first.")) + except IndexError: + return await self._embed_msg( + ctx, _("Connection to Lavalink has not yet been established.") + ) + if dj_enabled: + if not await self._can_instaskip(ctx, ctx.author): + return await self._embed_msg(ctx, _("You need the DJ role to summon the bot.")) + @commands.command() @commands.guild_only() @commands.bot_has_permissions(embed_links=True) From 870b61536460f35a23a388cf3d1c819a31899fcc Mon Sep 17 00:00:00 2001 From: aikaterna <20862007+aikaterna@users.noreply.github.com> Date: Sun, 23 Jun 2019 22:09:04 -0700 Subject: [PATCH 048/183] [Audio] Queue & misc cleanup (#2784) * [Audio] Queue & misc cleanup --- redbot/cogs/audio/audio.py | 75 +++++++++++++++++++++++--------------- 1 file changed, 46 insertions(+), 29 deletions(-) diff --git a/redbot/cogs/audio/audio.py b/redbot/cogs/audio/audio.py index ae96b0f6b..b866793a3 100644 --- a/redbot/cogs/audio/audio.py +++ b/redbot/cogs/audio/audio.py @@ -126,7 +126,7 @@ class Audio(commands.Cog): self._connect_task = self.bot.loop.create_task(self.attempt_connect()) - async def attempt_connect(self, timeout: int = 30): + async def attempt_connect(self, timeout: int = 50): self._connection_aborted = False max_retries = 5 retry_count = 0 @@ -1335,7 +1335,7 @@ class Audio(commands.Cog): (r, u) = await self.bot.wait_for( "reaction_add", check=ReactionPredicate.with_emojis(expected, message, ctx.author), - timeout=10.0, + timeout=30.0, ) except asyncio.TimeoutError: return await self._clear_react(message, emoji) @@ -1468,7 +1468,6 @@ class Audio(commands.Cog): @commands.bot_has_permissions(embed_links=True) async def play(self, ctx, *, query): """Play a URL or search for a track.""" - guild_data = await self.config.guild(ctx.guild).all() restrict = await self.config.restrict() if restrict: @@ -2554,23 +2553,30 @@ class Audio(commands.Cog): @commands.group(invoke_without_command=True) @commands.guild_only() @commands.bot_has_permissions(embed_links=True, add_reactions=True) - async def queue(self, ctx, *, page="1"): - """List the queue. + async def queue(self, ctx, *, page: int = 1): + """List the songs in the queue.""" + + async def _queue_menu( + ctx: commands.Context, + pages: list, + controls: dict, + message: discord.Message, + page: int, + timeout: float, + emoji: str, + ): + if message: + await ctx.send_help(self.queue) + await message.delete() + return None + + QUEUE_CONTROLS = {"⬅": prev_page, "❌": close_menu, "➡": next_page, "ℹ": _queue_menu} - Use [p]queue search to search the queue. - """ if not self._player_check(ctx): return await self._embed_msg(ctx, _("There's nothing in the queue.")) player = lavalink.get_player(ctx.guild.id) if not player.queue: return await self._embed_msg(ctx, _("There's nothing in the queue.")) - if not page.isdigit(): - if page.startswith("search "): - return await self._queue_search(ctx=ctx, search_words=page.replace("search ", "")) - else: - return - else: - page = int(page) len_queue_pages = math.ceil(len(player.queue) / 10) queue_page_list = [] for page_num in range(1, len_queue_pages + 1): @@ -2578,7 +2584,7 @@ class Audio(commands.Cog): queue_page_list.append(embed) if page > len_queue_pages: page = len_queue_pages - await menu(ctx, queue_page_list, DEFAULT_CONTROLS, page=(page - 1)) + await menu(ctx, queue_page_list, QUEUE_CONTROLS, page=(page - 1)) async def _build_queue_page(self, ctx, player, page_num): shuffle = await self.config.guild(ctx.guild).shuffle() @@ -2676,18 +2682,6 @@ class Audio(commands.Cog): embed.set_footer(text=text) return embed - async def _queue_search(self, ctx, *, search_words): - player = lavalink.get_player(ctx.guild.id) - search_list = await self._build_queue_search_list(player.queue, search_words) - if not search_list: - return await self._embed_msg(ctx, _("No matches.")) - len_search_pages = math.ceil(len(search_list) / 10) - search_page_list = [] - for page_num in range(1, len_search_pages + 1): - embed = await self._build_queue_search_page(ctx, page_num, search_list) - search_page_list.append(embed) - await menu(ctx, search_page_list, DEFAULT_CONTROLS) - async def _build_queue_search_list(self, queue_list, search_words): track_list = [] queue_idx = 0 @@ -2720,8 +2714,9 @@ class Audio(commands.Cog): for i, track in enumerate( search_list[search_idx_start:search_idx_end], start=search_idx_start ): + track_idx = i + 1 - if command == "search": + if type(track) is str: local_path = await self.config.localpath() track_location = track.replace("localtrack:{}/localtracks/".format(local_path), "") track_match += "`{}.` **{}**\n".format(track_idx, track_location) @@ -2791,6 +2786,28 @@ class Audio(commands.Cog): ).format(removed_tracks=removed_tracks), ) + @queue.command(name="search") + @commands.guild_only() + async def _queue_search(self, ctx, *, search_words: str): + """Search the queue.""" + try: + player = lavalink.get_player(ctx.guild.id) + except KeyError: + return await self._embed_msg(ctx, _("There's nothing in the queue.")) + if not self._player_check(ctx) or not player.queue: + return await self._embed_msg(ctx, _("There's nothing in the queue.")) + + search_list = await self._build_queue_search_list(player.queue, search_words) + if not search_list: + return await self._embed_msg(ctx, _("No matches.")) + + len_search_pages = math.ceil(len(search_list) / 10) + search_page_list = [] + for page_num in range(1, len_search_pages + 1): + embed = await self._build_queue_search_page(ctx, page_num, search_list) + search_page_list.append(embed) + await menu(ctx, search_page_list, DEFAULT_CONTROLS) + @commands.command() @commands.guild_only() @commands.bot_has_permissions(embed_links=True) @@ -3248,7 +3265,7 @@ class Audio(commands.Cog): @commands.guild_only() @commands.bot_has_permissions(embed_links=True) async def sing(self, ctx): - """Make Red sing one of her songs""" + """Make Red sing one of her songs.""" ids = ( "zGTkAVsrfg8", "cGMWL8cOeAU", From 52f5d5cd6abde291a37c6eabece0bf548280665a Mon Sep 17 00:00:00 2001 From: kennnyshiwa <44236678+kennnyshiwa@users.noreply.github.com> Date: Mon, 24 Jun 2019 02:39:03 -0400 Subject: [PATCH 049/183] [Mod] add role mentions to userinfo and reverse role sorting (#2759) * add role mentions to userinfo and reverse role sorting This small PR adds the role mentions to userinfo and reverses the sorting so that the top most role of a user is at the left of the embed * Remove sorting as it's handled by d.py --- redbot/cogs/mod/names.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/redbot/cogs/mod/names.py b/redbot/cogs/mod/names.py index 4a4bb4edf..e3e7a269b 100644 --- a/redbot/cogs/mod/names.py +++ b/redbot/cogs/mod/names.py @@ -91,7 +91,7 @@ class ModInfo(MixinMeta): special_date = datetime(2016, 1, 10, 6, 8, 4, 443000) is_special = user.id == 96130341705637888 and guild.id == 133049272517001216 - roles = sorted(user.roles)[1:] + roles = user.roles[-1:0:-1] names, nicks = await self.get_names_and_nicks(user) joined_at = user.joined_at if not is_special else special_date @@ -125,7 +125,7 @@ class ModInfo(MixinMeta): activity = _("Watching {}").format(user.activity.name) if roles: - roles = ", ".join([x.name for x in roles]) + roles = ", ".join([x.mention for x in roles]) else: roles = None From f91d8610ae3cfcca48144e9745c5edbf424250e0 Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Wed, 26 Jun 2019 00:52:33 +1000 Subject: [PATCH 050/183] [ModLog] Use custom scopes for ModLog Config (#2766) Modlog was the biggest culprit for seriously large documents in the MongoDB backend, since it stored all cases as nested dicts in the guild scope. So, for example, on the Fortnite server, the guild document for Kowlin's bot had exceeded 8MB. This commit gives each case its own document. It also does the same for casetypes. Not only does it remove the possibility of the document exceeding the maximum size in MongoDB, it's also just more efficient for all backends. Other misc changes: Fixed a bunch of type-hints, and also added more support for when an object related to a case (user, moderator, channel etc.) can't be found (because it was deleted or something rather) Signed-off-by: Toby Harradine --- redbot/__main__.py | 2 +- redbot/core/modlog.py | 339 ++++++++++++++++++++++++------------------ redbot/pytest/mod.py | 4 +- 3 files changed, 201 insertions(+), 144 deletions(-) diff --git a/redbot/__main__.py b/redbot/__main__.py index 8509def4a..e64de887a 100644 --- a/redbot/__main__.py +++ b/redbot/__main__.py @@ -117,7 +117,7 @@ def main(): if cli_flags.dev: red.add_cog(Dev()) # noinspection PyProtectedMember - modlog._init() + loop.run_until_complete(modlog._init()) # noinspection PyProtectedMember bank._init() diff --git a/redbot/core/modlog.py b/redbot/core/modlog.py index 9b95e2abe..7a6db696b 100644 --- a/redbot/core/modlog.py +++ b/redbot/core/modlog.py @@ -1,5 +1,5 @@ from datetime import datetime -from typing import List, Union +from typing import List, Union, Optional, cast import discord @@ -30,18 +30,66 @@ __all__ = [ "reset_cases", ] -_DEFAULT_GLOBAL = {"casetypes": {}} +_conf: Optional[Config] = None -_DEFAULT_GUILD = {"mod_log": None, "cases": {}, "casetypes": {}} - -_conf: Config = None +_CASETYPES = "CASETYPES" +_CASES = "CASES" +_SCHEMA_VERSION = 2 -def _init(): +async def _init(): global _conf _conf = Config.get_conf(None, 1354799444, cog_name="ModLog") - _conf.register_global(**_DEFAULT_GLOBAL) - _conf.register_guild(**_DEFAULT_GUILD) + _conf.register_global(schema_version=1) + _conf.register_guild(mod_log=None, casetypes={}) + _conf.init_custom(_CASETYPES, 1) + _conf.init_custom(_CASES, 2) + _conf.register_custom( + _CASETYPES, default_setting=None, image=None, case_str=None, audit_type=None + ) + _conf.register_custom( + _CASES, + case_number=None, + action_type=None, + guild=None, + created_at=None, + user=None, + moderator=None, + reason=None, + until=None, + channel=None, + amended_by=None, + modified_at=None, + message=None, + ) + await _migrate_config(from_version=await _conf.schema_version(), to_version=_SCHEMA_VERSION) + + +async def _migrate_config(from_version: int, to_version: int): + if from_version == to_version: + return + elif from_version < to_version: + # casetypes go from GLOBAL -> casetypes to CASETYPES + all_casetypes = await _conf.get_raw("casetypes", default={}) + if all_casetypes: + await _conf.custom(_CASETYPES).set(all_casetypes) + + # cases go from GUILD -> guild_id -> cases to CASES -> guild_id -> cases + all_guild_data = await _conf.all_guilds() + all_cases = {} + for guild_id, guild_data in all_guild_data.items(): + guild_cases = guild_data.pop("cases", None) + if guild_cases: + all_cases[str(guild_id)] = guild_cases + await _conf.custom(_CASES).set(all_cases) + + # new schema is now in place + await _conf.schema_version.set(_SCHEMA_VERSION) + + # migration done, now let's delete all the old stuff + await _conf.clear_raw("casetypes") + for guild_id in all_guild_data: + await _conf.guild(cast(discord.Guild, discord.Object(id=guild_id))).clear_raw("cases") class Case: @@ -53,15 +101,15 @@ class Case: guild: discord.Guild, created_at: int, action_type: str, - user: discord.User, - moderator: discord.Member, + user: Union[discord.User, int], + moderator: discord.User, case_number: int, reason: str = None, until: int = None, - channel: discord.TextChannel = None, - amended_by: discord.Member = None, - modified_at: int = None, - message: discord.Message = None, + channel: Optional[Union[discord.TextChannel, discord.VoiceChannel, int]] = None, + amended_by: Optional[discord.User] = None, + modified_at: Optional[int] = None, + message: Optional[discord.Message] = None, ): self.bot = bot self.guild = guild @@ -90,7 +138,7 @@ class Case: for item in list(data.keys()): setattr(self, item, data[item]) - await _conf.guild(self.guild).cases.set_raw(str(self.case_number), value=self.to_json()) + await _conf.custom(_CASES, str(self.guild.id), str(self.case_number)).set(self.to_json()) self.bot.dispatch("modlog_case_edit", self) async def message_content(self, embed: bool = True): @@ -119,11 +167,7 @@ class Case: reason = "**Reason:** Use the `reason` command to add it" if self.moderator is not None: - moderator = escape_spoilers( - "{}#{} ({})\n".format( - self.moderator.name, self.moderator.discriminator, self.moderator.id - ) - ) + moderator = escape_spoilers(f"{self.moderator} ({self.moderator.id})") else: moderator = "Unknown" until = None @@ -151,21 +195,28 @@ class Case: datetime.fromtimestamp(self.modified_at).strftime("%Y-%m-%d %H:%M:%S") ) - user = escape_spoilers( - filter_invites( - "{}#{} ({})\n".format(self.user.name, self.user.discriminator, self.user.id) - ) - ) # Invites and spoilers get rendered even in embeds. + if isinstance(self.user, int): + user = f"Deleted User#0000 ({self.user})" + avatar_url = None + else: + user = escape_spoilers( + filter_invites(f"{self.user} ({self.user.id})") + ) # Invites and spoilers get rendered even in embeds. + avatar_url = self.user.avatar_url + if embed: emb = discord.Embed(title=title, description=reason) - emb.set_author(name=user, icon_url=self.user.avatar_url) + if avatar_url is not None: + emb.set_author(name=user, icon_url=avatar_url) emb.add_field(name="Moderator", value=moderator, inline=False) if until and duration: emb.add_field(name="Until", value=until) emb.add_field(name="Duration", value=duration) - if self.channel: + if isinstance(self.channel, int): + emb.add_field(name="Channel", value=f"{self.channel} (deleted)", inline=False) + elif self.channel is not None: emb.add_field(name="Channel", value=self.channel.name, inline=False) if amended_by: emb.add_field(name="Amended by", value=amended_by) @@ -203,12 +254,15 @@ class Case: mod = self.moderator.id else: mod = None + if isinstance(self.user, int): + user_id = self.user + else: + user_id = self.user.id data = { - "case_number": self.case_number, "action_type": self.action_type, "guild": self.guild.id, "created_at": self.created_at, - "user": self.user.id, + "user": user_id, "moderator": mod, "reason": self.reason, "until": self.until, @@ -220,7 +274,9 @@ class Case: return data @classmethod - async def from_json(cls, mod_channel: discord.TextChannel, bot: Red, data: dict): + async def from_json( + cls, mod_channel: discord.TextChannel, bot: Red, case_number: int, data: dict, **kwargs + ): """Get a Case object from the provided information Parameters @@ -229,8 +285,14 @@ class Case: The mod log channel for the guild bot: Red The bot's instance. Needed to get the target user + case_number: int + The case's number. data: dict The JSON representation of the case to be gotten + **kwargs + Extra attributes for the Case instance which override values + in the data dict. These should be complete objects and not + IDs, where possible. Returns ------- @@ -246,31 +308,55 @@ class Case: `discord.HTTPException` A generic API issue """ - guild = mod_channel.guild - if data["message"]: - try: - message = await mod_channel.fetch_message(data["message"]) - except discord.NotFound: + guild = kwargs.get("guild") or mod_channel.guild + + message = kwargs.get("message") + if message is None: + message_id = data.get("message") + if message_id is not None: + try: + message = discord.utils.get(bot.cached_messages, id=message_id) + except AttributeError: + # bot.cached_messages didn't exist prior to discord.py 1.1.0 + message = None + if message is None: + try: + message = await mod_channel.fetch_message(message_id) + except (discord.NotFound, AttributeError): + message = None + else: message = None - user = await bot.fetch_user(data["user"]) - moderator = guild.get_member(data["moderator"]) - channel = guild.get_channel(data["channel"]) - amended_by = guild.get_member(data["amended_by"]) - case_guild = bot.get_guild(data["guild"]) + + user_objects = {"user": None, "moderator": None, "amended_by": None} + for user_key in tuple(user_objects): + user_object = kwargs.get(user_key) + if user_object is None: + user_id = data.get(user_key) + if user_id is None: + user_object = None + else: + user_object = bot.get_user(user_id) + if user_object is None: + try: + user_object = await bot.fetch_user(user_id) + except discord.NotFound: + user_object = user_id + user_objects[user_key] = user_object + + channel = kwargs.get("channel") or guild.get_channel(data["channel"]) or data["channel"] + case_guild = kwargs.get("guild") or bot.get_guild(data["guild"]) return cls( bot=bot, guild=case_guild, created_at=data["created_at"], action_type=data["action_type"], - user=user, - moderator=moderator, - case_number=data["case_number"], + case_number=case_number, reason=data["reason"], until=data["until"], channel=channel, - amended_by=amended_by, modified_at=data["modified_at"], message=message, + **user_objects, ) @@ -300,8 +386,8 @@ class CaseType: default_setting: bool, image: str, case_str: str, - audit_type: str = None, - guild: discord.Guild = None, + audit_type: Optional[str] = None, + guild: Optional[discord.Guild] = None, ): self.name = name self.default_setting = default_setting @@ -318,7 +404,7 @@ class CaseType: "case_str": self.case_str, "audit_type": self.audit_type, } - await _conf.casetypes.set_raw(self.name, value=data) + await _conf.custom(_CASETYPES, self.name).set(data) async def is_enabled(self) -> bool: """ @@ -352,23 +438,27 @@ class CaseType: await _conf.guild(self.guild).casetypes.set_raw(self.name, value=enabled) @classmethod - def from_json(cls, data: dict): + def from_json(cls, name: str, data: dict, **kwargs): """ Parameters ---------- - data: dict - The data to create an instance from + name : str + The casetype's name. + data : dict + The JSON data to create an instance from + **kwargs + Values for other attributes of the instance Returns ------- CaseType """ - return cls(**data) + return cls(name=name, **data, **kwargs) -async def get_next_case_number(guild: discord.Guild) -> str: +async def get_next_case_number(guild: discord.Guild) -> int: """ Gets the next case number @@ -379,12 +469,15 @@ async def get_next_case_number(guild: discord.Guild) -> str: Returns ------- - str + int The next case number """ - cases = sorted((await _conf.guild(guild).get_raw("cases")), key=lambda x: int(x), reverse=True) - return str(int(cases[0]) + 1) if cases else "1" + case_numbers = (await _conf.custom(_CASES, guild.id).all()).keys() + if not case_numbers: + return 1 + else: + return max(map(int, case_numbers)) + 1 async def get_case(case_number: int, guild: discord.Guild, bot: Red) -> Case: @@ -412,11 +505,11 @@ async def get_case(case_number: int, guild: discord.Guild, bot: Red) -> Case: """ try: - case = await _conf.guild(guild).cases.get_raw(str(case_number)) + case = await _conf.custom(_CASES, str(guild.id), str(case_number)).all() except KeyError as e: raise RuntimeError("That case does not exist for guild {}".format(guild.name)) from e mod_channel = await get_modlog_channel(guild) - return await Case.from_json(mod_channel, bot, case) + return await Case.from_json(mod_channel, bot, case_number, case) async def get_all_cases(guild: discord.Guild, bot: Red) -> List[Case]: @@ -436,12 +529,12 @@ async def get_all_cases(guild: discord.Guild, bot: Red) -> List[Case]: A list of all cases for the guild """ - cases = await _conf.guild(guild).get_raw("cases") - case_numbers = list(cases.keys()) - case_list = [] - for case in case_numbers: - case_list.append(await get_case(case, guild, bot)) - return case_list + cases = await _conf.custom(_CASES, str(guild.id)).all() + mod_channel = await get_modlog_channel(guild) + return [ + await Case.from_json(mod_channel, bot, case_number, case_data) + for case_number, case_data in cases.items() + ] async def get_cases_for_member( @@ -470,15 +563,13 @@ async def get_cases_for_member( ------ ValueError If at least one of member or member_id is not provided - `discord.NotFound` - A user with this ID does not exist. `discord.Forbidden` The bot does not have permission to fetch the modlog message which was sent. `discord.HTTPException` Fetching the user failed. """ - cases = await _conf.guild(guild).get_raw("cases") + cases = await _conf.custom(_CASES, str(guild.id)).all() if not (member_id or member): raise ValueError("Expected a member or a member id to be provided.") from None @@ -487,43 +578,21 @@ async def get_cases_for_member( member_id = member.id if not member: - member = guild.get_member(member_id) + member = bot.get_user(member_id) if not member: - member = await bot.fetch_user(member_id) + try: + member = await bot.fetch_user(member_id) + except discord.NotFound: + member = member_id try: - mod_channel = await get_modlog_channel(guild) + modlog_channel = await get_modlog_channel(guild) except RuntimeError: - mod_channel = None - - async def make_case(data: dict) -> Case: - - message = None - if data["message"] and mod_channel: - try: - message = await mod_channel.fetch_message(data["message"]) - except discord.NotFound: - pass - - return Case( - bot=bot, - guild=bot.get_guild(data["guild"]), - created_at=data["created_at"], - action_type=data["action_type"], - user=member, - moderator=guild.get_member(data["moderator"]), - case_number=data["case_number"], - reason=data["reason"], - until=data["until"], - channel=guild.get_channel(data["channel"]), - amended_by=guild.get_member(data["amended_by"]), - modified_at=data["modified_at"], - message=message, - ) + modlog_channel = None cases = [ - await make_case(case_data) - for case_data in cases.values() + await Case.from_json(modlog_channel, bot, case_number, case_data, user=member, guild=guild) + for case_number, case_data in cases.items() if case_data["user"] == member_id ] @@ -536,11 +605,11 @@ async def create_case( created_at: datetime, action_type: str, user: Union[discord.User, discord.Member], - moderator: discord.Member = None, - reason: str = None, - until: datetime = None, - channel: discord.TextChannel = None, -) -> Union[Case, None]: + moderator: Optional[Union[discord.User, discord.Member]] = None, + reason: Optional[str] = None, + until: Optional[datetime] = None, + channel: Optional[discord.TextChannel] = None, +) -> Optional[Case]: """ Creates a new case. @@ -548,36 +617,36 @@ async def create_case( Parameters ---------- - bot: `Red` + bot: Red The bot object - guild: `discord.Guild` + guild: discord.Guild The guild the action was taken in created_at: datetime The time the action occurred at action_type: str The type of action that was taken - user: `discord.User` or `discord.Member` + user: Union[discord.User, discord.Member] The user target by the action - moderator: `discord.Member` + moderator: Optional[Union[discord.User, discord.Member]] The moderator who took the action - reason: str + reason: Optional[str] The reason the action was taken - until: datetime + until: Optional[datetime] The time the action is in effect until - channel: `discord.TextChannel` or `discord.VoiceChannel` + channel: Optional[discord.TextChannel] The channel the action was taken in """ case_type = await get_casetype(action_type, guild) if case_type is None: - return None + return if not await case_type.is_enabled(): - return None + return if user == bot.user: - return None + return - next_case_number = int(await get_next_case_number(guild)) + next_case_number = await get_next_case_number(guild) case = Case( bot, @@ -594,12 +663,12 @@ async def create_case( modified_at=None, message=None, ) - await _conf.guild(guild).cases.set_raw(str(next_case_number), value=case.to_json()) + await _conf.custom(_CASES, str(guild.id), str(next_case_number)).set(case.to_json()) bot.dispatch("modlog_case_create", case) return case -async def get_casetype(name: str, guild: discord.Guild = None) -> Union[CaseType, None]: +async def get_casetype(name: str, guild: Optional[discord.Guild] = None) -> Optional[CaseType]: """ Gets the case type @@ -607,22 +676,21 @@ async def get_casetype(name: str, guild: discord.Guild = None) -> Union[CaseType ---------- name: str The name of the case type to get - guild: discord.Guild + guild: Optional[discord.Guild] If provided, sets the case type's guild attribute to this guild Returns ------- - CaseType or None + Optional[CaseType] """ - casetypes = await _conf.get_raw("casetypes") - if name in casetypes: - data = casetypes[name] - data["name"] = name - casetype = CaseType.from_json(data) + try: + data = await _conf.custom(_CASETYPES, name).all() + except KeyError: + return + else: + casetype = CaseType.from_json(name, data) casetype.guild = guild return casetype - else: - return None async def get_all_casetypes(guild: discord.Guild = None) -> List[CaseType]: @@ -635,15 +703,10 @@ async def get_all_casetypes(guild: discord.Guild = None) -> List[CaseType]: A list of case types """ - casetypes = await _conf.get_raw("casetypes", default={}) - typelist = [] - for ct in casetypes.keys(): - data = casetypes[ct] - data["name"] = ct - casetype = CaseType.from_json(data) - casetype.guild = guild - typelist.append(casetype) - return typelist + return [ + CaseType.from_json(name, data, guild=guild) + for name, data in await _conf.custom(_CASETYPES).all() + ] async def register_casetype( @@ -822,7 +885,7 @@ async def set_modlog_channel( return True -async def reset_cases(guild: discord.Guild) -> bool: +async def reset_cases(guild: discord.Guild) -> None: """ Wipes all modlog cases for the specified guild @@ -831,14 +894,8 @@ async def reset_cases(guild: discord.Guild) -> bool: guild: `discord.Guild` The guild to reset cases for - Returns - ------- - bool - `True` if successful - """ - await _conf.guild(guild).cases.set({}) - return True + await _conf.custom(_CASES, str(guild.id)).clear() def _strfdelta(delta): diff --git a/redbot/pytest/mod.py b/redbot/pytest/mod.py index 30b2fcda3..243af525b 100644 --- a/redbot/pytest/mod.py +++ b/redbot/pytest/mod.py @@ -5,11 +5,11 @@ __all__ = ["mod"] @pytest.fixture -def mod(config, monkeypatch): +async def mod(config, monkeypatch): from redbot.core import Config with monkeypatch.context() as m: m.setattr(Config, "get_conf", lambda *args, **kwargs: config) - modlog._init() + await modlog._init() return modlog From 49819a2eebd3b9f891dd2c1ca1e63d0818a08a74 Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Wed, 26 Jun 2019 20:39:22 +1000 Subject: [PATCH 051/183] [ModLog] Fix `get_all_casetypes()` (#2807) Signed-off-by: Toby Harradine --- redbot/core/modlog.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redbot/core/modlog.py b/redbot/core/modlog.py index 7a6db696b..62dd1e03a 100644 --- a/redbot/core/modlog.py +++ b/redbot/core/modlog.py @@ -705,7 +705,7 @@ async def get_all_casetypes(guild: discord.Guild = None) -> List[CaseType]: """ return [ CaseType.from_json(name, data, guild=guild) - for name, data in await _conf.custom(_CASETYPES).all() + for name, data in (await _conf.custom(_CASETYPES).all()).items() ] From a0f34bbbd9612ad9829ae717271c3b5fae545354 Mon Sep 17 00:00:00 2001 From: aikaterna <20862007+aikaterna@users.noreply.github.com> Date: Wed, 26 Jun 2019 17:48:06 -0700 Subject: [PATCH 052/183] [Audio] Move DJ role check in [p]summon (#2799) --- redbot/cogs/audio/audio.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/redbot/cogs/audio/audio.py b/redbot/cogs/audio/audio.py index b866793a3..884fece62 100644 --- a/redbot/cogs/audio/audio.py +++ b/redbot/cogs/audio/audio.py @@ -3511,6 +3511,9 @@ class Audio(commands.Cog): async def summon(self, ctx): """Summon the bot to a voice channel.""" dj_enabled = await self.config.guild(ctx.guild).dj_enabled() + if dj_enabled: + if not await self._can_instaskip(ctx, ctx.author): + return await self._embed_msg(ctx, _("You need the DJ role to summon the bot.")) try: if ( not ctx.author.voice.channel.permissions_for(ctx.me).connect @@ -3535,9 +3538,6 @@ class Audio(commands.Cog): return await self._embed_msg( ctx, _("Connection to Lavalink has not yet been established.") ) - if dj_enabled: - if not await self._can_instaskip(ctx, ctx.author): - return await self._embed_msg(ctx, _("You need the DJ role to summon the bot.")) @commands.command() @commands.guild_only() From d1d4ec3e386175e782591802c0f44c90f53c9023 Mon Sep 17 00:00:00 2001 From: aikaterna <20862007+aikaterna@users.noreply.github.com> Date: Thu, 27 Jun 2019 05:13:01 -0700 Subject: [PATCH 053/183] [Audio] No capitalization needed (#2801) --- redbot/cogs/audio/audio.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redbot/cogs/audio/audio.py b/redbot/cogs/audio/audio.py index 884fece62..eb43d5f70 100644 --- a/redbot/cogs/audio/audio.py +++ b/redbot/cogs/audio/audio.py @@ -907,7 +907,7 @@ class Audio(commands.Cog): eq_values = eq_presets[eq_preset] except KeyError: return await self._embed_msg( - ctx, _("No preset named {eq_preset}.".format(eq_preset=eq_preset.capitalize())) + ctx, _("No preset named {eq_preset}.".format(eq_preset=eq_preset)) ) await self.config.custom("EQUALIZER", ctx.guild.id).eq_bands.set(eq_values) if not self._player_check(ctx): From 461f56bca11bbabf4e4fd742fe362041a1041d89 Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Fri, 28 Jun 2019 00:16:14 +1000 Subject: [PATCH 054/183] Kill Pipfile, update dependencies, and add dep bumping tools (#2806) ### Replacement for pipenv's environment setup First of all, there's a new Make recipe for all devs and contributors on both Windows and Posix, `make setupenv`, which is kind of a replacement for `pipenv install --dev`. It creates a virtual environment in `.venv` using the inbuilt `venv` module, clearing out any existing virtual environment if needed first. Then it installs all dev dependencies using our new `dev-requirements.txt` file. `CONTRIBUTING.md` has been updated to reflect all of this. ### Dependency version bumping tool Secondly, I've added a python script, `tools/bumpdeps.py` to help with bumping dependency versions. It has its own Make recipe too, `make bumpdeps`. This script won't work on Windows (yet). It reads the `tools/primary_deps.ini` file, which contains the primary requirements of Red and its extras with loose version specifiers, and outputs all pinned dependencies, in `setup.cfg` format. It's not a foolproof dependency resolver, it's quite simple, but it's bound to help out a lot. It'll try to give warnings if there might be a version conflict, but updating `setup.cfg` with its output and then doing `pip install -r dev-requirements.txt` will allow pip to issue warnings if something is conflicting. So to add a new dependency, add it to `tools/primary_deps.ini` in the appropriate place, and either use `make bumpdeps` to completely update all dependencies, or simply add it to `setup.cfg` manually with its sub-dependencies, and all versions pinned. ### Sphinx 2.1.2 (docs changes) The sphinx update brought along the ability to disable type annotations being rendered in function and method signatures, and I have gladly gone and done that. Type annotations should already be specified under the "Parameters" section, and the way sphinx renders them in function signatures makes them much harder to read. Also, documented classes will now display what classes they inherit from. Signed-off-by: Toby Harradine --- .github/CONTRIBUTING.md | 32 +- .gitignore | 2 + Makefile | 10 + Pipfile | 11 - Pipfile.lock | 885 ---------------------------------------- dev-requirements.txt | 3 + docs/conf.py | 9 +- make.bat | 7 + redbot/core/__init__.py | 4 - redbot/core/modlog.py | 2 +- setup.cfg | 77 ++-- tools/bumpdeps.py | 171 ++++++++ tools/primary_deps.ini | 40 ++ 13 files changed, 306 insertions(+), 947 deletions(-) delete mode 100644 Pipfile delete mode 100644 Pipfile.lock create mode 100644 dev-requirements.txt create mode 100755 tools/bumpdeps.py create mode 100644 tools/primary_deps.ini diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index d7dedc705..0858e15df 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -56,24 +56,27 @@ The following requirements must be installed prior to setting up: - Python 3.7.0 or greater - git - pip - - pipenv -If you're not on Windows, you can optionally install [pyenv](https://github.com/pyenv/pyenv), which will help you run tests for different python versions. +If you're not on Windows, you should also have GNU make installed, and you can optionally install [pyenv](https://github.com/pyenv/pyenv), which can help you run tests for different python versions. 1. Fork and clone the repository to a directory on your local machine. -2. Open a command line in that directory and execute the following commands: +2. Open a command line in that directory and execute the following command: ```bash - pip install pipenv - pipenv install --dev + make setupenv ``` - Red, its dependencies, and all required development tools, are now installed to a virtual environment. Red is installed in editable mode, meaning that edits you make to the source code in the repository will be reflected when you run Red. -3. Activate the new virtual environment with the command: - ```bash - pipenv shell - ``` - From here onwards, we will assume you are executing commands from within this shell. Each time you open a new command line, you should execute this command first. + Red, its dependencies, and all required development tools, are now installed to a virtual environment located in the `.venv` subdirectory. Red is installed in editable mode, meaning that edits you make to the source code in the repository will be reflected when you run Red. +3. Activate the new virtual environment with one of the following commands: + - Posix: + ```bash + source .venv/bin/activate + ``` + - Windows: + ```powershell + .venv\Scripts\activate + ``` + Each time you open a new command line, you should execute this command first. From here onwards, we will assume you are executing commands from within this activated virtual environment. -Note: If you haven't used `pipenv` before but are comfortable with virtualenvs, just run `pip install pipenv` in the virtualenv you're already using and invoke the command above from the cloned Red repo. It will do the correct thing. +**Note:** If you're comfortable with setting up virtual environments yourself and would rather do it manually, just run `pip install -r dev-requirements.txt` after setting it up. ### 4.2 Testing We've recently started using [tox](https://github.com/tox-dev/tox) to run all of our tests. It's extremely simple to use, and if you followed the previous section correctly, it is already installed to your virtual environment. @@ -95,12 +98,13 @@ Our style checker of choice, [black](https://github.com/ambv/black), actually ha Use the command `black --help` to see how to use this tool. The full style guide is explained in detail on [black's GitHub repository](https://github.com/ambv/black). **There is one exception to this**, however, which is that we set the line length to 99, instead of black's default 88. When using `black` on the command line, simply use it like so: `black -l 99 -N `. ### 4.4 Make -You may have noticed we have a `Makefile` and a `make.bat` in the top-level directory. For now, you can do two things with them: +You may have noticed we have a `Makefile` and a `make.bat` in the top-level directory. For now, you can do three things with them: 1. `make reformat`: Reformat all python files in the project with Black 2. `make stylecheck`: Check if any `.py` files in the project need reformatting +3. `make setupenv`: Set up a new virtual environment in the `.venv` subdirectory, and install Red and its dependencies. If one already exists, it is cleared out and replaced. ### 4.5 Keeping your dependencies up to date -Whenever you pull from upstream (V3/develop on the main repository) and you notice the file `Pipfile.lock` has been changed, it usually means one of the package dependencies have been updated, added or removed. To make sure you're testing and formatting with the most up-to-date versions of our dependencies, run `pipenv install --dev` again. +Whenever you pull from upstream (V3/develop on the main repository) and you notice either of the files `setup.cfg` or `dev-requirements.txt` have been changed, it can often mean some package dependencies have been updated, added or removed. To make sure you're testing and formatting with the most up-to-date versions of our dependencies, run `make setupenv` to recreate your virtual environment. You could also simply do `pip install -Ur dev-requirements.txt`, but you will still have any dependencies which may have been removed previously. ### 4.6 To contribute changes diff --git a/.gitignore b/.gitignore index 61f2eb923..ba29f5881 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,8 @@ *.pot .data !/tests/cogs/dataconverter/data/**/*.json +Pipfile +Pipfile.lock ### JetBrains template # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm diff --git a/Makefile b/Makefile index 46de7da9f..6280b2bfb 100644 --- a/Makefile +++ b/Makefile @@ -12,3 +12,13 @@ upload_translations: crowdin upload sources download_translations: crowdin download + +# Dependencies +bumpdeps: + python tools/bumpdeps.py + +# Development environment +setupenv: + python3.7 -m venv --clear .venv + .venv/bin/pip install -U pip setuptools + .venv/bin/pip install -Ur dev-requirements.txt diff --git a/Pipfile b/Pipfile deleted file mode 100644 index da8fd1aad..000000000 --- a/Pipfile +++ /dev/null @@ -1,11 +0,0 @@ -[[source]] -url = "https://pypi.org/simple" -verify_ssl = true -name = "pypi" - -[packages] -red-discordbot = {path = ".",editable = true,extras = ['mongo']} - -[dev-packages] -tox = "*" -red-discordbot = {path = ".",editable = true,extras = ['docs', 'test', 'style', 'mongo']} diff --git a/Pipfile.lock b/Pipfile.lock deleted file mode 100644 index 9a259f509..000000000 --- a/Pipfile.lock +++ /dev/null @@ -1,885 +0,0 @@ -{ - "_meta": { - "hash": { - "sha256": "d71d118bb7fd8ed744bd9f98d3b9f22ccb589d1c45cd92ea2cbd721446fe6002" - }, - "pipfile-spec": 6, - "requires": {}, - "sources": [ - { - "name": "pypi", - "url": "https://pypi.org/simple", - "verify_ssl": true - } - ] - }, - "default": { - "aiohttp": { - "hashes": [ - "sha256:00d198585474299c9c3b4f1d5de1a576cc230d562abc5e4a0e81d71a20a6ca55", - "sha256:0155af66de8c21b8dba4992aaeeabf55503caefae00067a3b1139f86d0ec50ed", - "sha256:09654a9eca62d1bd6d64aa44db2498f60a5c1e0ac4750953fdd79d5c88955e10", - "sha256:199f1d106e2b44b6dacdf6f9245493c7d716b01d0b7fbe1959318ba4dc64d1f5", - "sha256:296f30dedc9f4b9e7a301e5cc963012264112d78a1d3094cd83ef148fdf33ca1", - "sha256:368ed312550bd663ce84dc4b032a962fcb3c7cae099dbbd48663afc305e3b939", - "sha256:40d7ea570b88db017c51392349cf99b7aefaaddd19d2c78368aeb0bddde9d390", - "sha256:629102a193162e37102c50713e2e31dc9a2fe7ac5e481da83e5bb3c0cee700aa", - "sha256:6d5ec9b8948c3d957e75ea14d41e9330e1ac3fed24ec53766c780f82805140dc", - "sha256:87331d1d6810214085a50749160196391a712a13336cd02ce1c3ea3d05bcf8d5", - "sha256:9a02a04bbe581c8605ac423ba3a74999ec9d8bce7ae37977a3d38680f5780b6d", - "sha256:9c4c83f4fa1938377da32bc2d59379025ceeee8e24b89f72fcbccd8ca22dc9bf", - "sha256:9cddaff94c0135ee627213ac6ca6d05724bfe6e7a356e5e09ec57bd3249510f6", - "sha256:a25237abf327530d9561ef751eef9511ab56fd9431023ca6f4803f1994104d72", - "sha256:a5cbd7157b0e383738b8e29d6e556fde8726823dae0e348952a61742b21aeb12", - "sha256:a97a516e02b726e089cffcde2eea0d3258450389bbac48cbe89e0f0b6e7b0366", - "sha256:acc89b29b5f4e2332d65cd1b7d10c609a75b88ef8925d487a611ca788432dfa4", - "sha256:b05bd85cc99b06740aad3629c2585bda7b83bd86e080b44ba47faf905fdf1300", - "sha256:c2bec436a2b5dafe5eaeb297c03711074d46b6eb236d002c13c42f25c4a8ce9d", - "sha256:cc619d974c8c11fe84527e4b5e1c07238799a8c29ea1c1285149170524ba9303", - "sha256:d4392defd4648badaa42b3e101080ae3313e8f4787cb517efd3f5b8157eaefd6", - "sha256:e1c3c582ee11af7f63a34a46f0448fca58e59889396ffdae1f482085061a2889" - ], - "version": "==3.5.4" - }, - "aiohttp-json-rpc": { - "hashes": [ - "sha256:14656d360211bcdb686be0c099f7a99d8c2ae8e2762b113e6df408a8f275323f", - "sha256:9aa8a897fbe32b343ce7b14121491cc200395161316ca1296c6fab28449886bf" - ], - "version": "==0.12.1" - }, - "appdirs": { - "hashes": [ - "sha256:9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92", - "sha256:d8b24664561d0d34ddfaec54636d502d7cea6e29c3eaf68f3df6180863e2166e" - ], - "version": "==1.4.3" - }, - "async-timeout": { - "hashes": [ - "sha256:0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f", - "sha256:4291ca197d287d274d0b6cb5d6f8f8f82d434ed288f962539ff18cc9012f9ea3" - ], - "version": "==3.0.1" - }, - "attrs": { - "hashes": [ - "sha256:10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69", - "sha256:ca4be454458f9dec299268d472aaa5a11f67a4ff70093396e1ceae9c76cf4bbb" - ], - "version": "==18.2.0" - }, - "chardet": { - "hashes": [ - "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", - "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" - ], - "version": "==3.0.4" - }, - "click": { - "hashes": [ - "sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13", - "sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7" - ], - "version": "==7.0" - }, - "colorama": { - "hashes": [ - "sha256:05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d", - "sha256:f8ac84de7840f5b9c4e3347b3c1eaa50f7e49c2b07596221daec5edaabbd7c48" - ], - "version": "==0.4.1" - }, - "discord.py": { - "hashes": [ - "sha256:173b5e2fea2e012bbe964e87e92826ccaf97056bba539a7caec988f329acca04", - "sha256:7cb420731fe9c8d820401f3290957433a10169816d08805f826042941d25928e" - ], - "version": "==1.0.1" - }, - "distro": { - "hashes": [ - "sha256:362dde65d846d23baee4b5c058c8586f219b5a54be1cf5fc6ff55c4578392f57", - "sha256:eedf82a470ebe7d010f1872c17237c79ab04097948800029994fa458e52fb4b4" - ], - "version": "==1.4.0" - }, - "dnspython": { - "hashes": [ - "sha256:36c5e8e38d4369a08b6780b7f27d790a292b2b08eea01607865bf0936c558e01", - "sha256:f69c21288a962f4da86e56c4905b49d11aba7938d3d740e80d9e366ee4f1632d" - ], - "version": "==1.16.0" - }, - "fuzzywuzzy": { - "hashes": [ - "sha256:5ac7c0b3f4658d2743aa17da53a55598144edbc5bee3c6863840636e6926f254", - "sha256:6f49de47db00e1c71d40ad16da42284ac357936fa9b66bea1df63fed07122d62" - ], - "version": "==0.17.0" - }, - "idna": { - "hashes": [ - "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407", - "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c" - ], - "version": "==2.8" - }, - "idna-ssl": { - "hashes": [ - "sha256:a933e3bb13da54383f9e8f35dc4f9cb9eb9b3b78c6b36f311254d6d0d92c6c7c" - ], - "version": "==1.1.0" - }, - "motor": { - "hashes": [ - "sha256:462fbb824f4289481c158227a2579d6adaf1ec7c70cf7ebe60ed6ceb321e5869", - "sha256:d035c09ab422bc50bf3efb134f7405694cae76268545bd21e14fb22e2638f84e" - ], - "version": "==2.0.0" - }, - "multidict": { - "hashes": [ - "sha256:024b8129695a952ebd93373e45b5d341dbb87c17ce49637b34000093f243dd4f", - "sha256:041e9442b11409be5e4fc8b6a97e4bcead758ab1e11768d1e69160bdde18acc3", - "sha256:045b4dd0e5f6121e6f314d81759abd2c257db4634260abcfe0d3f7083c4908ef", - "sha256:047c0a04e382ef8bd74b0de01407e8d8632d7d1b4db6f2561106af812a68741b", - "sha256:068167c2d7bbeebd359665ac4fff756be5ffac9cda02375b5c5a7c4777038e73", - "sha256:148ff60e0fffa2f5fad2eb25aae7bef23d8f3b8bdaf947a65cdbe84a978092bc", - "sha256:1d1c77013a259971a72ddaa83b9f42c80a93ff12df6a4723be99d858fa30bee3", - "sha256:1d48bc124a6b7a55006d97917f695effa9725d05abe8ee78fd60d6588b8344cd", - "sha256:31dfa2fc323097f8ad7acd41aa38d7c614dd1960ac6681745b6da124093dc351", - "sha256:34f82db7f80c49f38b032c5abb605c458bac997a6c3142e0d6c130be6fb2b941", - "sha256:3d5dd8e5998fb4ace04789d1d008e2bb532de501218519d70bb672c4c5a2fc5d", - "sha256:4a6ae52bd3ee41ee0f3acf4c60ceb3f44e0e3bc52ab7da1c2b2aa6703363a3d1", - "sha256:4b02a3b2a2f01d0490dd39321c74273fed0568568ea0e7ea23e02bd1fb10a10b", - "sha256:4b843f8e1dd6a3195679d9838eb4670222e8b8d01bc36c9894d6c3538316fa0a", - "sha256:5de53a28f40ef3c4fd57aeab6b590c2c663de87a5af76136ced519923d3efbb3", - "sha256:61b2b33ede821b94fa99ce0b09c9ece049c7067a33b279f343adfe35108a4ea7", - "sha256:6a3a9b0f45fd75dc05d8e93dc21b18fc1670135ec9544d1ad4acbcf6b86781d0", - "sha256:76ad8e4c69dadbb31bad17c16baee61c0d1a4a73bed2590b741b2e1a46d3edd0", - "sha256:7ba19b777dc00194d1b473180d4ca89a054dd18de27d0ee2e42a103ec9b7d014", - "sha256:7c1b7eab7a49aa96f3db1f716f0113a8a2e93c7375dd3d5d21c4941f1405c9c5", - "sha256:7fc0eee3046041387cbace9314926aa48b681202f8897f8bff3809967a049036", - "sha256:8ccd1c5fff1aa1427100ce188557fc31f1e0a383ad8ec42c559aabd4ff08802d", - "sha256:8e08dd76de80539d613654915a2f5196dbccc67448df291e69a88712ea21e24a", - "sha256:c18498c50c59263841862ea0501da9f2b3659c00db54abfbf823a80787fde8ce", - "sha256:c49db89d602c24928e68c0d510f4fcf8989d77defd01c973d6cbe27e684833b1", - "sha256:ce20044d0317649ddbb4e54dab3c1bcc7483c78c27d3f58ab3d0c7e6bc60d26a", - "sha256:d1071414dd06ca2eafa90c85a079169bfeb0e5f57fd0b45d44c092546fcd6fd9", - "sha256:d3be11ac43ab1a3e979dac80843b42226d5d3cccd3986f2e03152720a4297cd7", - "sha256:db603a1c235d110c860d5f39988ebc8218ee028f07a7cbc056ba6424372ca31b" - ], - "version": "==4.5.2" - }, - "pymongo": { - "hashes": [ - "sha256:025f94fc1e1364f00e50badc88c47f98af20012f23317234e51a11333ef986e6", - "sha256:02aa7fb282606331aefbc0586e2cf540e9dbe5e343493295e7f390936ad2738e", - "sha256:057210e831573e932702cf332012ed39da78edf0f02d24a3f0b213264a87a397", - "sha256:0d946b79c56187fe139276d4c8ed612a27a616966c8b9779d6b79e2053587c8b", - "sha256:104790893b928d310aae8a955e0bdbaa442fb0ac0a33d1bbb0741c791a407778", - "sha256:15527ef218d95a8717486106553b0d54ff2641e795b65668754e17ab9ca6e381", - "sha256:1826527a0b032f6e20e7ac7f72d7c26dd476a5e5aa82c04aa1c7088a59fded7d", - "sha256:22e3aa4ce1c3eebc7f70f9ca7fd4ce1ea33e8bdb7b61996806cd312f08f84a3a", - "sha256:244e1101e9a48615b9a16cbd194f73c115fdfefc96894803158608115f703b26", - "sha256:24b8c04fdb633a84829d03909752c385faef249c06114cc8d8e1700b95aae5c8", - "sha256:2c276696350785d3104412cbe3ac70ab1e3a10c408e7b20599ee41403a3ed630", - "sha256:2d8474dc833b1182b651b184ace997a7bd83de0f51244de988d3c30e49f07de3", - "sha256:3119b57fe1d964781e91a53e81532c85ed1701baaddec592e22f6b77a9fdf3df", - "sha256:3bee8e7e0709b0fcdaa498a3e513bde9ffc7cd09dbceb11e425bd91c89dbd5b6", - "sha256:436c071e01a464753d30dbfc8768dd93aecf2a8e378e5314d130b95e77b4d612", - "sha256:46635e3f19ad04d5a7d7cf23d232388ddbfccf46d9a3b7436b6abadda4e84813", - "sha256:4772e0b679717e7ac4608d996f57b6f380748a919b457cb05bb941467b888b22", - "sha256:4e2cd80e16f481a62c3175b607373200e714ed29025f21559ebf7524f295689f", - "sha256:52732960efa0e003ca1c092dc0a3c65276e897681287a788a01ca78dda3b41f0", - "sha256:55a7de51ec7d1731b2431886d0349146645f2816e5b8eb982d7c49f89472c9f3", - "sha256:5f8ed5934197a2d4b2087646e98de3e099a237099dcf498b9e38dd3465f74ef4", - "sha256:64b064124fcbc8eb04a155117dc4d9a336e3cda3f069958fbc44fe70c3c3d1e9", - "sha256:65958b8e4319f992e85dad59d8081888b97fcdbde5f0d14bc28f2848b92d3ef1", - "sha256:7683428862e20c6a790c19e64f8ccf487f613fbc83d47e3d532df9c81668d451", - "sha256:78566d5570c75a127c2491e343dc006798a384f06be588fe9b0cbe5595711559", - "sha256:7d1cb00c093dbf1d0b16ccf123e79dee3b82608e4a2a88947695f0460eef13ff", - "sha256:8c74e2a9b594f7962c62cef7680a4cb92a96b4e6e3c2f970790da67cc0213a7e", - "sha256:8e60aa7699170f55f4b0f56ee6f8415229777ac7e4b4b1aa41fc61eec08c1f1d", - "sha256:9447b561529576d89d3bf973e5241a88cf76e45bd101963f5236888713dea774", - "sha256:970055bfeb0be373f2f5299a3db8432444bad3bc2f198753ee6c2a3a781e0959", - "sha256:a6344b8542e584e140dc3c651d68bde51270e79490aa9320f9e708f9b2c39bd5", - "sha256:ce309ca470d747b02ba6069d286a17b7df8e9c94d10d727d9cf3a64e51d85184", - "sha256:cfbd86ed4c2b2ac71bbdbcea6669bf295def7152e3722ddd9dda94ac7981f33d", - "sha256:d7929c513732dff093481f4a0954ed5ff16816365842136b17caa0b4992e49d3" - ], - "version": "==3.7.2" - }, - "python-levenshtein-wheels": { - "hashes": [ - "sha256:0065529c8aec4c044468286177761857d36981ba6f7fdb62d7d5f7ffd143de5d", - "sha256:016924a59d689f9f47d5f7b26b70f31e309255e8dd72602c91e93ceb752b9f92", - "sha256:089d046ea7727e583233c71fef1046663ed67b96967063ae8ddc9f551e86a4fc", - "sha256:0aea217eab612acd45dcc3424a2e8dbd977cc309f80359d0c01971f1e65b9a9b", - "sha256:0beb91ad80b1573829066e5af36b80190c367be6e0a65292f073353b0388c7fc", - "sha256:0fa2ca69ef803bc6037a8c919e2e8a17b55e94c9c9ffcb4c21befbb15a1d0f40", - "sha256:11c77d0d74ab7f46f89a58ae9c2d67349ebc1ae3e18636627f9939d810167c31", - "sha256:19a68716a322486ddffc8bf7e5cf44a82f7700b05a10658e6e7fc5c7ae92b13d", - "sha256:19a95a01d28d63b042438ba860c4ace90362906a038fa77962ba33325d377d10", - "sha256:1a61f3a51e00a3608659bbaabb3f27af37c9dbe84d843369061a3e45cf0d5103", - "sha256:1c50aebebab403fb2dd415d70355446ac364dece502b0e2737a1a085bb9a4aa4", - "sha256:1e51cdc123625a28709662d24ea0cb4cf6f991845e6054d9f803c78da1d6b08f", - "sha256:1f0056d3216b0fe38f25c6f8ebc84bd9f6d34c55a7a9414341b674fb98961399", - "sha256:228b59460e9a786e498bdfc8011838b89c6054650b115c86c9c819a055a793b0", - "sha256:23020f9ff2cb3457a926dcc470b84f9bd5b7646bd8b8e06b915bdbbc905cb23f", - "sha256:3e6bcca97a7ff4e720352b57ddc26380c0583dcdd4b791acef7b574ad58468a7", - "sha256:3ed88f9e638da57647149115c34e0e120cae6f3d35eee7d77e22cc9c1d8eced3", - "sha256:445bf7941cb1fa05d6c2a4a502ad4868a5cacd92e8eb77b2bd008cdda9d37c55", - "sha256:4ba5e147d76d7ee884fd6eae461438b080bcc9f2c6eb9b576811e1bcfe8f808e", - "sha256:4bb128b719c30f3b9feacfe71a338ae07d39dbffc077139416f3535c89f12362", - "sha256:53c0c9964390368fd64460b690f168221c669766b193b7e80ae3950c2b9551f8", - "sha256:57c4edef81611098d37176278f2b6a3712bf864eed313496d7d80504805896d1", - "sha256:7f7283dfe50eac8a8cd9b777de9eb50b1edf7dbb46fc7cc9d9b0050d0c135021", - "sha256:7f9759095b3fc825464a72b1cae95125e610eba3c70f91557754c32a0bf32ea2", - "sha256:98727050ba70eb8d318ec8a8203531c20119347fc8f281102b097326812742ab", - "sha256:ac9cdf044dcb9481c7da782db01b50c1f0e7cdd78c8507b963b6d072829c0263", - "sha256:b679f951f842c38665aa54bea4d7403099131f71fac6d8584f893a731fe1266d", - "sha256:b8c183dc4aa4e95dc5c373eedc3d205c176805835611fcfec5d9050736c695c4", - "sha256:c2c76f483d05eddec60a5cd89e92385adef565a4f243b1d9a6abe2f6bd2a7c0a", - "sha256:c388baa3c04272a7c585d3da24030c142353eb26eb531dd2681502e6be7d7a26", - "sha256:cb0f2a711db665b5bf8697b5af3b9884bb1139385c5c12c2e472e4bbee62da99", - "sha256:cbac984d7b36e75b440d1c8ff9d3425d778364a0cbc23f8943383d4decd35d5e", - "sha256:f9084ed3b8997ad4353d124b903f2860a9695b9e080663276d9e58c32e293244" - ], - "version": "==0.13.1" - }, - "pyyaml": { - "hashes": [ - "sha256:3d7da3009c0f3e783b2c873687652d83b1bbfd5c88e9813fb7e5b03c0dd3108b", - "sha256:3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf", - "sha256:40c71b8e076d0550b2e6380bada1f1cd1017b882f7e16f09a65be98e017f211a", - "sha256:558dd60b890ba8fd982e05941927a3911dc409a63dcb8b634feaa0cda69330d3", - "sha256:a7c28b45d9f99102fa092bb213aa12e0aaf9a6a1f5e395d36166639c1f96c3a1", - "sha256:aa7dd4a6a427aed7df6fb7f08a580d68d9b118d90310374716ae90b710280af1", - "sha256:bc558586e6045763782014934bfaf39d48b8ae85a2713117d16c39864085c613", - "sha256:d46d7982b62e0729ad0175a9bc7e10a566fc07b224d2c79fafb5e032727eaa04", - "sha256:d5eef459e30b09f5a098b9cea68bebfeb268697f78d647bd255a085371ac7f3f", - "sha256:e01d3203230e1786cd91ccfdc8f8454c8069c91bee3962ad93b87a4b2860f537", - "sha256:e170a9e6fcfd19021dd29845af83bb79236068bf5fd4df3327c1be18182b2531" - ], - "version": "==3.13" - }, - "red-discordbot": { - "editable": true, - "extras": [ - "mongo" - ], - "path": "." - }, - "red-lavalink": { - "hashes": [ - "sha256:2a2f469c1feb72c2604795053a8823757ace85ed752eaf573c1d0daba29d1180", - "sha256:4bc685a5d89660875d07f50060bacc820e69a763a581ce69375c792e16df4081" - ], - "version": "==0.3.0" - }, - "schema": { - "hashes": [ - "sha256:d994b0dc4966000037b26898df638e3e2a694cc73636cb2050e652614a350687", - "sha256:fa1a53fe5f3b6929725a4e81688c250f46838e25d8c1885a10a590c8c01a7b74" - ], - "version": "==0.6.8" - }, - "websockets": { - "hashes": [ - "sha256:0e2f7d6567838369af074f0ef4d0b802d19fa1fee135d864acc656ceefa33136", - "sha256:2a16dac282b2fdae75178d0ed3d5b9bc3258dabfae50196cbb30578d84b6f6a6", - "sha256:5a1fa6072405648cb5b3688e9ed3b94be683ce4a4e5723e6f5d34859dee495c1", - "sha256:5c1f55a1274df9d6a37553fef8cff2958515438c58920897675c9bc70f5a0538", - "sha256:669d1e46f165e0ad152ed8197f7edead22854a6c90419f544e0f234cc9dac6c4", - "sha256:695e34c4dbea18d09ab2c258994a8bf6a09564e762655408241f6a14592d2908", - "sha256:6b2e03d69afa8d20253455e67b64de1a82ff8612db105113cccec35d3f8429f0", - "sha256:79ca7cdda7ad4e3663ea3c43bfa8637fc5d5604c7737f19a8964781abbd1148d", - "sha256:7fd2dd9a856f72e6ed06f82facfce01d119b88457cd4b47b7ae501e8e11eba9c", - "sha256:82c0354ac39379d836719a77ee360ef865377aa6fdead87909d50248d0f05f4d", - "sha256:8f3b956d11c5b301206382726210dc1d3bee1a9ccf7aadf895aaf31f71c3716c", - "sha256:91ec98640220ae05b34b79ee88abf27f97ef7c61cf525eec57ea8fcea9f7dddb", - "sha256:952be9540d83dba815569d5cb5f31708801e0bbfc3a8c5aef1890b57ed7e58bf", - "sha256:99ac266af38ba1b1fe13975aea01ac0e14bb5f3a3200d2c69f05385768b8568e", - "sha256:9fa122e7adb24232247f8a89f2d9070bf64b7869daf93ac5e19546b409e47e96", - "sha256:a0873eadc4b8ca93e2e848d490809e0123eea154aa44ecd0109c4d0171869584", - "sha256:cb998bd4d93af46b8b49ecf5a72c0a98e5cc6d57fdca6527ba78ad89d6606484", - "sha256:e02e57346f6a68523e3c43bbdf35dde5c440318d1f827208ae455f6a2ace446d", - "sha256:e79a5a896bcee7fff24a788d72e5c69f13e61369d055f28113e71945a7eb1559", - "sha256:ee55eb6bcf23ecc975e6b47c127c201b913598f38b6a300075f84eeef2d3baff", - "sha256:f1414e6cbcea8d22843e7eafdfdfae3dd1aba41d1945f6ca66e4806c07c4f454" - ], - "version": "==6.0" - }, - "yarl": { - "hashes": [ - "sha256:024ecdc12bc02b321bc66b41327f930d1c2c543fa9a561b39861da9388ba7aa9", - "sha256:2f3010703295fbe1aec51023740871e64bb9664c789cba5a6bdf404e93f7568f", - "sha256:3890ab952d508523ef4881457c4099056546593fa05e93da84c7250516e632eb", - "sha256:3e2724eb9af5dc41648e5bb304fcf4891adc33258c6e14e2a7414ea32541e320", - "sha256:5badb97dd0abf26623a9982cd448ff12cb39b8e4c94032ccdedf22ce01a64842", - "sha256:73f447d11b530d860ca1e6b582f947688286ad16ca42256413083d13f260b7a0", - "sha256:7ab825726f2940c16d92aaec7d204cfc34ac26c0040da727cf8ba87255a33829", - "sha256:b25de84a8c20540531526dfbb0e2d2b648c13fd5dd126728c496d7c3fea33310", - "sha256:c6e341f5a6562af74ba55205dbd56d248daf1b5748ec48a0200ba227bb9e33f4", - "sha256:c9bb7c249c4432cd47e75af3864bc02d26c9594f49c82e2a28624417f0ae63b8", - "sha256:e060906c0c585565c718d1c3841747b61c5439af2211e185f6739a9412dfbde1" - ], - "version": "==1.3.0" - } - }, - "develop": { - "aiohttp": { - "hashes": [ - "sha256:00d198585474299c9c3b4f1d5de1a576cc230d562abc5e4a0e81d71a20a6ca55", - "sha256:0155af66de8c21b8dba4992aaeeabf55503caefae00067a3b1139f86d0ec50ed", - "sha256:09654a9eca62d1bd6d64aa44db2498f60a5c1e0ac4750953fdd79d5c88955e10", - "sha256:199f1d106e2b44b6dacdf6f9245493c7d716b01d0b7fbe1959318ba4dc64d1f5", - "sha256:296f30dedc9f4b9e7a301e5cc963012264112d78a1d3094cd83ef148fdf33ca1", - "sha256:368ed312550bd663ce84dc4b032a962fcb3c7cae099dbbd48663afc305e3b939", - "sha256:40d7ea570b88db017c51392349cf99b7aefaaddd19d2c78368aeb0bddde9d390", - "sha256:629102a193162e37102c50713e2e31dc9a2fe7ac5e481da83e5bb3c0cee700aa", - "sha256:6d5ec9b8948c3d957e75ea14d41e9330e1ac3fed24ec53766c780f82805140dc", - "sha256:87331d1d6810214085a50749160196391a712a13336cd02ce1c3ea3d05bcf8d5", - "sha256:9a02a04bbe581c8605ac423ba3a74999ec9d8bce7ae37977a3d38680f5780b6d", - "sha256:9c4c83f4fa1938377da32bc2d59379025ceeee8e24b89f72fcbccd8ca22dc9bf", - "sha256:9cddaff94c0135ee627213ac6ca6d05724bfe6e7a356e5e09ec57bd3249510f6", - "sha256:a25237abf327530d9561ef751eef9511ab56fd9431023ca6f4803f1994104d72", - "sha256:a5cbd7157b0e383738b8e29d6e556fde8726823dae0e348952a61742b21aeb12", - "sha256:a97a516e02b726e089cffcde2eea0d3258450389bbac48cbe89e0f0b6e7b0366", - "sha256:acc89b29b5f4e2332d65cd1b7d10c609a75b88ef8925d487a611ca788432dfa4", - "sha256:b05bd85cc99b06740aad3629c2585bda7b83bd86e080b44ba47faf905fdf1300", - "sha256:c2bec436a2b5dafe5eaeb297c03711074d46b6eb236d002c13c42f25c4a8ce9d", - "sha256:cc619d974c8c11fe84527e4b5e1c07238799a8c29ea1c1285149170524ba9303", - "sha256:d4392defd4648badaa42b3e101080ae3313e8f4787cb517efd3f5b8157eaefd6", - "sha256:e1c3c582ee11af7f63a34a46f0448fca58e59889396ffdae1f482085061a2889" - ], - "version": "==3.5.4" - }, - "aiohttp-json-rpc": { - "hashes": [ - "sha256:14656d360211bcdb686be0c099f7a99d8c2ae8e2762b113e6df408a8f275323f", - "sha256:9aa8a897fbe32b343ce7b14121491cc200395161316ca1296c6fab28449886bf" - ], - "version": "==0.12.1" - }, - "alabaster": { - "hashes": [ - "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359", - "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02" - ], - "version": "==0.7.12" - }, - "appdirs": { - "hashes": [ - "sha256:9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92", - "sha256:d8b24664561d0d34ddfaec54636d502d7cea6e29c3eaf68f3df6180863e2166e" - ], - "version": "==1.4.3" - }, - "async-timeout": { - "hashes": [ - "sha256:0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f", - "sha256:4291ca197d287d274d0b6cb5d6f8f8f82d434ed288f962539ff18cc9012f9ea3" - ], - "version": "==3.0.1" - }, - "atomicwrites": { - "hashes": [ - "sha256:03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4", - "sha256:75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6" - ], - "version": "==1.3.0" - }, - "attrs": { - "hashes": [ - "sha256:10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69", - "sha256:ca4be454458f9dec299268d472aaa5a11f67a4ff70093396e1ceae9c76cf4bbb" - ], - "version": "==18.2.0" - }, - "babel": { - "hashes": [ - "sha256:6778d85147d5d85345c14a26aada5e478ab04e39b078b0745ee6870c2b5cf669", - "sha256:8cba50f48c529ca3fa18cf81fa9403be176d374ac4d60738b839122dfaaa3d23" - ], - "version": "==2.6.0" - }, - "black": { - "hashes": [ - "sha256:09a9dcb7c46ed496a9850b76e4e825d6049ecd38b611f1224857a79bd985a8cf", - "sha256:68950ffd4d9169716bcb8719a56c07a2f4485354fec061cdd5910aa07369731c" - ], - "version": "==19.3b0" - }, - "certifi": { - "hashes": [ - "sha256:47f9c83ef4c0c621eaef743f133f09fa8a74a9b75f037e8624f83bd1b6626cb7", - "sha256:993f830721089fef441cdfeb4b2c8c9df86f0c63239f06bd025a76a7daddb033" - ], - "version": "==2018.11.29" - }, - "chardet": { - "hashes": [ - "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", - "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" - ], - "version": "==3.0.4" - }, - "click": { - "hashes": [ - "sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13", - "sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7" - ], - "version": "==7.0" - }, - "colorama": { - "hashes": [ - "sha256:05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d", - "sha256:f8ac84de7840f5b9c4e3347b3c1eaa50f7e49c2b07596221daec5edaabbd7c48" - ], - "version": "==0.4.1" - }, - "discord.py": { - "hashes": [ - "sha256:173b5e2fea2e012bbe964e87e92826ccaf97056bba539a7caec988f329acca04", - "sha256:7cb420731fe9c8d820401f3290957433a10169816d08805f826042941d25928e" - ], - "version": "==1.0.1" - }, - "distro": { - "hashes": [ - "sha256:362dde65d846d23baee4b5c058c8586f219b5a54be1cf5fc6ff55c4578392f57", - "sha256:eedf82a470ebe7d010f1872c17237c79ab04097948800029994fa458e52fb4b4" - ], - "version": "==1.4.0" - }, - "dnspython": { - "hashes": [ - "sha256:36c5e8e38d4369a08b6780b7f27d790a292b2b08eea01607865bf0936c558e01", - "sha256:f69c21288a962f4da86e56c4905b49d11aba7938d3d740e80d9e366ee4f1632d" - ], - "version": "==1.16.0" - }, - "docutils": { - "hashes": [ - "sha256:02aec4bd92ab067f6ff27a38a38a41173bf01bed8f89157768c1573f53e474a6", - "sha256:51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274", - "sha256:7a4bd47eaf6596e1295ecb11361139febe29b084a87bf005bf899f9a42edc3c6" - ], - "version": "==0.14" - }, - "filelock": { - "hashes": [ - "sha256:b8d5ca5ca1c815e1574aee746650ea7301de63d87935b3463d26368b76e31633", - "sha256:d610c1bb404daf85976d7a82eb2ada120f04671007266b708606565dd03b5be6" - ], - "version": "==3.0.10" - }, - "fuzzywuzzy": { - "hashes": [ - "sha256:5ac7c0b3f4658d2743aa17da53a55598144edbc5bee3c6863840636e6926f254", - "sha256:6f49de47db00e1c71d40ad16da42284ac357936fa9b66bea1df63fed07122d62" - ], - "version": "==0.17.0" - }, - "idna": { - "hashes": [ - "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407", - "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c" - ], - "version": "==2.8" - }, - "idna-ssl": { - "hashes": [ - "sha256:a933e3bb13da54383f9e8f35dc4f9cb9eb9b3b78c6b36f311254d6d0d92c6c7c" - ], - "version": "==1.1.0" - }, - "imagesize": { - "hashes": [ - "sha256:3f349de3eb99145973fefb7dbe38554414e5c30abd0c8e4b970a7c9d09f3a1d8", - "sha256:f3832918bc3c66617f92e35f5d70729187676313caa60c187eb0f28b8fe5e3b5" - ], - "version": "==1.1.0" - }, - "jinja2": { - "hashes": [ - "sha256:065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013", - "sha256:14dd6caf1527abb21f08f86c784eac40853ba93edb79552aa1e4b8aef1b61c7b" - ], - "version": "==2.10.1" - }, - "markupsafe": { - "hashes": [ - "sha256:048ef924c1623740e70204aa7143ec592504045ae4429b59c30054cb31e3c432", - "sha256:130f844e7f5bdd8e9f3f42e7102ef1d49b2e6fdf0d7526df3f87281a532d8c8b", - "sha256:19f637c2ac5ae9da8bfd98cef74d64b7e1bb8a63038a3505cd182c3fac5eb4d9", - "sha256:1b8a7a87ad1b92bd887568ce54b23565f3fd7018c4180136e1cf412b405a47af", - "sha256:1c25694ca680b6919de53a4bb3bdd0602beafc63ff001fea2f2fc16ec3a11834", - "sha256:1f19ef5d3908110e1e891deefb5586aae1b49a7440db952454b4e281b41620cd", - "sha256:1fa6058938190ebe8290e5cae6c351e14e7bb44505c4a7624555ce57fbbeba0d", - "sha256:31cbb1359e8c25f9f48e156e59e2eaad51cd5242c05ed18a8de6dbe85184e4b7", - "sha256:3e835d8841ae7863f64e40e19477f7eb398674da6a47f09871673742531e6f4b", - "sha256:4e97332c9ce444b0c2c38dd22ddc61c743eb208d916e4265a2a3b575bdccb1d3", - "sha256:525396ee324ee2da82919f2ee9c9e73b012f23e7640131dd1b53a90206a0f09c", - "sha256:52b07fbc32032c21ad4ab060fec137b76eb804c4b9a1c7c7dc562549306afad2", - "sha256:52ccb45e77a1085ec5461cde794e1aa037df79f473cbc69b974e73940655c8d7", - "sha256:5c3fbebd7de20ce93103cb3183b47671f2885307df4a17a0ad56a1dd51273d36", - "sha256:5e5851969aea17660e55f6a3be00037a25b96a9b44d2083651812c99d53b14d1", - "sha256:5edfa27b2d3eefa2210fb2f5d539fbed81722b49f083b2c6566455eb7422fd7e", - "sha256:7d263e5770efddf465a9e31b78362d84d015cc894ca2c131901a4445eaa61ee1", - "sha256:83381342bfc22b3c8c06f2dd93a505413888694302de25add756254beee8449c", - "sha256:857eebb2c1dc60e4219ec8e98dfa19553dae33608237e107db9c6078b1167856", - "sha256:98e439297f78fca3a6169fd330fbe88d78b3bb72f967ad9961bcac0d7fdd1550", - "sha256:bf54103892a83c64db58125b3f2a43df6d2cb2d28889f14c78519394feb41492", - "sha256:d9ac82be533394d341b41d78aca7ed0e0f4ba5a2231602e2f05aa87f25c51672", - "sha256:e982fe07ede9fada6ff6705af70514a52beb1b2c3d25d4e873e82114cf3c5401", - "sha256:edce2ea7f3dfc981c4ddc97add8a61381d9642dc3273737e756517cc03e84dd6", - "sha256:efdc45ef1afc238db84cb4963aa689c0408912a0239b0721cb172b4016eb31d6", - "sha256:f137c02498f8b935892d5c0172560d7ab54bc45039de8805075e19079c639a9c", - "sha256:f82e347a72f955b7017a39708a3667f106e6ad4d10b25f237396a7115d8ed5fd", - "sha256:fb7c206e01ad85ce57feeaaa0bf784b97fa3cad0d4a5737bc5295785f5c613a1" - ], - "version": "==1.1.0" - }, - "more-itertools": { - "hashes": [ - "sha256:0125e8f60e9e031347105eb1682cef932f5e97d7b9a1a28d9bf00c22a5daef40", - "sha256:590044e3942351a1bdb1de960b739ff4ce277960f2425ad4509446dbace8d9d1" - ], - "version": "==6.0.0" - }, - "motor": { - "hashes": [ - "sha256:462fbb824f4289481c158227a2579d6adaf1ec7c70cf7ebe60ed6ceb321e5869", - "sha256:d035c09ab422bc50bf3efb134f7405694cae76268545bd21e14fb22e2638f84e" - ], - "version": "==2.0.0" - }, - "multidict": { - "hashes": [ - "sha256:024b8129695a952ebd93373e45b5d341dbb87c17ce49637b34000093f243dd4f", - "sha256:041e9442b11409be5e4fc8b6a97e4bcead758ab1e11768d1e69160bdde18acc3", - "sha256:045b4dd0e5f6121e6f314d81759abd2c257db4634260abcfe0d3f7083c4908ef", - "sha256:047c0a04e382ef8bd74b0de01407e8d8632d7d1b4db6f2561106af812a68741b", - "sha256:068167c2d7bbeebd359665ac4fff756be5ffac9cda02375b5c5a7c4777038e73", - "sha256:148ff60e0fffa2f5fad2eb25aae7bef23d8f3b8bdaf947a65cdbe84a978092bc", - "sha256:1d1c77013a259971a72ddaa83b9f42c80a93ff12df6a4723be99d858fa30bee3", - "sha256:1d48bc124a6b7a55006d97917f695effa9725d05abe8ee78fd60d6588b8344cd", - "sha256:31dfa2fc323097f8ad7acd41aa38d7c614dd1960ac6681745b6da124093dc351", - "sha256:34f82db7f80c49f38b032c5abb605c458bac997a6c3142e0d6c130be6fb2b941", - "sha256:3d5dd8e5998fb4ace04789d1d008e2bb532de501218519d70bb672c4c5a2fc5d", - "sha256:4a6ae52bd3ee41ee0f3acf4c60ceb3f44e0e3bc52ab7da1c2b2aa6703363a3d1", - "sha256:4b02a3b2a2f01d0490dd39321c74273fed0568568ea0e7ea23e02bd1fb10a10b", - "sha256:4b843f8e1dd6a3195679d9838eb4670222e8b8d01bc36c9894d6c3538316fa0a", - "sha256:5de53a28f40ef3c4fd57aeab6b590c2c663de87a5af76136ced519923d3efbb3", - "sha256:61b2b33ede821b94fa99ce0b09c9ece049c7067a33b279f343adfe35108a4ea7", - "sha256:6a3a9b0f45fd75dc05d8e93dc21b18fc1670135ec9544d1ad4acbcf6b86781d0", - "sha256:76ad8e4c69dadbb31bad17c16baee61c0d1a4a73bed2590b741b2e1a46d3edd0", - "sha256:7ba19b777dc00194d1b473180d4ca89a054dd18de27d0ee2e42a103ec9b7d014", - "sha256:7c1b7eab7a49aa96f3db1f716f0113a8a2e93c7375dd3d5d21c4941f1405c9c5", - "sha256:7fc0eee3046041387cbace9314926aa48b681202f8897f8bff3809967a049036", - "sha256:8ccd1c5fff1aa1427100ce188557fc31f1e0a383ad8ec42c559aabd4ff08802d", - "sha256:8e08dd76de80539d613654915a2f5196dbccc67448df291e69a88712ea21e24a", - "sha256:c18498c50c59263841862ea0501da9f2b3659c00db54abfbf823a80787fde8ce", - "sha256:c49db89d602c24928e68c0d510f4fcf8989d77defd01c973d6cbe27e684833b1", - "sha256:ce20044d0317649ddbb4e54dab3c1bcc7483c78c27d3f58ab3d0c7e6bc60d26a", - "sha256:d1071414dd06ca2eafa90c85a079169bfeb0e5f57fd0b45d44c092546fcd6fd9", - "sha256:d3be11ac43ab1a3e979dac80843b42226d5d3cccd3986f2e03152720a4297cd7", - "sha256:db603a1c235d110c860d5f39988ebc8218ee028f07a7cbc056ba6424372ca31b" - ], - "version": "==4.5.2" - }, - "packaging": { - "hashes": [ - "sha256:0c98a5d0be38ed775798ece1b9727178c4469d9c3b4ada66e8e6b7849f8732af", - "sha256:9e1cbf8c12b1f1ce0bb5344b8d7ecf66a6f8a6e91bcb0c84593ed6d3ab5c4ab3" - ], - "version": "==19.0" - }, - "pluggy": { - "hashes": [ - "sha256:8ddc32f03971bfdf900a81961a48ccf2fb677cf7715108f85295c67405798616", - "sha256:980710797ff6a041e9a73a5787804f848996ecaa6f8a1b1e08224a5894f2074a" - ], - "version": "==0.8.1" - }, - "py": { - "hashes": [ - "sha256:bf92637198836372b520efcba9e020c330123be8ce527e535d185ed4b6f45694", - "sha256:e76826342cefe3c3d5f7e8ee4316b80d1dd8a300781612ddbc765c17ba25a6c6" - ], - "version": "==1.7.0" - }, - "pygments": { - "hashes": [ - "sha256:5ffada19f6203563680669ee7f53b64dabbeb100eb51b61996085e99c03b284a", - "sha256:e8218dd399a61674745138520d0d4cf2621d7e032439341bc3f647bff125818d" - ], - "version": "==2.3.1" - }, - "pymongo": { - "hashes": [ - "sha256:025f94fc1e1364f00e50badc88c47f98af20012f23317234e51a11333ef986e6", - "sha256:02aa7fb282606331aefbc0586e2cf540e9dbe5e343493295e7f390936ad2738e", - "sha256:057210e831573e932702cf332012ed39da78edf0f02d24a3f0b213264a87a397", - "sha256:0d946b79c56187fe139276d4c8ed612a27a616966c8b9779d6b79e2053587c8b", - "sha256:104790893b928d310aae8a955e0bdbaa442fb0ac0a33d1bbb0741c791a407778", - "sha256:15527ef218d95a8717486106553b0d54ff2641e795b65668754e17ab9ca6e381", - "sha256:1826527a0b032f6e20e7ac7f72d7c26dd476a5e5aa82c04aa1c7088a59fded7d", - "sha256:22e3aa4ce1c3eebc7f70f9ca7fd4ce1ea33e8bdb7b61996806cd312f08f84a3a", - "sha256:244e1101e9a48615b9a16cbd194f73c115fdfefc96894803158608115f703b26", - "sha256:24b8c04fdb633a84829d03909752c385faef249c06114cc8d8e1700b95aae5c8", - "sha256:2c276696350785d3104412cbe3ac70ab1e3a10c408e7b20599ee41403a3ed630", - "sha256:2d8474dc833b1182b651b184ace997a7bd83de0f51244de988d3c30e49f07de3", - "sha256:3119b57fe1d964781e91a53e81532c85ed1701baaddec592e22f6b77a9fdf3df", - "sha256:3bee8e7e0709b0fcdaa498a3e513bde9ffc7cd09dbceb11e425bd91c89dbd5b6", - "sha256:436c071e01a464753d30dbfc8768dd93aecf2a8e378e5314d130b95e77b4d612", - "sha256:46635e3f19ad04d5a7d7cf23d232388ddbfccf46d9a3b7436b6abadda4e84813", - "sha256:4772e0b679717e7ac4608d996f57b6f380748a919b457cb05bb941467b888b22", - "sha256:4e2cd80e16f481a62c3175b607373200e714ed29025f21559ebf7524f295689f", - "sha256:52732960efa0e003ca1c092dc0a3c65276e897681287a788a01ca78dda3b41f0", - "sha256:55a7de51ec7d1731b2431886d0349146645f2816e5b8eb982d7c49f89472c9f3", - "sha256:5f8ed5934197a2d4b2087646e98de3e099a237099dcf498b9e38dd3465f74ef4", - "sha256:64b064124fcbc8eb04a155117dc4d9a336e3cda3f069958fbc44fe70c3c3d1e9", - "sha256:65958b8e4319f992e85dad59d8081888b97fcdbde5f0d14bc28f2848b92d3ef1", - "sha256:7683428862e20c6a790c19e64f8ccf487f613fbc83d47e3d532df9c81668d451", - "sha256:78566d5570c75a127c2491e343dc006798a384f06be588fe9b0cbe5595711559", - "sha256:7d1cb00c093dbf1d0b16ccf123e79dee3b82608e4a2a88947695f0460eef13ff", - "sha256:8c74e2a9b594f7962c62cef7680a4cb92a96b4e6e3c2f970790da67cc0213a7e", - "sha256:8e60aa7699170f55f4b0f56ee6f8415229777ac7e4b4b1aa41fc61eec08c1f1d", - "sha256:9447b561529576d89d3bf973e5241a88cf76e45bd101963f5236888713dea774", - "sha256:970055bfeb0be373f2f5299a3db8432444bad3bc2f198753ee6c2a3a781e0959", - "sha256:a6344b8542e584e140dc3c651d68bde51270e79490aa9320f9e708f9b2c39bd5", - "sha256:ce309ca470d747b02ba6069d286a17b7df8e9c94d10d727d9cf3a64e51d85184", - "sha256:cfbd86ed4c2b2ac71bbdbcea6669bf295def7152e3722ddd9dda94ac7981f33d", - "sha256:d7929c513732dff093481f4a0954ed5ff16816365842136b17caa0b4992e49d3" - ], - "version": "==3.7.2" - }, - "pyparsing": { - "hashes": [ - "sha256:66c9268862641abcac4a96ba74506e594c884e3f57690a696d21ad8210ed667a", - "sha256:f6c5ef0d7480ad048c054c37632c67fca55299990fff127850181659eea33fc3" - ], - "version": "==2.3.1" - }, - "pytest": { - "hashes": [ - "sha256:65aeaa77ae87c7fc95de56285282546cfa9c886dc8e5dc78313db1c25e21bc07", - "sha256:6ac6d467d9f053e95aaacd79f831dbecfe730f419c6c7022cb316b365cd9199d" - ], - "version": "==4.2.0" - }, - "pytest-asyncio": { - "hashes": [ - "sha256:9fac5100fd716cbecf6ef89233e8590a4ad61d729d1732e0a96b84182df1daaf", - "sha256:d734718e25cfc32d2bf78d346e99d33724deeba774cc4afdf491530c6184b63b" - ], - "version": "==0.10.0" - }, - "python-levenshtein-wheels": { - "hashes": [ - "sha256:0065529c8aec4c044468286177761857d36981ba6f7fdb62d7d5f7ffd143de5d", - "sha256:016924a59d689f9f47d5f7b26b70f31e309255e8dd72602c91e93ceb752b9f92", - "sha256:089d046ea7727e583233c71fef1046663ed67b96967063ae8ddc9f551e86a4fc", - "sha256:0aea217eab612acd45dcc3424a2e8dbd977cc309f80359d0c01971f1e65b9a9b", - "sha256:0beb91ad80b1573829066e5af36b80190c367be6e0a65292f073353b0388c7fc", - "sha256:0fa2ca69ef803bc6037a8c919e2e8a17b55e94c9c9ffcb4c21befbb15a1d0f40", - "sha256:11c77d0d74ab7f46f89a58ae9c2d67349ebc1ae3e18636627f9939d810167c31", - "sha256:19a68716a322486ddffc8bf7e5cf44a82f7700b05a10658e6e7fc5c7ae92b13d", - "sha256:19a95a01d28d63b042438ba860c4ace90362906a038fa77962ba33325d377d10", - "sha256:1a61f3a51e00a3608659bbaabb3f27af37c9dbe84d843369061a3e45cf0d5103", - "sha256:1c50aebebab403fb2dd415d70355446ac364dece502b0e2737a1a085bb9a4aa4", - "sha256:1e51cdc123625a28709662d24ea0cb4cf6f991845e6054d9f803c78da1d6b08f", - "sha256:1f0056d3216b0fe38f25c6f8ebc84bd9f6d34c55a7a9414341b674fb98961399", - "sha256:228b59460e9a786e498bdfc8011838b89c6054650b115c86c9c819a055a793b0", - "sha256:23020f9ff2cb3457a926dcc470b84f9bd5b7646bd8b8e06b915bdbbc905cb23f", - "sha256:3e6bcca97a7ff4e720352b57ddc26380c0583dcdd4b791acef7b574ad58468a7", - "sha256:3ed88f9e638da57647149115c34e0e120cae6f3d35eee7d77e22cc9c1d8eced3", - "sha256:445bf7941cb1fa05d6c2a4a502ad4868a5cacd92e8eb77b2bd008cdda9d37c55", - "sha256:4ba5e147d76d7ee884fd6eae461438b080bcc9f2c6eb9b576811e1bcfe8f808e", - "sha256:4bb128b719c30f3b9feacfe71a338ae07d39dbffc077139416f3535c89f12362", - "sha256:53c0c9964390368fd64460b690f168221c669766b193b7e80ae3950c2b9551f8", - "sha256:57c4edef81611098d37176278f2b6a3712bf864eed313496d7d80504805896d1", - "sha256:7f7283dfe50eac8a8cd9b777de9eb50b1edf7dbb46fc7cc9d9b0050d0c135021", - "sha256:7f9759095b3fc825464a72b1cae95125e610eba3c70f91557754c32a0bf32ea2", - "sha256:98727050ba70eb8d318ec8a8203531c20119347fc8f281102b097326812742ab", - "sha256:ac9cdf044dcb9481c7da782db01b50c1f0e7cdd78c8507b963b6d072829c0263", - "sha256:b679f951f842c38665aa54bea4d7403099131f71fac6d8584f893a731fe1266d", - "sha256:b8c183dc4aa4e95dc5c373eedc3d205c176805835611fcfec5d9050736c695c4", - "sha256:c2c76f483d05eddec60a5cd89e92385adef565a4f243b1d9a6abe2f6bd2a7c0a", - "sha256:c388baa3c04272a7c585d3da24030c142353eb26eb531dd2681502e6be7d7a26", - "sha256:cb0f2a711db665b5bf8697b5af3b9884bb1139385c5c12c2e472e4bbee62da99", - "sha256:cbac984d7b36e75b440d1c8ff9d3425d778364a0cbc23f8943383d4decd35d5e", - "sha256:f9084ed3b8997ad4353d124b903f2860a9695b9e080663276d9e58c32e293244" - ], - "version": "==0.13.1" - }, - "pytz": { - "hashes": [ - "sha256:32b0891edff07e28efe91284ed9c31e123d84bea3fd98e1f72be2508f43ef8d9", - "sha256:d5f05e487007e29e03409f9398d074e158d920d36eb82eaf66fb1136b0c5374c" - ], - "version": "==2018.9" - }, - "pyyaml": { - "hashes": [ - "sha256:3d7da3009c0f3e783b2c873687652d83b1bbfd5c88e9813fb7e5b03c0dd3108b", - "sha256:3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf", - "sha256:40c71b8e076d0550b2e6380bada1f1cd1017b882f7e16f09a65be98e017f211a", - "sha256:558dd60b890ba8fd982e05941927a3911dc409a63dcb8b634feaa0cda69330d3", - "sha256:a7c28b45d9f99102fa092bb213aa12e0aaf9a6a1f5e395d36166639c1f96c3a1", - "sha256:aa7dd4a6a427aed7df6fb7f08a580d68d9b118d90310374716ae90b710280af1", - "sha256:bc558586e6045763782014934bfaf39d48b8ae85a2713117d16c39864085c613", - "sha256:d46d7982b62e0729ad0175a9bc7e10a566fc07b224d2c79fafb5e032727eaa04", - "sha256:d5eef459e30b09f5a098b9cea68bebfeb268697f78d647bd255a085371ac7f3f", - "sha256:e01d3203230e1786cd91ccfdc8f8454c8069c91bee3962ad93b87a4b2860f537", - "sha256:e170a9e6fcfd19021dd29845af83bb79236068bf5fd4df3327c1be18182b2531" - ], - "version": "==3.13" - }, - "red-discordbot": { - "editable": true, - "extras": [ - "mongo" - ], - "path": "." - }, - "red-lavalink": { - "hashes": [ - "sha256:2a2f469c1feb72c2604795053a8823757ace85ed752eaf573c1d0daba29d1180", - "sha256:4bc685a5d89660875d07f50060bacc820e69a763a581ce69375c792e16df4081" - ], - "version": "==0.3.0" - }, - "requests": { - "hashes": [ - "sha256:502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e", - "sha256:7bf2a778576d825600030a110f3c0e3e8edc51dfaafe1c146e39a2027784957b" - ], - "version": "==2.21.0" - }, - "schema": { - "hashes": [ - "sha256:d994b0dc4966000037b26898df638e3e2a694cc73636cb2050e652614a350687", - "sha256:fa1a53fe5f3b6929725a4e81688c250f46838e25d8c1885a10a590c8c01a7b74" - ], - "version": "==0.6.8" - }, - "six": { - "hashes": [ - "sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c", - "sha256:d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73" - ], - "version": "==1.12.0" - }, - "snowballstemmer": { - "hashes": [ - "sha256:919f26a68b2c17a7634da993d91339e288964f93c274f1343e3bbbe2096e1128", - "sha256:9f3bcd3c401c3e862ec0ebe6d2c069ebc012ce142cce209c098ccb5b09136e89" - ], - "version": "==1.2.1" - }, - "sphinx": { - "hashes": [ - "sha256:b53904fa7cb4b06a39409a492b949193a1b68cc7241a1a8ce9974f86f0d24287", - "sha256:c1c00fc4f6e8b101a0d037065043460dffc2d507257f2f11acaed71fd2b0c83c" - ], - "version": "==1.8.4" - }, - "sphinx-rtd-theme": { - "hashes": [ - "sha256:00cf895504a7895ee433807c62094cf1e95f065843bf3acd17037c3e9a2becd4", - "sha256:728607e34d60456d736cc7991fd236afb828b21b82f956c5ea75f94c8414040a" - ], - "version": "==0.4.3" - }, - "sphinxcontrib-asyncio": { - "hashes": [ - "sha256:96627b1ec4eba08d09ad577ff9416c131910333ef37a2c82a2716e59646739f0" - ], - "version": "==0.2.0" - }, - "sphinxcontrib-websupport": { - "hashes": [ - "sha256:68ca7ff70785cbe1e7bccc71a48b5b6d965d79ca50629606c7861a21b206d9dd", - "sha256:9de47f375baf1ea07cdb3436ff39d7a9c76042c10a769c52353ec46e4e8fc3b9" - ], - "version": "==1.1.0" - }, - "toml": { - "hashes": [ - "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c", - "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e" - ], - "version": "==0.10.0" - }, - "tox": { - "hashes": [ - "sha256:5d6b9e7ad99a93b00ecd509e13552600d38eedd2b035ba24709f850b23f51254", - "sha256:fee5b4fa2fb1638b57879a1fcaefbfd16201d8d7ecb9956406855a85d518ac4c" - ], - "index": "pypi", - "version": "==3.10.0" - }, - "urllib3": { - "hashes": [ - "sha256:4c291ca23bbb55c76518905869ef34bdd5f0e46af7afe6861e8375643ffee1a0", - "sha256:9a247273df709c4fedb38c711e44292304f73f39ab01beda9f6b9fc375669ac3" - ], - "version": "==1.24.2" - }, - "virtualenv": { - "hashes": [ - "sha256:15ee248d13e4001a691d9583948ad3947bcb8a289775102e4c4aa98a8b7a6d73", - "sha256:bfc98bb9b42a3029ee41b96dc00a34c2f254cbf7716bec824477b2c82741a5c4" - ], - "version": "==16.5.0" - }, - "websockets": { - "hashes": [ - "sha256:0e2f7d6567838369af074f0ef4d0b802d19fa1fee135d864acc656ceefa33136", - "sha256:2a16dac282b2fdae75178d0ed3d5b9bc3258dabfae50196cbb30578d84b6f6a6", - "sha256:5a1fa6072405648cb5b3688e9ed3b94be683ce4a4e5723e6f5d34859dee495c1", - "sha256:5c1f55a1274df9d6a37553fef8cff2958515438c58920897675c9bc70f5a0538", - "sha256:669d1e46f165e0ad152ed8197f7edead22854a6c90419f544e0f234cc9dac6c4", - "sha256:695e34c4dbea18d09ab2c258994a8bf6a09564e762655408241f6a14592d2908", - "sha256:6b2e03d69afa8d20253455e67b64de1a82ff8612db105113cccec35d3f8429f0", - "sha256:79ca7cdda7ad4e3663ea3c43bfa8637fc5d5604c7737f19a8964781abbd1148d", - "sha256:7fd2dd9a856f72e6ed06f82facfce01d119b88457cd4b47b7ae501e8e11eba9c", - "sha256:82c0354ac39379d836719a77ee360ef865377aa6fdead87909d50248d0f05f4d", - "sha256:8f3b956d11c5b301206382726210dc1d3bee1a9ccf7aadf895aaf31f71c3716c", - "sha256:91ec98640220ae05b34b79ee88abf27f97ef7c61cf525eec57ea8fcea9f7dddb", - "sha256:952be9540d83dba815569d5cb5f31708801e0bbfc3a8c5aef1890b57ed7e58bf", - "sha256:99ac266af38ba1b1fe13975aea01ac0e14bb5f3a3200d2c69f05385768b8568e", - "sha256:9fa122e7adb24232247f8a89f2d9070bf64b7869daf93ac5e19546b409e47e96", - "sha256:a0873eadc4b8ca93e2e848d490809e0123eea154aa44ecd0109c4d0171869584", - "sha256:cb998bd4d93af46b8b49ecf5a72c0a98e5cc6d57fdca6527ba78ad89d6606484", - "sha256:e02e57346f6a68523e3c43bbdf35dde5c440318d1f827208ae455f6a2ace446d", - "sha256:e79a5a896bcee7fff24a788d72e5c69f13e61369d055f28113e71945a7eb1559", - "sha256:ee55eb6bcf23ecc975e6b47c127c201b913598f38b6a300075f84eeef2d3baff", - "sha256:f1414e6cbcea8d22843e7eafdfdfae3dd1aba41d1945f6ca66e4806c07c4f454" - ], - "version": "==6.0" - }, - "yarl": { - "hashes": [ - "sha256:024ecdc12bc02b321bc66b41327f930d1c2c543fa9a561b39861da9388ba7aa9", - "sha256:2f3010703295fbe1aec51023740871e64bb9664c789cba5a6bdf404e93f7568f", - "sha256:3890ab952d508523ef4881457c4099056546593fa05e93da84c7250516e632eb", - "sha256:3e2724eb9af5dc41648e5bb304fcf4891adc33258c6e14e2a7414ea32541e320", - "sha256:5badb97dd0abf26623a9982cd448ff12cb39b8e4c94032ccdedf22ce01a64842", - "sha256:73f447d11b530d860ca1e6b582f947688286ad16ca42256413083d13f260b7a0", - "sha256:7ab825726f2940c16d92aaec7d204cfc34ac26c0040da727cf8ba87255a33829", - "sha256:b25de84a8c20540531526dfbb0e2d2b648c13fd5dd126728c496d7c3fea33310", - "sha256:c6e341f5a6562af74ba55205dbd56d248daf1b5748ec48a0200ba227bb9e33f4", - "sha256:c9bb7c249c4432cd47e75af3864bc02d26c9594f49c82e2a28624417f0ae63b8", - "sha256:e060906c0c585565c718d1c3841747b61c5439af2211e185f6739a9412dfbde1" - ], - "version": "==1.3.0" - } - } -} diff --git a/dev-requirements.txt b/dev-requirements.txt new file mode 100644 index 000000000..dbacdc621 --- /dev/null +++ b/dev-requirements.txt @@ -0,0 +1,3 @@ +packaging +tox +-e .[docs,mongo,style,test] diff --git a/docs/conf.py b/docs/conf.py index 29afe6380..18d2855a9 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -40,7 +40,7 @@ extensions = [ "sphinx.ext.viewcode", "sphinx.ext.napoleon", "sphinx.ext.doctest", - "sphinxcontrib.asyncio", + "sphinxcontrib_trio", ] # Add any paths that contain templates here, relative to this directory. @@ -100,6 +100,9 @@ default_role = "any" # html_theme = "sphinx_rtd_theme" +# This will be needed until sphinx_rtd_theme supports the html5 writer +html4_writer = True + # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. @@ -211,3 +214,7 @@ intersphinx_mapping = { # If this string is non-empty, all blocks with ``>>>`` in them will be # tested, not just the ones explicitly marked with ``.. doctest::`` doctest_test_doctest_blocks = "" + +# Autodoc options +autodoc_default_flags = ["show-inheritance"] +autodoc_typehints = "none" diff --git a/make.bat b/make.bat index 58ec5a985..cf71ab715 100644 --- a/make.bat +++ b/make.bat @@ -21,6 +21,12 @@ exit /B %ERRORLEVEL% black -l 99 --check !PYFILES! exit /B %ERRORLEVEL% +:setupenv +py -3.7 -m venv --clear .venv +.\.venv\Scripts\python -m pip install -U pip setuptools +.\.venv\Scripts\python -m pip install -Ur dev-requirements.txt +exit /B %ERRORLEVEL% + :help echo Usage: echo make ^ @@ -28,3 +34,4 @@ echo. echo Commands: echo reformat Reformat all .py files being tracked by git. echo stylecheck Check which tracked .py files need reformatting. +echo setupenv Create or replace a virtual environment for development. diff --git a/redbot/core/__init__.py b/redbot/core/__init__.py index 7ac359734..2fa66696e 100644 --- a/redbot/core/__init__.py +++ b/redbot/core/__init__.py @@ -1,6 +1,5 @@ import colorama as _colorama import discord as _discord -import yaml as _yaml from .. import __version__, version_info, VersionInfo from .config import Config @@ -12,6 +11,3 @@ _colorama.init() # Prevent discord PyNaCl missing warning _discord.voice_client.VoiceClient.warn_nacl = False - -# Warn on known unsafe usage of dependencies -_yaml.load = _warn_unsafe(_yaml.load, "Use yaml.safe_load instead. See CVE-2017-18342") diff --git a/redbot/core/modlog.py b/redbot/core/modlog.py index 62dd1e03a..a804f7b40 100644 --- a/redbot/core/modlog.py +++ b/redbot/core/modlog.py @@ -742,7 +742,7 @@ async def register_casetype( ------ RuntimeError If the case type is already registered - TypeError: + TypeError If a parameter is missing ValueError If a parameter's value is not valid diff --git a/setup.cfg b/setup.cfg index ed3044aa3..30386aea5 100644 --- a/setup.cfg +++ b/setup.cfg @@ -26,66 +26,81 @@ classifiers = packages = find_namespace: python_requires = >=3.7 install_requires = - aiohttp-json-rpc==0.12.1 aiohttp==3.5.4 + aiohttp-json-rpc==0.12.1 appdirs==1.4.3 async-timeout==3.0.1 - attrs==18.2.0 + attrs==19.1.0 chardet==3.0.4 - click==7.0 + Click==7.0 colorama==0.4.1 + contextlib2==0.5.5 + discord.py==1.2.3 distro==1.4.0; sys_platform == "linux" fuzzywuzzy==0.17.0 - idna-ssl==1.1.0 idna==2.8 multidict==4.5.2 - python-levenshtein-wheels==0.13.1 - pyyaml==3.13 - red-lavalink>=0.3.0,<0.4 - schema==0.6.8 - tqdm==4.32.1 + python-Levenshtein-wheels==0.13.1 + PyYAML==5.1.1 + Red-Lavalink==0.3.0 + schema==0.7.0 + tqdm==4.32.2 + websockets==6.0 yarl==1.3.0 - discord.py==1.0.1 - websockets<7 [options.extras_require] docs = alabaster==0.7.12 - babel==2.6.0 - certifi==2018.11.29 + Babel==2.7.0 + certifi==2019.6.16 docutils==0.14 imagesize==1.1.0 Jinja2==2.10.1 - MarkupSafe==1.1.0 + MarkupSafe==1.1.1 packaging==19.0 - pyparsing==2.3.1 - Pygments==2.3.1 - pytz==2018.9 - requests==2.21.0 + Pygments==2.4.2 + pyparsing==2.4.0 + pytz==2019.1 + requests==2.22.0 six==1.12.0 snowballstemmer==1.2.1 - sphinx==1.8.4 - sphinx_rtd_theme==0.4.3 - sphinxcontrib-asyncio==0.2.0 - sphinxcontrib-websupport==1.1.0 - urllib3==1.24.2 + Sphinx==2.1.2 + sphinx-rtd-theme==0.4.3 + sphinxcontrib-applehelp==1.0.1 + sphinxcontrib-devhelp==1.0.1 + sphinxcontrib-htmlhelp==1.0.2 + sphinxcontrib-jsmath==1.0.1 + sphinxcontrib-qthelp==1.0.2 + sphinxcontrib-serializinghtml==1.1.3 + sphinxcontrib-trio==1.1.0 + urllib3==1.25.3 mongo = - motor==2.0.0 - pymongo==3.7.2 dnspython==1.16.0 + motor==2.0.0 + pymongo==3.8.0 style = black==19.3b0 - click==7.0 toml==0.10.0 test = + astroid==2.2.5 atomicwrites==1.3.0 - more-itertools==6.0.0 - pluggy==0.8.1 - py==1.7.0 - pytest==4.2.0 + importlib-metadata==0.18 + isort==4.3.21 + lazy-object-proxy==1.4.1 + mccabe==0.6.1 + more-itertools==7.0.0 + packaging==19.0 + pluggy==0.12.0 + py==1.8.0 + pylint==2.3.1 + pyparsing==2.4.0 + pytest==4.6.3 pytest-asyncio==0.10.0 six==1.12.0 - pylint==2.3.1 + typed-ast==1.4.0 + wcwidth==0.1.7 + wrapt==1.11.2 + zipp==0.5.1 [options.entry_points] console_scripts = diff --git a/tools/bumpdeps.py b/tools/bumpdeps.py new file mode 100755 index 000000000..82df1da0c --- /dev/null +++ b/tools/bumpdeps.py @@ -0,0 +1,171 @@ +#!/usr/bin/env python3.7 +"""Script to bump pinned dependencies in setup.cfg. + +This script aims to help update our list of pinned primary and +secondary dependencies in *setup.cfg*, using the unpinned primary +dependencies listed in *primary_deps.ini*. + +This script will not work when run on Windows. + +What this script does +--------------------- +It prints to stdout all primary and secondary dependencies for Red, +pinned to the latest possible version, within the constraints specified +in ``primary_deps.ini``. The output should be suitable for copying and +pasting into ``setup.cfg``. PEP 508 markers are preserved. + +How this script works +--------------------- +Overview: +1. Primary dependencies are read from primary_deps.ini using +setuptools' config parser. +2. A clean virtual environment is created in a temporary directory. +3. Core primary dependencies are passed to the ``pip install`` command +for that virtual environment. +4. Pinned primary dependencies are obtained by reading the output of +``pip freeze`` in that virtual environment, and any PEP 508 markers +shown with the requirement in ``primary_deps.ini`` are preserved. +5. Steps 2-4 are repeated for each extra requirement, but care is taken +not to duplicate core dependencies (primary or secondary) in the final +pinned extra dependencies. + +This script makes use of the *packaging* library to parse version +specifiers and environment markers. + +Known Limitations +----------------- +These limitations don't stop this script from being helpful, but +hopefully help explain in which situations some dependencies may need +to be listed manually in ``setup.cfg``. + +1. Whilst environment markers of any primary dependencies specified in +``primary_deps.ini`` are preserved in the output, they will not be +added to secondary dependencies. So for example, if some package +*dep1* has a dependency *dep2*, and *dep1* is listed as a primary +dependency in ``primary_deps.ini`` like follows:: + dep1; sys_platform == "linux" + +Then the output will look like this:: + dep1==1.1.1; sys_platform == "linux" + dep2==2.2.2 + +So even though ``dep1`` and its dependencies should only be installed on +Linux, in reality, its dependencies will be installed regardless. To +work around this, simply list the secondary dependencies in +``primary_deps.ini`` as well, with the environment markers. + +2. If a core requirement and an extra requirement have a common +sub-dependency, there is a chance the sub-dependency will have a version +conflict unless it is manually held back. This script will issue a +warning to stderr when it thinks this might be happening. + +3. Environment markers which exclude dependencies from the system +running this script will cause those dependencies to be excluded from +the output. So for example, if a dependency has the environment marker +``sys_platform == "darwin"``, and the script is being run on linux, then +this dependency will be ignored, and must be added to ``setup.cfg`` +manually. +""" +import shlex +import sys +import subprocess as sp +import tempfile +import textwrap +import venv +from pathlib import Path +from typing import Sequence, Iterable, Dict + +import packaging.requirements +import setuptools.config + +THIS_DIRECTORY = Path(__file__).parent +REQUIREMENTS_INI_PTH: Path = THIS_DIRECTORY / "primary_deps.ini" + +PIP_INSTALL_ARGS = ("install", "--upgrade") +PIP_FREEZE_ARGS = ("freeze", "--no-color") + + +def main() -> int: + if not REQUIREMENTS_INI_PTH.is_file(): + print("No primary_deps.ini found in the same directory as bumpdeps.py", file=sys.stderr) + return 1 + + primary_reqs_cfg = setuptools.config.read_configuration(str(REQUIREMENTS_INI_PTH)) + + print("[options]") + print("install_requires =") + core_primary_deps = primary_reqs_cfg["options"]["install_requires"] + full_core_reqs = get_all_reqs(core_primary_deps) + print(textwrap.indent("\n".join(map(str, full_core_reqs)), " " * 4)) + print() + + print("[options.extras_require]") + for extra, extra_primary_deps in primary_reqs_cfg["options"]["extras_require"].items(): + print(extra, "=") + full_extra_reqs = get_all_reqs( + extra_primary_deps, all_core_deps={r.name.lower(): r for r in full_core_reqs} + ) + print(textwrap.indent("\n".join(map(str, full_extra_reqs)), " " * 4)) + + return 0 + + +def get_all_reqs( + primary_deps: Iterable[str], all_core_deps: Dict[str, packaging.requirements.Requirement] = () +) -> Sequence[packaging.requirements.Requirement]: + reqs_dict = {r.name.lower(): r for r in map(packaging.requirements.Requirement, primary_deps)} + with tempfile.TemporaryDirectory() as tmpdir: + venv.create(tmpdir, system_site_packages=False, clear=True, with_pip=True) + tmpdir_pth = Path(tmpdir) + + pip_exe_pth = tmpdir_pth / "bin" / "pip" + + # Upgrade pip to latest version + sp.run((pip_exe_pth, *PIP_INSTALL_ARGS, "pip"), stdout=sp.DEVNULL, check=True) + + # Install the primary dependencies + sp.run( + (pip_exe_pth, *PIP_INSTALL_ARGS, *map(str, reqs_dict.values())), + stdout=sp.DEVNULL, + check=True, + ) + + # Get pinned primary+secondary dependencies from pip freeze + proc = sp.run( + (pip_exe_pth, *PIP_FREEZE_ARGS), stdout=sp.PIPE, check=True, encoding="utf-8" + ) + + # Return Requirement objects + ret = [] + for req_obj in map(packaging.requirements.Requirement, proc.stdout.strip().split("\n")): + dep_name = req_obj.name.lower() + # Don't include core dependencies if these are extra dependencies + if dep_name in all_core_deps: + if req_obj.specifier != all_core_deps[dep_name].specifier: + print( + f"[WARNING] {dep_name} is listed as both a core requirement and an extra " + f"requirement, and it's possible that their versions conflict!", + file=sys.stderr, + ) + continue + + # Preserve environment markers + if dep_name in reqs_dict: + req_obj.marker = reqs_dict[dep_name].marker + + ret.append(req_obj) + + return ret + + +if __name__ == "__main__": + try: + exit_code = main() + except sp.CalledProcessError as exc: + cmd = " ".join(map(lambda c: shlex.quote(str(c)), exc.cmd)) + print( + f"The following command failed with code {exc.returncode}:\n ", cmd, file=sys.stderr + ) + exit_code = 1 + + sys.exit(exit_code) diff --git a/tools/primary_deps.ini b/tools/primary_deps.ini new file mode 100644 index 000000000..ef0a58cff --- /dev/null +++ b/tools/primary_deps.ini @@ -0,0 +1,40 @@ +# primary_deps.ini +# This file should list primary dependencies in terms of both core and +# extras, in setup.cfg format. A primary dependency is one which is +# used directly in Red, or otherwise is forced to be listed as a +# dependency. Version specifiers should be as liberal as possible. + +[options] +install_requires = + aiohttp + aiohttp-json-rpc + appdirs + click + colorama + discord.py + distro; sys_platform == "linux" + fuzzywuzzy + python-Levenshtein-wheels + PyYAML + Red-Lavalink + schema + tqdm + # Websockets is a secondary dependency, but until pip has a complete dependency resolver, we + # need to list it here to avoid an incompatible version being installed. + # See under point 2 here: https://pip.pypa.io/en/stable/user_guide/#requirements-files + websockets<7.0 + +[options.extras_require] +docs = + Sphinx + sphinx_rtd_theme + sphinxcontrib-trio +mongo = + dnspython + motor +style = + black +test = + pylint + pytest + pytest-asyncio From f3bbfdc64d3021f03da84f999e5cdcaebd7f6687 Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Fri, 28 Jun 2019 03:31:44 +1000 Subject: [PATCH 055/183] Fix duplicate commands in fuzzy help (#2798) * Fix duplicate commands in fuzzy help Signed-off-by: Toby Harradine * Use help command's filter for all fuzzy Signed-off-by: Toby Harradine --- redbot/core/commands/help.py | 5 +++-- redbot/core/events.py | 8 +++++++- redbot/core/utils/__init__.py | 26 +++++++++++++++----------- 3 files changed, 25 insertions(+), 14 deletions(-) diff --git a/redbot/core/commands/help.py b/redbot/core/commands/help.py index 615cd8e03..befd8d97e 100644 --- a/redbot/core/commands/help.py +++ b/redbot/core/commands/help.py @@ -417,8 +417,9 @@ class RedHelpFormatter: pages = [box(p) for p in pagify(to_page)] await self.send_pages(ctx, pages, embed=False) + @staticmethod async def help_filter_func( - self, ctx, objects: Iterable[SupportsCanSee], bypass_hidden=False + ctx, objects: Iterable[SupportsCanSee], bypass_hidden=False ) -> AsyncIterator[SupportsCanSee]: """ This does most of actual filtering. @@ -450,7 +451,7 @@ class RedHelpFormatter: """ Sends an error, fuzzy help, or stays quiet based on settings """ - coms = [c async for c in self.help_filter_func(ctx, ctx.bot.walk_commands())] + coms = {c async for c in self.help_filter_func(ctx, ctx.bot.walk_commands())} fuzzy_commands = await fuzzy_command_search(ctx, help_for, commands=coms, min_score=75) use_embeds = await ctx.embed_requested() if fuzzy_commands: diff --git a/redbot/core/events.py b/redbot/core/events.py index bd0bff3cd..33f025789 100644 --- a/redbot/core/events.py +++ b/redbot/core/events.py @@ -13,6 +13,7 @@ import pkg_resources from colorama import Fore, Style, init from pkg_resources import DistributionNotFound +from redbot.core.commands import RedHelpFormatter from .. import __version__ as red_version, version_info as red_version_info, VersionInfo from . import commands from .config import get_latest_confs @@ -201,7 +202,12 @@ def init_events(bot, cli_flags): bot._last_exception = exception_log await ctx.send(inline(message)) elif isinstance(error, commands.CommandNotFound): - fuzzy_commands = await fuzzy_command_search(ctx) + fuzzy_commands = await fuzzy_command_search( + ctx, + commands={ + c async for c in RedHelpFormatter.help_filter_func(ctx, bot.walk_commands()) + }, + ) if not fuzzy_commands: pass elif await ctx.embed_requested(): diff --git a/redbot/core/utils/__init__.py b/redbot/core/utils/__init__.py index dc4d2fa8a..00a87d299 100644 --- a/redbot/core/utils/__init__.py +++ b/redbot/core/utils/__init__.py @@ -19,14 +19,18 @@ from typing import ( Tuple, TypeVar, Union, + Set, + TYPE_CHECKING, ) import discord from fuzzywuzzy import fuzz, process -from redbot.core import commands from .chat_formatting import box +if TYPE_CHECKING: + from ..commands import Command, Context + __all__ = [ "bounded_gather", "safe_delete", @@ -180,12 +184,12 @@ async def async_enumerate( async def fuzzy_command_search( - ctx: commands.Context, + ctx: "Context", term: Optional[str] = None, *, - commands: Optional[list] = None, + commands: Optional[Set["Command"]] = None, min_score: int = 80, -) -> Optional[List[commands.Command]]: +) -> Optional[List["Command"]]: """Search for commands which are similar in name to the one invoked. Returns a maximum of 5 commands which must all be at least matched @@ -196,8 +200,11 @@ async def fuzzy_command_search( ctx : `commands.Context ` The command invocation context. term : Optional[str] - The name of the invoked command. If ``None``, `Context.invoked_with` - will be used instead. + The name of the invoked command. If ``None``, + `Context.invoked_with` will be used instead. + commands : Optional[Set[commands.Command]] + The commands available to choose from when doing a fuzzy match. + When omitted, `Bot.walk_commands` will be used instead. min_score : int The minimum score for matched commands to reach. Defaults to 80. @@ -239,7 +246,7 @@ async def fuzzy_command_search( # Do the scoring. `extracted` is a list of tuples in the form `(command, score)` extracted = process.extract( - term, (commands or ctx.bot.walk_commands()), limit=5, scorer=fuzz.QRatio + term, (commands or set(ctx.bot.walk_commands())), limit=5, scorer=fuzz.QRatio ) if not extracted: return @@ -257,10 +264,7 @@ async def fuzzy_command_search( async def format_fuzzy_results( - ctx: commands.Context, - matched_commands: List[commands.Command], - *, - embed: Optional[bool] = None, + ctx: "Context", matched_commands: List["Command"], *, embed: Optional[bool] = None ) -> Union[str, discord.Embed]: """Format the result of a fuzzy command search. From bff7e214aba78c9be21f614c82e264587e72b9a3 Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Fri, 28 Jun 2019 04:49:45 +1000 Subject: [PATCH 056/183] Kill JsonIO and fix JSON driver caching issues (#2796) * Kill JsonIO and fix JSON driver caching issues Signed-off-by: Toby Harradine * Ensure lock covers critical region in set() Signed-off-by: Toby Harradine * Make tests pass Signed-off-by: Toby Harradine * Use pickle over deepcopy in Config Signed-off-by: Toby Harradine * Fix temp instance creation Signed-off-by: Toby Harradine * Serialise value before doing anything in set() Signed-off-by: Toby Harradine --- .github/CODEOWNERS | 1 - redbot/__main__.py | 5 +- redbot/core/config.py | 20 ++--- redbot/core/core_commands.py | 4 +- redbot/core/data_manager.py | 28 ++++--- redbot/core/drivers/red_json.py | 131 +++++++++++++++++++++++--------- redbot/core/json_io.py | 90 ---------------------- redbot/pytest/data_manager.py | 1 - redbot/setup.py | 10 ++- 9 files changed, 133 insertions(+), 157 deletions(-) delete mode 100644 redbot/core/json_io.py diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f1dc5b0cd..ef2d440ba 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -16,7 +16,6 @@ redbot/core/drivers/* @tekulvw redbot/core/events.py @tekulvw redbot/core/global_checks.py @tekulvw redbot/core/i18n.py @tekulvw -redbot/core/json_io.py @tekulvw redbot/core/modlog.py @palmtree5 redbot/core/rpc.py @tekulvw redbot/core/utils/chat_formatting.py @tekulvw diff --git a/redbot/__main__.py b/redbot/__main__.py index e64de887a..602a77489 100644 --- a/redbot/__main__.py +++ b/redbot/__main__.py @@ -3,6 +3,7 @@ # Discord Version check import asyncio +import json import logging import os import sys @@ -12,7 +13,6 @@ import discord import redbot.logging from redbot.core.bot import Red, ExitCodes from redbot.core.cog_manager import CogManagerUI -from redbot.core.json_io import JsonIO from redbot.core.global_checks import init_global_checks from redbot.core.events import init_events from redbot.core.cli import interactive_config, confirm, parse_cli_flags @@ -61,7 +61,8 @@ def list_instances(): ) sys.exit(1) else: - data = JsonIO(data_manager.config_file)._load_json() + with data_manager.config_file.open(encoding="utf-8") as fs: + data = json.load(fs) text = "Configured Instances:\n\n" for instance_name in sorted(data.keys()): text += "{}\n".format(instance_name) diff --git a/redbot/core/config.py b/redbot/core/config.py index 569e33b70..00d9305a1 100644 --- a/redbot/core/config.py +++ b/redbot/core/config.py @@ -1,8 +1,8 @@ -import logging import collections -from copy import deepcopy -from typing import Any, Union, Tuple, Dict, Awaitable, AsyncContextManager, TypeVar +import logging +import pickle import weakref +from typing import Any, Union, Tuple, Dict, Awaitable, AsyncContextManager, TypeVar import discord @@ -57,7 +57,7 @@ class _ValueCtxManager(Awaitable[_T], AsyncContextManager[_T]): # pylint: disab "list or dict) in order to use a config value as " "a context manager." ) - self.__original_value = deepcopy(self.raw_value) + self.__original_value = pickle.loads(pickle.dumps(self.raw_value, -1)) return self.raw_value async def __aexit__(self, exc_type, exc, tb): @@ -204,7 +204,7 @@ class Group(Value): @property def defaults(self): - return deepcopy(self._defaults) + return pickle.loads(pickle.dumps(self._defaults, -1)) async def _get(self, default: Dict[str, Any] = ...) -> Dict[str, Any]: default = default if default is not ... else self.defaults @@ -446,7 +446,7 @@ class Group(Value): result = self.nested_update(value, defaults.get(key, {})) defaults[key] = result else: - defaults[key] = deepcopy(current[key]) + defaults[key] = pickle.loads(pickle.dumps(current[key], -1)) return defaults async def set(self, value): @@ -558,7 +558,7 @@ class Config: @property def defaults(self): - return deepcopy(self._defaults) + return pickle.loads(pickle.dumps(self._defaults, -1)) @staticmethod def _create_uuid(identifier: int): @@ -727,7 +727,7 @@ class Config: if key not in self._defaults: self._defaults[key] = {} - data = deepcopy(kwargs) + data = pickle.loads(pickle.dumps(kwargs, -1)) for k, v in data.items(): to_add = self._get_defaults_dict(k, v) @@ -988,7 +988,7 @@ class Config: pass else: for k, v in dict_.items(): - data = deepcopy(defaults) + data = pickle.loads(pickle.dumps(defaults, -1)) data.update(v) ret[int(k)] = data @@ -1066,7 +1066,7 @@ class Config: ret = {} defaults = self.defaults.get(self.MEMBER, {}) for member_id, member_data in guild_data.items(): - new_member_data = deepcopy(defaults) + new_member_data = pickle.loads(pickle.dumps(defaults, -1)) new_member_data.update(member_data) ret[int(member_id)] = new_member_data return ret diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index 3b4680864..7112a04ea 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -1359,9 +1359,9 @@ class Core(commands.Cog, CoreLogic): docs = await db[c_name].find().to_list(None) for item in docs: item_id = str(item.pop("_id")) - output = item target = JSON(c_name, item_id, data_path_override=c_data_path) - await target.jsonIO._threadsafe_save_json(output) + target.data = item + await target._save() backup_filename = "redv3-{}-{}.tar.gz".format( instance_name, ctx.message.created_at.strftime("%Y-%m-%d %H-%M-%S") ) diff --git a/redbot/core/data_manager.py b/redbot/core/data_manager.py index 0e0b58fdb..b031cd1cb 100644 --- a/redbot/core/data_manager.py +++ b/redbot/core/data_manager.py @@ -1,16 +1,17 @@ import inspect +import json import logging import os import sys import tempfile from copy import deepcopy from pathlib import Path +from typing import Any, Dict import appdirs from discord.utils import deprecated from . import commands -from .json_io import JsonIO __all__ = [ "create_temp_config", @@ -25,12 +26,15 @@ __all__ = [ log = logging.getLogger("red.data_manager") -jsonio = None basic_config = None instance_name = None -basic_config_default = {"DATA_PATH": None, "COG_PATH_APPEND": "cogs", "CORE_PATH_APPEND": "core"} +basic_config_default: Dict[str, Any] = { + "DATA_PATH": None, + "COG_PATH_APPEND": "cogs", + "CORE_PATH_APPEND": "core", +} config_dir = None appdir = appdirs.AppDirs("Red-DiscordBot") @@ -57,9 +61,13 @@ def create_temp_config(): default_dirs["STORAGE_TYPE"] = "JSON" default_dirs["STORAGE_DETAILS"] = {} - config = JsonIO(config_file)._load_json() + with config_file.open("r", encoding="utf-8") as fs: + config = json.load(fs) + config[name] = default_dirs - JsonIO(config_file)._save_json(config) + + with config_file.open("w", encoding="utf-8") as fs: + json.dump(config, fs, indent=4) def load_basic_configuration(instance_name_: str): @@ -76,23 +84,21 @@ def load_basic_configuration(instance_name_: str): The instance name given by CLI argument and created during redbot setup. """ - global jsonio global basic_config global instance_name - - jsonio = JsonIO(config_file) - instance_name = instance_name_ try: - config = jsonio._load_json() - basic_config = config[instance_name] + with config_file.open(encoding="utf-8") as fs: + config = json.load(fs) except (FileNotFoundError, KeyError): print( "You need to configure the bot instance using `redbot-setup`" " prior to running the bot." ) sys.exit(1) + else: + basic_config = config[instance_name] def _base_data_path() -> Path: diff --git a/redbot/core/drivers/red_json.py b/redbot/core/drivers/red_json.py index 7e6f7c333..f598f6cf4 100644 --- a/redbot/core/drivers/red_json.py +++ b/redbot/core/drivers/red_json.py @@ -1,9 +1,12 @@ -from pathlib import Path -import copy -import weakref +import asyncio +import json import logging - -from ..json_io import JsonIO +import os +import pickle +import weakref +from pathlib import Path +from typing import Any, Dict +from uuid import uuid4 from .red_base import BaseDriver, IdentifierData @@ -59,13 +62,10 @@ class JSON(BaseDriver): self.data_path = data_path_override else: self.data_path = Path.cwd() / "cogs" / ".data" / self.cog_name - self.data_path.mkdir(parents=True, exist_ok=True) - self.data_path = self.data_path / self.file_name - self.jsonIO = JsonIO(self.data_path) - + self._lock = asyncio.Lock() self._load_data() async def has_valid_connection(self) -> bool: @@ -90,10 +90,12 @@ class JSON(BaseDriver): return try: - self.data = self.jsonIO._load_json() + with self.data_path.open("r", encoding="utf-8") as fs: + self.data = json.load(fs) except FileNotFoundError: self.data = {} - self.jsonIO._save_json(self.data) + with self.data_path.open("w", encoding="utf-8") as fs: + json.dump(self.data, fs, indent=4) def migrate_identifier(self, raw_identifier: int): if self.unique_cog_identifier in self.data: @@ -104,7 +106,7 @@ class JSON(BaseDriver): if ident in self.data: self.data[self.unique_cog_identifier] = self.data[ident] del self.data[ident] - self.jsonIO._save_json(self.data) + _save_json(self.data_path, self.data) break async def get(self, identifier_data: IdentifierData): @@ -112,18 +114,23 @@ class JSON(BaseDriver): full_identifiers = identifier_data.to_tuple() for i in full_identifiers: partial = partial[i] - return copy.deepcopy(partial) + return pickle.loads(pickle.dumps(partial, -1)) async def set(self, identifier_data: IdentifierData, value=None): partial = self.data full_identifiers = identifier_data.to_tuple() - for i in full_identifiers[:-1]: - if i not in partial: - partial[i] = {} - partial = partial[i] + # This is both our deepcopy() and our way of making sure this value is actually JSON + # serializable. + value_copy = json.loads(json.dumps(value)) - partial[full_identifiers[-1]] = copy.deepcopy(value) - await self.jsonIO._threadsafe_save_json(self.data) + async with self._lock: + for i in full_identifiers[:-1]: + if i not in partial: + partial[i] = {} + partial = partial[i] + partial[full_identifiers[-1]] = value_copy + + await self._save() async def clear(self, identifier_data: IdentifierData): partial = self.data @@ -131,35 +138,87 @@ class JSON(BaseDriver): try: for i in full_identifiers[:-1]: partial = partial[i] - del partial[full_identifiers[-1]] except KeyError: pass else: - await self.jsonIO._threadsafe_save_json(self.data) + async with self._lock: + try: + del partial[full_identifiers[-1]] + except KeyError: + pass + else: + await self._save() async def import_data(self, cog_data, custom_group_data): - def update_write_data(identifier_data: IdentifierData, data): + def update_write_data(identifier_data: IdentifierData, _data): partial = self.data idents = identifier_data.to_tuple() for ident in idents[:-1]: if ident not in partial: partial[ident] = {} partial = partial[ident] - partial[idents[-1]] = data + partial[idents[-1]] = _data - for category, all_data in cog_data: - splitted_pkey = self._split_primary_key(category, custom_group_data, all_data) - for pkey, data in splitted_pkey: - ident_data = IdentifierData( - self.unique_cog_identifier, - category, - pkey, - (), - custom_group_data, - is_custom=category in custom_group_data, - ) - update_write_data(ident_data, data) - await self.jsonIO._threadsafe_save_json(self.data) + async with self._lock: + for category, all_data in cog_data: + splitted_pkey = self._split_primary_key(category, custom_group_data, all_data) + for pkey, data in splitted_pkey: + ident_data = IdentifierData( + self.unique_cog_identifier, + category, + pkey, + (), + custom_group_data, + is_custom=category in custom_group_data, + ) + update_write_data(ident_data, data) + await self._save() + + async def _save(self) -> None: + loop = asyncio.get_running_loop() + await loop.run_in_executor(None, _save_json, self.data_path, self.data) def get_config_details(self): return + + +def _save_json(path: Path, data: Dict[str, Any]) -> None: + """ + This fsync stuff here is entirely neccessary. + + On windows, it is not available in entirety. + If a windows user ends up with tons of temp files, they should consider hosting on + something POSIX compatible, or using the mongo backend instead. + + Most users wont encounter this issue, but with high write volumes, + without the fsync on both the temp file, and after the replace on the directory, + There's no real durability or atomicity guarantee from the filesystem. + + In depth overview of underlying reasons why this is needed: + https://lwn.net/Articles/457667/ + + Also see: + http://man7.org/linux/man-pages/man2/open.2.html#NOTES (synchronous I/O section) + And: + https://www.mjmwired.net/kernel/Documentation/filesystems/ext4.txt#310 + """ + filename = path.stem + tmp_file = "{}-{}.tmp".format(filename, uuid4().fields[0]) + tmp_path = path.parent / tmp_file + with tmp_path.open(encoding="utf-8", mode="w") as fs: + json.dump(data, fs, indent=4) + fs.flush() # This does get closed on context exit, ... + os.fsync(fs.fileno()) # but that needs to happen prior to this line + + tmp_path.replace(path) + + try: + flag = os.O_DIRECTORY # pylint: disable=no-member + except AttributeError: + pass + else: + fd = os.open(path.parent, flag) + try: + os.fsync(fd) + finally: + os.close(fd) diff --git a/redbot/core/json_io.py b/redbot/core/json_io.py deleted file mode 100644 index d209a1ad9..000000000 --- a/redbot/core/json_io.py +++ /dev/null @@ -1,90 +0,0 @@ -import functools -import json -import os -import asyncio -import logging -from copy import deepcopy -from uuid import uuid4 - -# This is basically our old DataIO and just a base for much more elaborate classes -# This still isn't completely threadsafe, (do not use config in threads) -from pathlib import Path - -log = logging.getLogger("red") - -PRETTY = {"indent": 4, "sort_keys": False, "separators": (",", " : ")} -MINIFIED = {"sort_keys": False, "separators": (",", ":")} - - -class JsonIO: - """Basic functions for atomic saving / loading of json files""" - - def __init__(self, path: Path = Path.cwd()): - """ - :param path: Full path to file. - """ - self._lock = asyncio.Lock() - self.path = path - - # noinspection PyUnresolvedReferences - def _save_json(self, data, settings=PRETTY): - """ - This fsync stuff here is entirely neccessary. - - On windows, it is not available in entirety. - If a windows user ends up with tons of temp files, they should consider hosting on - something POSIX compatible, or using the mongo backend instead. - - Most users wont encounter this issue, but with high write volumes, - without the fsync on both the temp file, and after the replace on the directory, - There's no real durability or atomicity guarantee from the filesystem. - - In depth overview of underlying reasons why this is needed: - https://lwn.net/Articles/457667/ - - Also see: - http://man7.org/linux/man-pages/man2/open.2.html#NOTES (synchronous I/O section) - And: - https://www.mjmwired.net/kernel/Documentation/filesystems/ext4.txt#310 - """ - filename = self.path.stem - tmp_file = "{}-{}.tmp".format(filename, uuid4().fields[0]) - tmp_path = self.path.parent / tmp_file - with tmp_path.open(encoding="utf-8", mode="w") as f: - json.dump(data, f, **settings) - f.flush() # This does get closed on context exit, ... - os.fsync(f.fileno()) # but that needs to happen prior to this line - - tmp_path.replace(self.path) - - # pylint: disable=no-member - try: - fd = os.open(self.path.parent, os.O_DIRECTORY) - os.fsync(fd) - except AttributeError: - fd = None - finally: - if fd is not None: - os.close(fd) - - async def _threadsafe_save_json(self, data, settings=PRETTY): - loop = asyncio.get_event_loop() - # the deepcopy is needed here. otherwise, - # the dict can change during serialization - # and this will break the encoder. - data_copy = deepcopy(data) - func = functools.partial(self._save_json, data_copy, settings) - async with self._lock: - await loop.run_in_executor(None, func) - - # noinspection PyUnresolvedReferences - def _load_json(self): - with self.path.open(encoding="utf-8", mode="r") as f: - data = json.load(f) - return data - - async def _threadsafe_load_json(self, path): - loop = asyncio.get_event_loop() - func = functools.partial(self._load_json, path) - async with self._lock: - return await loop.run_in_executor(None, func) diff --git a/redbot/pytest/data_manager.py b/redbot/pytest/data_manager.py index d1a68c06b..5a069674f 100644 --- a/redbot/pytest/data_manager.py +++ b/redbot/pytest/data_manager.py @@ -8,7 +8,6 @@ __all__ = ["cleanup_datamanager", "data_mgr_config", "cog_instance"] @pytest.fixture(autouse=True) def cleanup_datamanager(): data_manager.basic_config = None - data_manager.jsonio = None @pytest.fixture() diff --git a/redbot/setup.py b/redbot/setup.py index 61a3b834d..20e2c848f 100644 --- a/redbot/setup.py +++ b/redbot/setup.py @@ -23,7 +23,6 @@ from redbot.core.data_manager import ( core_data_path, storage_details, ) -from redbot.core.json_io import JsonIO from redbot.core.utils import safe_delete from redbot.core import Config from redbot.core.drivers import BackendType, IdentifierData @@ -50,7 +49,8 @@ def load_existing_config(): if not config_file.exists(): return {} - return JsonIO(config_file)._load_json() + with config_file.open(encoding="utf-8") as fs: + return json.load(fs) instance_data = load_existing_config() @@ -74,7 +74,9 @@ def save_config(name, data, remove=False): print("Not continuing") sys.exit(0) config[name] = data - JsonIO(config_file)._save_json(config) + + with config_file.open("w", encoding="utf-8") as fs: + json.dump(config, fs, indent=4) def get_data_dir(): @@ -220,7 +222,7 @@ async def json_to_mongov2(instance): if "." in cog_name: # Garbage handler continue - with p.open(mode="r") as f: + with p.open(mode="r", encoding="utf-8") as f: cog_data = json.load(f) for identifier, all_data in cog_data.items(): try: From 8637f8a85276e4a5862f9345946d5e9bfbca4c38 Mon Sep 17 00:00:00 2001 From: Michael H Date: Sat, 29 Jun 2019 10:30:09 -0400 Subject: [PATCH 057/183] [Filter] Fix cache invalidation (#2810) --- redbot/cogs/filter/filter.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/redbot/cogs/filter/filter.py b/redbot/cogs/filter/filter.py index fae8cab8e..e81494234 100644 --- a/redbot/cogs/filter/filter.py +++ b/redbot/cogs/filter/filter.py @@ -286,6 +286,10 @@ class Filter(commands.Cog): def invalidate_cache(self, guild: discord.Guild, channel: discord.TextChannel = None): """ Invalidate a cached pattern""" self.pattern_cache.pop((guild, channel), None) + if channel is None: + for keyset in list(self.pattern_cache.keys()): # cast needed, no remove + if guild in keyset: + self.pattern_cache.pop(keyset, None) async def add_to_filter( self, server_or_channel: Union[discord.Guild, discord.TextChannel], words: list From 8bf86f33a381043544088ca82b36f51182380fcb Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 29 Jun 2019 10:33:41 -0400 Subject: [PATCH 058/183] [Readme] Update RTD and d.py URLs (#2771) --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index aaf513f80..9275c8ef6 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Localized with Crowdin - + discord.py

@@ -29,8 +29,8 @@ Travis CI - - Red on readthedocs.org + + Red on readthedocs.org Code Style: Black @@ -45,7 +45,7 @@ • Installation • - Documentation + DocumentationPlugins • @@ -83,13 +83,13 @@ community of cog repositories.** **The following platforms are officially supported:** -- [Windows](https://red-discordbot.readthedocs.io/en/v3-develop/install_windows.html) -- [MacOS](https://red-discordbot.readthedocs.io/en/v3-develop/install_linux_mac.html) -- [Ubuntu](https://red-discordbot.readthedocs.io/en/v3-develop/install_linux_mac.html) -- [Debian Stretch](https://red-discordbot.readthedocs.io/en/v3-develop/install_linux_mac.html) -- [CentOS 7](https://red-discordbot.readthedocs.io/en/v3-develop/install_linux_mac.html) -- [Arch Linux](https://red-discordbot.readthedocs.io/en/v3-develop/install_linux_mac.html) -- [Raspbian Stretch](https://red-discordbot.readthedocs.io/en/v3-develop/install_linux_mac.html) +- [Windows](https://red-discordbot.readthedocs.io/en/stable/install_windows.html) +- [MacOS](https://red-discordbot.readthedocs.io/en/stable/install_linux_mac.html) +- [Ubuntu](https://red-discordbot.readthedocs.io/en/stable/install_linux_mac.html) +- [Debian Stretch](https://red-discordbot.readthedocs.io/en/stable/install_linux_mac.html) +- [CentOS 7](https://red-discordbot.readthedocs.io/en/stable/install_linux_mac.html) +- [Arch Linux](https://red-discordbot.readthedocs.io/en/stable/install_linux_mac.html) +- [Raspbian Stretch](https://red-discordbot.readthedocs.io/en/stable/install_linux_mac.html) If after reading the guide you are still experiencing issues, feel free to join the @@ -117,7 +117,7 @@ available 3rd party cogs! **Red** is in continuous development, and it’s supported by an active community which produces new content (cogs/plugins) for everyone to enjoy. New features are constantly added. If you can’t [find](https://cogboard.red/t/approved-repositories/210) the cog you’re looking for, -consult our [guide](https://red-discordbot.readthedocs.io/en/v3-develop/guide_cog_creation.html) on +consult our [guide](https://red-discordbot.readthedocs.io/en/stable/guide_cog_creation.html) on building your own cogs! Join us on our [Official Discord Server](https://discord.gg/red)! From 8a72840de0c5287803a530b54c0c09e9e371fd28 Mon Sep 17 00:00:00 2001 From: Michael H Date: Sat, 29 Jun 2019 10:45:44 -0400 Subject: [PATCH 059/183] [Utils] Modify chmod use in `safe_delete` (#2701) - Takes a pessmisitc approach that it's possible chmod succeeds, but deletion fails and does not make the entire dir world writeable --- redbot/core/utils/__init__.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/redbot/core/utils/__init__.py b/redbot/core/utils/__init__.py index 00a87d299..4dc805109 100644 --- a/redbot/core/utils/__init__.py +++ b/redbot/core/utils/__init__.py @@ -62,13 +62,13 @@ logging.getLogger().addFilter(_fuzzy_log_filter) def safe_delete(pth: Path): if pth.exists(): for root, dirs, files in os.walk(str(pth)): - os.chmod(root, 0o755) + os.chmod(root, 0o700) for d in dirs: - os.chmod(os.path.join(root, d), 0o755) + os.chmod(os.path.join(root, d), 0o700) for f in files: - os.chmod(os.path.join(root, f), 0o755) + os.chmod(os.path.join(root, f), 0o700) shutil.rmtree(str(pth), ignore_errors=True) From 03fe3ee720ad836b9b442460abd1821e3599e9cf Mon Sep 17 00:00:00 2001 From: PredaaA <46051820+PredaaA@users.noreply.github.com> Date: Sat, 29 Jun 2019 17:13:53 +0200 Subject: [PATCH 060/183] [i18n] Fix some missing i18n strings in the whole bot (#2633) --- redbot/cogs/general/general.py | 6 ++++- redbot/cogs/mod/kickban.py | 2 +- redbot/cogs/mod/names.py | 2 +- redbot/cogs/modlog/modlog.py | 4 +-- redbot/cogs/streams/streams.py | 8 +++--- redbot/cogs/streams/streamtypes.py | 29 ++++++++++++--------- redbot/core/dev_commands.py | 2 +- redbot/core/modlog.py | 42 ++++++++++++++++++------------ 8 files changed, 56 insertions(+), 39 deletions(-) diff --git a/redbot/cogs/general/general.py b/redbot/cogs/general/general.py index 133ca58ba..4c85da434 100644 --- a/redbot/cogs/general/general.py +++ b/redbot/cogs/general/general.py @@ -122,7 +122,11 @@ class General(commands.Cog): author = ctx.author player_choice = your_choice.choice if not player_choice: - return await ctx.send("This isn't a valid option. Try rock, paper, or scissors.") + return await ctx.send( + _("This isn't a valid option. Try {r}, {p}, or {s}.").format( + r="rock", p="paper", s="scissors" + ) + ) red_choice = choice((RPS.rock, RPS.paper, RPS.scissors)) cond = { (RPS.rock, RPS.paper): False, diff --git a/redbot/cogs/mod/kickban.py b/redbot/cogs/mod/kickban.py index dc7c9e7da..f408f5c47 100644 --- a/redbot/cogs/mod/kickban.py +++ b/redbot/cogs/mod/kickban.py @@ -249,7 +249,7 @@ class KickBanMixin(MixinMeta): errors = {} async def show_results(): - text = _("Banned {num} users from the server.".format(num=len(banned))) + text = _("Banned {num} users from the server.").format(num=len(banned)) if errors: text += _("\nErrors:\n") text += "\n".join(errors.values()) diff --git a/redbot/cogs/mod/names.py b/redbot/cogs/mod/names.py index e3e7a269b..6c44bab1b 100644 --- a/redbot/cogs/mod/names.py +++ b/redbot/cogs/mod/names.py @@ -101,7 +101,7 @@ class ModInfo(MixinMeta): user_joined = joined_at.strftime("%d %b %Y %H:%M") else: since_joined = "?" - user_joined = "Unknown" + user_joined = _("Unknown") user_created = user.created_at.strftime("%d %b %Y %H:%M") voice_state = user.voice member_number = ( diff --git a/redbot/cogs/modlog/modlog.py b/redbot/cogs/modlog/modlog.py index 3bb0fb9f0..2b1b3e36f 100644 --- a/redbot/cogs/modlog/modlog.py +++ b/redbot/cogs/modlog/modlog.py @@ -66,7 +66,7 @@ class ModLog(commands.Cog): await ctx.send_help() lines = [] for ct in casetypes: - enabled = "enabled" if await ct.is_enabled() else "disabled" + enabled = _("enabled") if await ct.is_enabled() else _("disabled") lines.append(f"{ct.name} : {enabled}") await ctx.send(_("Current settings:\n") + box("\n".join(lines))) @@ -80,7 +80,7 @@ class ModLog(commands.Cog): await casetype.set_enabled(not enabled) await ctx.send( _("Case creation for {action_name} actions is now {enabled}.").format( - action_name=action, enabled="enabled" if not enabled else "disabled" + action_name=action, enabled=_("enabled") if not enabled else _("disabled") ) ) diff --git a/redbot/cogs/streams/streams.py b/redbot/cogs/streams/streams.py index 83a67f4fc..cfb591c95 100644 --- a/redbot/cogs/streams/streams.py +++ b/redbot/cogs/streams/streams.py @@ -183,7 +183,9 @@ class Streams(commands.Cog): async def twitch_alert_channel(self, ctx: commands.Context, channel_name: str): """Toggle alerts in this channel for a Twitch stream.""" if re.fullmatch(r"<#\d+>", channel_name): - await ctx.send("Please supply the name of a *Twitch* channel, not a Discord channel.") + await ctx.send( + _("Please supply the name of a *Twitch* channel, not a Discord channel.") + ) return await self.stream_alert(ctx, TwitchStream, channel_name.lower()) @@ -374,7 +376,7 @@ class Streams(commands.Cog): if message is not None: guild = ctx.guild await self.db.guild(guild).live_message_mention.set(message) - await ctx.send(_("stream alert message set!")) + await ctx.send(_("Stream alert message set!")) else: await ctx.send_help() @@ -390,7 +392,7 @@ class Streams(commands.Cog): if message is not None: guild = ctx.guild await self.db.guild(guild).live_message_nomention.set(message) - await ctx.send(_("stream alert message set!")) + await ctx.send(_("Stream alert message set!")) else: await ctx.send_help() diff --git a/redbot/cogs/streams/streamtypes.py b/redbot/cogs/streams/streamtypes.py index 6c6a6c681..45e83661c 100644 --- a/redbot/cogs/streams/streamtypes.py +++ b/redbot/cogs/streams/streamtypes.py @@ -5,6 +5,7 @@ from .errors import ( InvalidYoutubeCredentials, InvalidTwitchCredentials, ) +from redbot.core.i18n import Translator from random import choice, sample from string import ascii_letters from typing import ClassVar, Optional @@ -22,6 +23,8 @@ YOUTUBE_CHANNELS_ENDPOINT = YOUTUBE_BASE_URL + "/channels" YOUTUBE_SEARCH_ENDPOINT = YOUTUBE_BASE_URL + "/search" YOUTUBE_VIDEOS_ENDPOINT = YOUTUBE_BASE_URL + "/videos" +_ = Translator("Streams", __file__) + def rnd(url): """Appends a random parameter to the url to avoid Discord's caching""" @@ -217,13 +220,13 @@ class TwitchStream(Stream): status += " - Rerun" embed = discord.Embed(title=status, url=url, color=0x6441A4) embed.set_author(name=channel["display_name"]) - embed.add_field(name="Followers", value=channel["followers"]) - embed.add_field(name="Total views", value=channel["views"]) + embed.add_field(name=_("Followers"), value=channel["followers"]) + embed.add_field(name=_("Total views"), value=channel["views"]) embed.set_thumbnail(url=logo) if data["stream"]["preview"]["medium"]: embed.set_image(url=rnd(data["stream"]["preview"]["medium"])) if channel["game"]: - embed.set_footer(text="Playing: " + channel["game"]) + embed.set_footer(text=_("Playing: ") + channel["game"]) return embed @@ -261,11 +264,11 @@ class HitboxStream(Stream): url = channel["channel_link"] embed = discord.Embed(title=livestream["media_status"], url=url, color=0x98CB00) embed.set_author(name=livestream["media_name"]) - embed.add_field(name="Followers", value=channel["followers"]) + embed.add_field(name=_("Followers"), value=channel["followers"]) embed.set_thumbnail(url=base_url + channel["user_logo"]) if livestream["media_thumbnail"]: embed.set_image(url=rnd(base_url + livestream["media_thumbnail"])) - embed.set_footer(text="Playing: " + livestream["category_name"]) + embed.set_footer(text=_("Playing: ") + livestream["category_name"]) return embed @@ -300,8 +303,8 @@ class MixerStream(Stream): url = "https://mixer.com/" + data["token"] embed = discord.Embed(title=data["name"], url=url) embed.set_author(name=user["username"]) - embed.add_field(name="Followers", value=data["numFollowers"]) - embed.add_field(name="Total views", value=data["viewersTotal"]) + embed.add_field(name=_("Followers"), value=data["numFollowers"]) + embed.add_field(name=_("Total views"), value=data["viewersTotal"]) if user["avatarUrl"]: embed.set_thumbnail(url=user["avatarUrl"]) else: @@ -310,7 +313,7 @@ class MixerStream(Stream): embed.set_image(url=rnd(data["thumbnail"]["url"])) embed.color = 0x4C90F3 # pylint: disable=assigning-non-slot if data["type"] is not None: - embed.set_footer(text="Playing: " + data["type"]["name"]) + embed.set_footer(text=_("Playing: ") + data["type"]["name"]) return embed @@ -346,18 +349,18 @@ class PicartoStream(Stream): embed = discord.Embed(title=data["title"], url=url, color=0x4C90F3) embed.set_author(name=data["name"]) embed.set_image(url=rnd(thumbnail)) - embed.add_field(name="Followers", value=data["followers"]) - embed.add_field(name="Total views", value=data["viewers_total"]) + embed.add_field(name=_("Followers"), value=data["followers"]) + embed.add_field(name=_("Total views"), value=data["viewers_total"]) embed.set_thumbnail(url=avatar) data["tags"] = ", ".join(data["tags"]) if not data["tags"]: - data["tags"] = "None" + data["tags"] = _("None") if data["adult"]: - data["adult"] = "NSFW | " + data["adult"] = _("NSFW | ") else: data["adult"] = "" - embed.set_footer(text="{adult}Category: {category} | Tags: {tags}".format(**data)) + embed.set_footer(text=_("{adult}Category: {category} | Tags: {tags}").format(**data)) return embed diff --git a/redbot/core/dev_commands.py b/redbot/core/dev_commands.py index e7e5c74e1..488d13f03 100644 --- a/redbot/core/dev_commands.py +++ b/redbot/core/dev_commands.py @@ -233,7 +233,7 @@ class Dev(commands.Cog): cleaned = self.cleanup_code(response.content) if cleaned in ("quit", "exit", "exit()"): - await ctx.send("Exiting.") + await ctx.send(_("Exiting.")) self.sessions.remove(ctx.channel.id) return diff --git a/redbot/core/modlog.py b/redbot/core/modlog.py index a804f7b40..a834c3d8d 100644 --- a/redbot/core/modlog.py +++ b/redbot/core/modlog.py @@ -12,6 +12,7 @@ from .utils.common_filters import ( filter_urls, escape_spoilers, ) +from .i18n import Translator __all__ = [ "Case", @@ -37,6 +38,9 @@ _CASES = "CASES" _SCHEMA_VERSION = 2 +_ = Translator("ModLog", __file__) + + async def _init(): global _conf _conf = Config.get_conf(None, 1354799444, cog_name="ModLog") @@ -158,18 +162,18 @@ class Case: """ casetype = await get_casetype(self.action_type) title = "{}".format( - "Case #{} | {} {}".format(self.case_number, casetype.case_str, casetype.image) + _("Case #{} | {} {}").format(self.case_number, casetype.case_str, casetype.image) ) if self.reason: - reason = "**Reason:** {}".format(self.reason) + reason = _("**Reason:** {}").format(self.reason) else: - reason = "**Reason:** Use the `reason` command to add it" + reason = _("**Reason:** Use the `reason` command to add it") if self.moderator is not None: moderator = escape_spoilers(f"{self.moderator} ({self.moderator.id})") else: - moderator = "Unknown" + moderator = _("Unknown") until = None duration = None if self.until: @@ -209,36 +213,40 @@ class Case: if avatar_url is not None: emb.set_author(name=user, icon_url=avatar_url) - emb.add_field(name="Moderator", value=moderator, inline=False) + emb.add_field(name=_("Moderator"), value=moderator, inline=False) if until and duration: - emb.add_field(name="Until", value=until) - emb.add_field(name="Duration", value=duration) + emb.add_field(name=_("Until"), value=until) + emb.add_field(name=_("Duration"), value=duration) if isinstance(self.channel, int): - emb.add_field(name="Channel", value=f"{self.channel} (deleted)", inline=False) + emb.add_field( + name=_("Channel"), + value=_("{channel} (deleted)").format(channel=self.channel), + inline=False, + ) elif self.channel is not None: - emb.add_field(name="Channel", value=self.channel.name, inline=False) + emb.add_field(name=_("Channel"), value=self.channel.name, inline=False) if amended_by: - emb.add_field(name="Amended by", value=amended_by) + emb.add_field(name=_("Amended by"), value=amended_by) if last_modified: - emb.add_field(name="Last modified at", value=last_modified) + emb.add_field(name=_("Last modified at"), value=last_modified) emb.timestamp = datetime.fromtimestamp(self.created_at) return emb else: user = filter_mass_mentions(filter_urls(user)) # Further sanitization outside embeds case_text = "" case_text += "{}\n".format(title) - case_text += "**User:** {}\n".format(user) - case_text += "**Moderator:** {}\n".format(moderator) + case_text += _("**User:** {}\n").format(user) + case_text += _("**Moderator:** {}\n").format(moderator) case_text += "{}\n".format(reason) if until and duration: - case_text += "**Until:** {}\n**Duration:** {}\n".format(until, duration) + case_text += _("**Until:** {}\n**Duration:** {}\n").format(until, duration) if self.channel: - case_text += "**Channel**: {}\n".format(self.channel.name) + case_text += _("**Channel**: {}\n").format(self.channel.name) if amended_by: - case_text += "**Amended by:** {}\n".format(amended_by) + case_text += _("**Amended by:** {}\n").format(amended_by) if last_modified: - case_text += "**Last modified at:** {}\n".format(last_modified) + case_text += _("**Last modified at:** {}\n").format(last_modified) return case_text.strip() def to_json(self) -> dict: From 2f8b1a21c786b069bd14e23a9bf4d3726a034a18 Mon Sep 17 00:00:00 2001 From: PredaaA <46051820+PredaaA@users.noreply.github.com> Date: Sat, 29 Jun 2019 17:28:29 +0200 Subject: [PATCH 061/183] [Audio] Fix config set in shuffle and repeat commands (#2812) Resolves #2811 and also the same thing in repeat command. --- redbot/cogs/audio/audio.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/redbot/cogs/audio/audio.py b/redbot/cogs/audio/audio.py index eb43d5f70..42a84a241 100644 --- a/redbot/cogs/audio/audio.py +++ b/redbot/cogs/audio/audio.py @@ -2819,9 +2819,6 @@ class Audio(commands.Cog): ctx, ctx.author ): return await self._embed_msg(ctx, _("You need the DJ role to toggle repeat.")) - repeat = await self.config.guild(ctx.guild).repeat() - await self.config.guild(ctx.guild).repeat.set(not repeat) - repeat = await self.config.guild(ctx.guild).repeat() if self._player_check(ctx): await self._data_check(ctx) player = lavalink.get_player(ctx.guild.id) @@ -2831,9 +2828,13 @@ class Audio(commands.Cog): return await self._embed_msg( ctx, _("You must be in the voice channel to toggle repeat.") ) + + repeat = await self.config.guild(ctx.guild).repeat() + await self.config.guild(ctx.guild).repeat.set(not repeat) await self._embed_msg( - ctx, _("Repeat tracks: {true_or_false}.").format(true_or_false=repeat) + ctx, _("Repeat tracks: {true_or_false}.").format(true_or_false=not repeat) ) + await self._data_check(ctx) @commands.command() @commands.guild_only() @@ -3245,9 +3246,6 @@ class Audio(commands.Cog): if dj_enabled: if not await self._can_instaskip(ctx, ctx.author): return await self._embed_msg(ctx, _("You need the DJ role to toggle shuffle.")) - shuffle = await self.config.guild(ctx.guild).shuffle() - await self.config.guild(ctx.guild).shuffle.set(not shuffle) - shuffle = await self.config.guild(ctx.guild).shuffle() if self._player_check(ctx): await self._data_check(ctx) player = lavalink.get_player(ctx.guild.id) @@ -3257,9 +3255,13 @@ class Audio(commands.Cog): return await self._embed_msg( ctx, _("You must be in the voice channel to toggle shuffle.") ) + + shuffle = await self.config.guild(ctx.guild).shuffle() + await self.config.guild(ctx.guild).shuffle.set(not shuffle) await self._embed_msg( - ctx, _("Shuffle tracks: {true_or_false}.").format(true_or_false=shuffle) + ctx, _("Shuffle tracks: {true_or_false}.").format(true_or_false=not shuffle) ) + await self._data_check(ctx) @commands.command() @commands.guild_only() From 10412c4f51bfd93e182ca7ad03319f2c85a080ff Mon Sep 17 00:00:00 2001 From: Elizabeth Sherrock Date: Sat, 29 Jun 2019 11:35:47 -0400 Subject: [PATCH 062/183] Fix broken link in `set color` docstring (#2803) --- redbot/core/core_commands.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index 7112a04ea..8ed69dd5b 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -850,7 +850,7 @@ class Core(commands.Cog, CoreLogic): Acceptable values for the colour parameter can be found at: - http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter + https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter """ if colour is None: ctx.bot.color = discord.Color.red() From 098540b9e51157692c327fb8b3c3e01b9d87db20 Mon Sep 17 00:00:00 2001 From: Michael H Date: Sat, 29 Jun 2019 12:16:28 -0400 Subject: [PATCH 063/183] [Core] Fix user output on cog load/reload (#2767) * [Core] Fix user output on cog load/reload - Properly fixes the load/reload exception handling - Fixes some i18n use here to not make assumptions about other languages pluralization rules. * Fix some typos * Address Flame's Feedback * It's important to save before committing ... * formatting * Fix some formats... --- redbot/core/bot.py | 2 +- redbot/core/core_commands.py | 177 ++++++++++++++++++++++------------- 2 files changed, 114 insertions(+), 65 deletions(-) diff --git a/redbot/core/bot.py b/redbot/core/bot.py index f6d872b46..26a928c30 100644 --- a/redbot/core/bot.py +++ b/redbot/core/bot.py @@ -303,7 +303,7 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d except Exception as e: self._remove_module_references(lib.__name__) self._call_module_finalizers(lib, name) - raise errors.CogLoadError(e) from e + raise else: self._BotBase__extensions[name] = lib diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index 8ed69dd5b..01b65dc87 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -34,9 +34,9 @@ from redbot.core import ( ) from .utils.predicates import MessagePredicate from .utils.chat_formatting import humanize_timedelta, pagify, box, inline, humanize_list - from .commands.requires import PrivilegeLevel + if TYPE_CHECKING: from redbot.core.bot import Red @@ -149,25 +149,6 @@ class CoreLogic: for child_name, lib in children.items(): importlib._bootstrap._exec(lib.__spec__, lib) - @staticmethod - def _get_package_strings( - packages: List[str], fmt: str, other: Optional[Tuple[str, ...]] = None - ) -> str: - """ - Gets the strings needed for the load, unload and reload commands - """ - packages = [inline(name) for name in packages] - - if other is None: - other = ("", "") - plural = "s" if len(packages) > 1 else "" - use_and, other = ("", other[0]) if len(packages) == 1 else (" and ", other[1]) - packages_string = ", ".join(packages[:-1]) + use_and + packages[-1] - - form = {"plural": plural, "packs": packages_string, "other": other} - final_string = fmt.format(**form) - return final_string - async def _unload(self, cog_names: Iterable[str]) -> Tuple[List[str], List[str]]: """ Unloads cogs with the given names. @@ -586,38 +567,64 @@ class Core(commands.Cog, CoreLogic): async with ctx.typing(): loaded, failed, not_found, already_loaded, failed_with_reason = await self._load(cogs) + output = [] + if loaded: - fmt = _("Loaded {packs}.") - formed = self._get_package_strings(loaded, fmt) - await ctx.send(formed) + loaded_packages = humanize_list([inline(package) for package in loaded]) + formed = _("Loaded {packs}.").format(packs=loaded_packages) + output.append(formed) if already_loaded: - fmt = _("The package{plural} {packs} {other} already loaded.") - formed = self._get_package_strings(already_loaded, fmt, (_("is"), _("are"))) - await ctx.send(formed) + if len(already_loaded) == 1: + formed = _("The following package is already loaded: {pack}").format( + pack=inline(already_loaded[0]) + ) + else: + formed = _("The following packages are already loaded: {packs}").format( + packs=humanize_list([inline(package) for package in already_loaded]) + ) + output.append(formed) if failed: - fmt = _( - "Failed to load package{plural} {packs}. Check your console or " - "logs for details." - ) - formed = self._get_package_strings(failed, fmt) - await ctx.send(formed) + if len(failed) == 1: + formed = _( + "Failed to load the following package: {pack}." + "\nCheck your console or logs for details." + ).format(pack=inline(failed[0])) + else: + formed = _( + "Failed to load the following packages: {packs}" + "\nCheck your console or logs for details." + ).format(packs=humanize_list([inline(package) for package in failed])) + output.append(formed) if not_found: - fmt = _("The package{plural} {packs} {other} not found in any cog path.") - formed = self._get_package_strings(not_found, fmt, (_("was"), _("were"))) - await ctx.send(formed) + if len(not_found) == 1: + formed = _("The following package was not found in any cog path: {pack}.").format( + pack=inline(not_found[0]) + ) + else: + formed = _( + "The following packages were not found in any cog path: {packs}" + ).format(packs=humanize_list([inline(package) for package in not_found])) + output.append(formed) if failed_with_reason: - fmt = _( - "{other} package{plural} could not be loaded for the following reason{plural}:\n\n" - ) reasons = "\n".join([f"`{x}`: {y}" for x, y in failed_with_reason]) - formed = self._get_package_strings( - [x for x, y in failed_with_reason], fmt, (_("This"), _("These")) - ) - await ctx.send(formed + reasons) + if len(failed_with_reason) == 1: + formed = _( + "This package could not be loaded for the following reason:\n\n{reason}" + ).format(reason=reasons) + else: + formed = _( + "These packages could not be loaded for the following reasons:\n\n{reasons}" + ).format(reasons=reasons) + output.append(formed) + + if output: + total_message = "\n\n".join(output) + for page in pagify(total_message): + await ctx.send(page) @commands.command() @checks.is_owner() @@ -628,15 +635,34 @@ class Core(commands.Cog, CoreLogic): cogs = tuple(map(lambda cog: cog.rstrip(","), cogs)) unloaded, failed = await self._unload(cogs) + output = [] + if unloaded: - fmt = _("Package{plural} {packs} {other} unloaded.") - formed = self._get_package_strings(unloaded, fmt, (_("was"), _("were"))) - await ctx.send(formed) + if len(unloaded) == 1: + formed = _("The following package was unloaded: {pack}.").format( + pack=inline(unloaded[0]) + ) + else: + formed = _("The following packages were unloaded: {packs}.").format( + packs=humanize_list([inline(package) for package in unloaded]) + ) + output.append(formed) if failed: - fmt = _("The package{plural} {packs} {other} not loaded.") - formed = self._get_package_strings(failed, fmt, (_("is"), _("are"))) - await ctx.send(formed) + if len(failed) == 1: + formed = _("The following package was not loaded: {pack}.").format( + pack=inline(failed[0]) + ) + else: + formed = _("The following packages were not loaded: {packs}.").format( + packs=humanize_list([inline(package) for package in failed]) + ) + output.append(formed) + + if output: + total_message = "\n\n".join(output) + for page in pagify(total_message): + await ctx.send(page) @commands.command(name="reload") @checks.is_owner() @@ -650,30 +676,53 @@ class Core(commands.Cog, CoreLogic): cogs ) + output = [] + if loaded: - fmt = _("Package{plural} {packs} {other} reloaded.") - formed = self._get_package_strings(loaded, fmt, (_("was"), _("were"))) - await ctx.send(formed) + loaded_packages = humanize_list([inline(package) for package in loaded]) + formed = _("Reloaded {packs}.").format(packs=loaded_packages) + output.append(formed) if failed: - fmt = _("Failed to reload package{plural} {packs}. Check your logs for details") - formed = self._get_package_strings(failed, fmt) - await ctx.send(formed) + if len(failed) == 1: + formed = _( + "Failed to reload the following package: {pack}." + "\nCheck your console or logs for details." + ).format(pack=inline(failed[0])) + else: + formed = _( + "Failed to reload the following packages: {packs}" + "\nCheck your console or logs for details." + ).format(packs=humanize_list([inline(package) for package in failed])) + output.append(formed) if not_found: - fmt = _("The package{plural} {packs} {other} not found in any cog path.") - formed = self._get_package_strings(not_found, fmt, (_("was"), _("were"))) - await ctx.send(formed) + if len(not_found) == 1: + formed = _("The following package was not found in any cog path: {pack}.").format( + pack=inline(not_found[0]) + ) + else: + formed = _( + "The following packages were not found in any cog path: {packs}" + ).format(packs=humanize_list([inline(package) for package in not_found])) + output.append(formed) if failed_with_reason: - fmt = _( - "{other} package{plural} could not be reloaded for the following reason{plural}:\n\n" - ) reasons = "\n".join([f"`{x}`: {y}" for x, y in failed_with_reason]) - formed = self._get_package_strings( - [x for x, y in failed_with_reason], fmt, (_("This"), _("These")) - ) - await ctx.send(formed + reasons) + if len(failed_with_reason) == 1: + formed = _( + "This package could not be reloaded for the following reason:\n\n{reason}" + ).format(reason=reasons) + else: + formed = _( + "These packages could not be reloaded for the following reasons:\n\n{reasons}" + ).format(reasons=reasons) + output.append(formed) + + if output: + total_message = "\n\n".join(output) + for page in pagify(total_message): + await ctx.send(page) @commands.command(name="shutdown") @checks.is_owner() From 7323e8eb67de910868c87d5f150f7e71e67fc9df Mon Sep 17 00:00:00 2001 From: Flame442 <34169552+Flame442@users.noreply.github.com> Date: Sun, 30 Jun 2019 19:29:26 -0400 Subject: [PATCH 064/183] [Trivia] Beethoven corrections for entertainment list (#2823) --- redbot/cogs/trivia/data/lists/entertainment.yaml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/redbot/cogs/trivia/data/lists/entertainment.yaml b/redbot/cogs/trivia/data/lists/entertainment.yaml index 5cccb7ee2..b7726b848 100644 --- a/redbot/cogs/trivia/data/lists/entertainment.yaml +++ b/redbot/cogs/trivia/data/lists/entertainment.yaml @@ -137,6 +137,7 @@ He was the voice of draco the dragon in the movie Dragonheart?: - Sean Connery He wrote the operas "The Magic Flute" and "The Marriage of Figaro"?: - Wolfgang Amadeus Mozart +- Mozart "His films include: Giant, Written on the Wind, and A Farewell to Arms?": - Rock Hudson His films include?: @@ -169,8 +170,8 @@ How many strings does a harp have?: - 47 - Forty Seven How many symphonies did Beethoven complete?: -- Eight -- 8 +- Nine +- 9 How old was Leann Rhimes when she recorded her first album?: - Eleven - 11 @@ -931,9 +932,9 @@ Which movie is the highest grossing movie of all time?: Which native of Flint, Michigan, once advised us to "drive your Chevrolet through the USA"?: - Pat Boone Which of Beethoven's symphonies was the legendary "Incomplete"?: -- The 9th Symphony -- 9th -- 9 +- The 10th Symphony +- 10th +- 10 Which of Paul Simon's musical characters was told to hop on the bus?: - Gus Which planet was the "Planet of the Apes"?: From 55e309125e70c66df3b5ab69eab003dc92ae218b Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Tue, 2 Jul 2019 11:53:38 +1000 Subject: [PATCH 065/183] Add uvloop as Posix+CPython dependency and tweak new Make recipes (#2819) - uvloop is now a dependency on non-Windows CPython systems - `make setupenv` renamed to `make newenv` - `make syncenv` added to sync local venv to current dependencies - `dev-requirements.txt` moved into `tools` directory --- .github/CONTRIBUTING.md | 9 +++++---- Makefile | 6 ++++-- make.bat | 11 ++++++++--- setup.cfg | 7 ++++--- dev-requirements.txt => tools/dev-requirements.txt | 0 tools/primary_deps.ini | 1 + 6 files changed, 22 insertions(+), 12 deletions(-) rename dev-requirements.txt => tools/dev-requirements.txt (100%) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 0858e15df..308b1d4ec 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -62,7 +62,7 @@ If you're not on Windows, you should also have GNU make installed, and you can o 1. Fork and clone the repository to a directory on your local machine. 2. Open a command line in that directory and execute the following command: ```bash - make setupenv + make newenv ``` Red, its dependencies, and all required development tools, are now installed to a virtual environment located in the `.venv` subdirectory. Red is installed in editable mode, meaning that edits you make to the source code in the repository will be reflected when you run Red. 3. Activate the new virtual environment with one of the following commands: @@ -76,7 +76,7 @@ If you're not on Windows, you should also have GNU make installed, and you can o ``` Each time you open a new command line, you should execute this command first. From here onwards, we will assume you are executing commands from within this activated virtual environment. -**Note:** If you're comfortable with setting up virtual environments yourself and would rather do it manually, just run `pip install -r dev-requirements.txt` after setting it up. +**Note:** If you're comfortable with setting up virtual environments yourself and would rather do it manually, just run `pip install -Ur tools/dev-requirements.txt` after setting it up. ### 4.2 Testing We've recently started using [tox](https://github.com/tox-dev/tox) to run all of our tests. It's extremely simple to use, and if you followed the previous section correctly, it is already installed to your virtual environment. @@ -101,10 +101,11 @@ Use the command `black --help` to see how to use this tool. The full style guide You may have noticed we have a `Makefile` and a `make.bat` in the top-level directory. For now, you can do three things with them: 1. `make reformat`: Reformat all python files in the project with Black 2. `make stylecheck`: Check if any `.py` files in the project need reformatting -3. `make setupenv`: Set up a new virtual environment in the `.venv` subdirectory, and install Red and its dependencies. If one already exists, it is cleared out and replaced. +3. `make newenv`: Set up a new virtual environment in the `.venv` subdirectory, and install Red and its dependencies. If one already exists, it is cleared out and replaced. +4. `make syncenv`: Sync your environment with Red's latest dependencies. ### 4.5 Keeping your dependencies up to date -Whenever you pull from upstream (V3/develop on the main repository) and you notice either of the files `setup.cfg` or `dev-requirements.txt` have been changed, it can often mean some package dependencies have been updated, added or removed. To make sure you're testing and formatting with the most up-to-date versions of our dependencies, run `make setupenv` to recreate your virtual environment. You could also simply do `pip install -Ur dev-requirements.txt`, but you will still have any dependencies which may have been removed previously. +Whenever you pull from upstream (V3/develop on the main repository) and you notice either of the files `setup.cfg` or `tools/dev-requirements.txt` have been changed, it can often mean some package dependencies have been updated, added or removed. To make sure you're testing and formatting with the most up-to-date versions of our dependencies, run `make syncenv`. You could also simply do `make newenv` to install them to a clean new virtual environment. ### 4.6 To contribute changes diff --git a/Makefile b/Makefile index 6280b2bfb..a39d615e7 100644 --- a/Makefile +++ b/Makefile @@ -18,7 +18,9 @@ bumpdeps: python tools/bumpdeps.py # Development environment -setupenv: +newenv: python3.7 -m venv --clear .venv .venv/bin/pip install -U pip setuptools - .venv/bin/pip install -Ur dev-requirements.txt + $(MAKE) syncenv +syncenv: + .venv/bin/pip install -Ur ./tools/dev-requirements.txt diff --git a/make.bat b/make.bat index cf71ab715..7f9b79df6 100644 --- a/make.bat +++ b/make.bat @@ -21,10 +21,13 @@ exit /B %ERRORLEVEL% black -l 99 --check !PYFILES! exit /B %ERRORLEVEL% -:setupenv +:newenv py -3.7 -m venv --clear .venv .\.venv\Scripts\python -m pip install -U pip setuptools -.\.venv\Scripts\python -m pip install -Ur dev-requirements.txt +goto syncenv + +:syncenv +.\.venv\Scripts\python -m pip install -Ur .\tools\dev-requirements.txt exit /B %ERRORLEVEL% :help @@ -34,4 +37,6 @@ echo. echo Commands: echo reformat Reformat all .py files being tracked by git. echo stylecheck Check which tracked .py files need reformatting. -echo setupenv Create or replace a virtual environment for development. +echo newenv Create or replace this project's virtual environment. +echo syncenv Sync this project's virtual environment to Red's latest +echo dependencies. diff --git a/setup.cfg b/setup.cfg index 30386aea5..6f1c51690 100644 --- a/setup.cfg +++ b/setup.cfg @@ -45,6 +45,7 @@ install_requires = Red-Lavalink==0.3.0 schema==0.7.0 tqdm==4.32.2 + uvloop==0.12.2; sys_platform != "win32" and platform_python_implementation == "CPython" websockets==6.0 yarl==1.3.0 @@ -63,7 +64,7 @@ docs = pytz==2019.1 requests==2.22.0 six==1.12.0 - snowballstemmer==1.2.1 + snowballstemmer==1.9.0 Sphinx==2.1.2 sphinx-rtd-theme==0.4.3 sphinxcontrib-applehelp==1.0.1 @@ -88,13 +89,13 @@ test = isort==4.3.21 lazy-object-proxy==1.4.1 mccabe==0.6.1 - more-itertools==7.0.0 + more-itertools==7.1.0 packaging==19.0 pluggy==0.12.0 py==1.8.0 pylint==2.3.1 pyparsing==2.4.0 - pytest==4.6.3 + pytest==5.0.0 pytest-asyncio==0.10.0 six==1.12.0 typed-ast==1.4.0 diff --git a/dev-requirements.txt b/tools/dev-requirements.txt similarity index 100% rename from dev-requirements.txt rename to tools/dev-requirements.txt diff --git a/tools/primary_deps.ini b/tools/primary_deps.ini index ef0a58cff..f35aa103c 100644 --- a/tools/primary_deps.ini +++ b/tools/primary_deps.ini @@ -19,6 +19,7 @@ install_requires = Red-Lavalink schema tqdm + uvloop; sys_platform != "win32" and platform_python_implementation == "CPython" # Websockets is a secondary dependency, but until pip has a complete dependency resolver, we # need to list it here to avoid an incompatible version being installed. # See under point 2 here: https://pip.pypa.io/en/stable/user_guide/#requirements-files From 081bf663a4a3eea2e865ff0a75c1b2bef73a1e3e Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Tue, 2 Jul 2019 03:54:56 +0200 Subject: [PATCH 066/183] test(core): ignore pylint's ImportErrors for `distro` package (#2830) --- redbot/core/core_commands.py | 2 +- redbot/launcher.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index 01b65dc87..df07caad9 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -1652,7 +1652,7 @@ class Core(commands.Cog, CoreLogic): """Shows debug information useful for debugging..""" if sys.platform == "linux": - import distro + import distro # pylint: disable=import-error IS_WINDOWS = os.name == "nt" IS_MAC = sys.platform == "darwin" diff --git a/redbot/launcher.py b/redbot/launcher.py index 602e8528e..03e4b49ef 100644 --- a/redbot/launcher.py +++ b/redbot/launcher.py @@ -20,7 +20,7 @@ from redbot.core import __version__, version_info as red_version_info, VersionIn from redbot.core.cli import confirm if sys.platform == "linux": - import distro + import distro # pylint: disable=import-error INTERACTIVE_MODE = not len(sys.argv) > 1 # CLI flags = non-interactive From 942dca43d3995ba3cd01fd2c5084699a752a5897 Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Tue, 2 Jul 2019 03:57:30 +0200 Subject: [PATCH 067/183] [Downloader]: RepoManager: don't load repos in __init__ (#2829) Loading repos is already done in initialize() method. This could actually turn out badly if both of git processes would touch the same repo at the same time. This also fixes create_backup in setup.py - now it properly generates repos.json --- redbot/cogs/downloader/repo_manager.py | 3 --- redbot/setup.py | 3 ++- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/redbot/cogs/downloader/repo_manager.py b/redbot/cogs/downloader/repo_manager.py index a12ec9030..9985e08bd 100644 --- a/redbot/cogs/downloader/repo_manager.py +++ b/redbot/cogs/downloader/repo_manager.py @@ -540,9 +540,6 @@ class RepoManager: def __init__(self): self._repos = {} - loop = asyncio.get_event_loop() - loop.create_task(self._load_repos(set=True)) # str_name: Repo - async def initialize(self): await self._load_repos(set=True) diff --git a/redbot/setup.py b/redbot/setup.py index 20e2c848f..797cbd841 100644 --- a/redbot/setup.py +++ b/redbot/setup.py @@ -409,8 +409,9 @@ async def create_backup(instance): from redbot.cogs.downloader.repo_manager import RepoManager repo_mgr = RepoManager() + await repo_mgr.initialize() repo_output = [] - for _, repo in repo_mgr._repos: + for repo in repo_mgr._repos.values(): repo_output.append({"url": repo.url, "name": repo.name, "branch": repo.branch}) repo_filename = pth / "cogs" / "RepoManager" / "repos.json" with open(str(repo_filename), "w") as f: From 142fb0ad08265062db83793b37d99c613f2ed1bc Mon Sep 17 00:00:00 2001 From: Flame442 <34169552+Flame442@users.noreply.github.com> Date: Mon, 1 Jul 2019 22:03:12 -0400 Subject: [PATCH 068/183] [Trivia] Car list fixes (#2825) --- redbot/cogs/trivia/data/lists/cars.yaml | 30 +++++++++++++++++++------ 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/redbot/cogs/trivia/data/lists/cars.yaml b/redbot/cogs/trivia/data/lists/cars.yaml index 59b1a8b1a..651f5ec04 100644 --- a/redbot/cogs/trivia/data/lists/cars.yaml +++ b/redbot/cogs/trivia/data/lists/cars.yaml @@ -43,6 +43,7 @@ What car is this? http://i.imgur.com/91Qr2qU.jpg: - Atom What car is this? http://i.imgur.com/98oRdwe.jpg: - Mazda 6 +- Mazda6 What car is this? http://i.imgur.com/ByN5HvO.jpg: - Jaguar F-TYPE - Jaguar F TYPE @@ -54,6 +55,7 @@ What car is this? http://i.imgur.com/Em4lvkt.jpg: What car is this? http://i.imgur.com/F1dO1Zv.jpg: - Jeep Wrangler - Wrangler +- JK What car is this? http://i.imgur.com/FUhK0aW.jpg: - Honda Civic - Civic @@ -90,6 +92,8 @@ What car is this? http://i.imgur.com/LwMyFVe.jpg: - Miata - Mazda MX5 - MX5 +- Mazda MX-5 +- MX-5 What car is this? http://i.imgur.com/MT6vGov.jpg: - Subaru WRX STI - WRX STI @@ -117,6 +121,7 @@ What car is this? http://i.imgur.com/Sx277Np.jpg: - Jeep Grand Cherokee - Grand Cherokee - Cherokee +- WK2 What car is this? http://i.imgur.com/UDNVozm.jpg: - BMW 135i - 135i @@ -147,9 +152,9 @@ What car is this? http://i.imgur.com/Z359mLS.jpg: - A45 AMG - A45 What car is this? http://i.imgur.com/ZLzZkiQ.jpg: -- Ferrari 451 Italia -- 451 Italia -- 451 +- Ferrari 458 Italia +- 458 Italia +- 458 What car is this? http://i.imgur.com/ZRW6msa.jpg: - Audi TT - TT @@ -164,6 +169,8 @@ What car is this? http://i.imgur.com/bCq4ePD.jpg: What car is this? http://i.imgur.com/cOXNsmp.jpg: - Mitsubishi 3000GT - 3000GT +- GTO +- Mitsubishi GTO What car is this? http://i.imgur.com/cyLaOzo.jpg: - Ford GT40 - GT40 @@ -184,6 +191,7 @@ What car is this? http://i.imgur.com/j9YLUhp.jpg: - Venom GT What car is this? http://i.imgur.com/kYXfqli.jpg: - Mazda 3 +- Mazda3 What car is this? http://i.imgur.com/lEqHceK.jpg: - BMW M5 - M5 @@ -208,8 +216,10 @@ What car is this? http://i.imgur.com/qxG9gDx.jpg: - Shelby Cobra - Cobra What car is this? http://i.imgur.com/qyWZlNp.jpg: -- Toyota FT86 -- FT86 +- Toyota GT86 +- GT86 +- Toyota 86 +- 86 What car is this? http://i.imgur.com/rl6uDya.jpg: - Nissan Skyline R33 GTR - Skyline R33 GTR @@ -229,9 +239,11 @@ What car is this? http://i.imgur.com/tfmqVrR.jpg: - Lancer Evolution - Lancer Evo - Evo +- Evo X What car is this? http://i.imgur.com/tz6AaI5.jpg: -- Holden Marloo -- Marloo +- Holden Maloo +- Maloo +- HSV Maloo What car is this? http://i.imgur.com/u18TuTM.jpg: - Honda Odyssey - Odyssey @@ -248,6 +260,9 @@ What car is this? http://i.imgur.com/xODGOOa.jpg: What car is this? http://i.imgur.com/yUzmtGU.jpg: - Toyota Landcruiser - Landcruiser +- Toyota Land cruiser +- Land cruiser +- J200 What car is this? http://i.imgur.com/yXgbowC.jpg: - Toyota Celica - Celica @@ -260,6 +275,7 @@ What car is this? http://i.imgur.com/ze0s5Kl.jpg: - Nissan 350 Z - 350Z - 350 Z +- Z33 What car is this? https://i.imgur.com/STHmXOc.jpg: - Factory Five - 818C From 93391d028c9b457564db9e7501bbaab791117f58 Mon Sep 17 00:00:00 2001 From: aikaterna <20862007+aikaterna@users.noreply.github.com> Date: Mon, 1 Jul 2019 20:11:44 -0700 Subject: [PATCH 069/183] [Audio] _enqueue_tracks clarification/fix (#2822) Resolves #2820. Added some comments to clear up a little of the mystery in a couple places. --- redbot/cogs/audio/audio.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/redbot/cogs/audio/audio.py b/redbot/cogs/audio/audio.py index 42a84a241..29a17e678 100644 --- a/redbot/cogs/audio/audio.py +++ b/redbot/cogs/audio/audio.py @@ -1638,6 +1638,7 @@ class Audio(commands.Cog): async def _enqueue_tracks(self, ctx, query): player = lavalink.get_player(ctx.guild.id) guild_data = await self.config.guild(ctx.guild).all() + first_track_only = False if type(query) is not list: if not ( query.startswith("http") @@ -1645,6 +1646,8 @@ class Audio(commands.Cog): or query.startswith("ytsearch:") ): query = f"ytsearch:{query}" + if query.startswith(("ytsearch", "localtracks")): + first_track_only = True tracks = await player.get_tracks(query) if not tracks: return await self._embed_msg(ctx, _("Nothing found.")) @@ -1655,7 +1658,11 @@ class Audio(commands.Cog): queue_total_duration = lavalink.utils.format_time(queue_duration) before_queue_length = len(player.queue) - if ("ytsearch:" or "localtrack") not in query and len(tracks) > 1: + if not first_track_only and len(tracks) > 1: + # a list of Tracks where all should be enqueued + # this is a Spotify playlist aleady made into a list of Tracks or a + # url where Lavalink handles providing all Track objects to use, like a + # YouTube or Soundcloud playlist track_len = 0 for track in tracks: if guild_data["maxlength"] > 0: @@ -1688,6 +1695,9 @@ class Audio(commands.Cog): if not player.current: await player.play() else: + # a ytsearch: prefixed item where we only need the first Track returned + # this is in the case of [p]play , a single Spotify url/code + # or this is a localtrack item try: single_track = tracks[0] if guild_data["maxlength"] > 0: @@ -3077,14 +3087,17 @@ class Audio(commands.Cog): except AttributeError: if command == "search": + # [p]local search return await ctx.invoke(self.play, query=("localtracks/{}".format(search_choice))) search_choice = search_choice.replace("localtrack:", "") local_path = await self.config.localpath() if not search_choice.startswith(local_path): + # folder display for [p]local play return await ctx.invoke( self.search, query=("localfolder:{}".format(search_choice)) ) else: + # file display for a chosen folder in the [p]local play menus return await ctx.invoke(self.play, query=("localtrack:{}".format(search_choice))) embed = discord.Embed( From d1593b8069ba582be2af1bc7d73e29dafe8d7e9b Mon Sep 17 00:00:00 2001 From: aikaterna <20862007+aikaterna@users.noreply.github.com> Date: Mon, 1 Jul 2019 20:15:34 -0700 Subject: [PATCH 070/183] [Audio] Catch unhandled internal folder types (#2824) The `folder:` and `localfolder:` prefixes are used internally with some localtracks strings to define what to do with the item when it's cycled through the search function. Users theoretically should have never seen this issue as [p]search is used on the user side for YouTube and Soundcloud searching and not local searching, but this handles the issue where a folder is being passed to these functions that doesn't exist. --- redbot/cogs/audio/audio.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/redbot/cogs/audio/audio.py b/redbot/cogs/audio/audio.py index 29a17e678..df63891a0 100644 --- a/redbot/cogs/audio/audio.py +++ b/redbot/cogs/audio/audio.py @@ -1211,6 +1211,8 @@ class Audio(commands.Cog): async def _folder_list(self, ctx, folder): if not await self._localtracks_check(ctx): return + if not os.path.isdir(os.getcwd() + "/localtracks/{}/".format(folder)): + return allowed_files = (".mp3", ".flac", ".ogg") folder_list = sorted( ( @@ -1237,6 +1239,8 @@ class Audio(commands.Cog): async def _folder_tracks(self, ctx, player, folder): if not await self._localtracks_check(ctx): return + if not os.path.isdir(os.getcwd() + "/localtracks/{}/".format(folder)): + return local_tracks = [] for local_file in await self._all_folder_tracks(ctx, folder): track = await player.get_tracks("localtracks/{}/{}".format(folder, local_file)) From 0eb22c84ff554aa1a898e0a87e8e235afc1b1a61 Mon Sep 17 00:00:00 2001 From: Michael H Date: Tue, 2 Jul 2019 20:07:19 -0400 Subject: [PATCH 071/183] [Bank API] Add cost decorator (#2761) --- docs/framework_bank.rst | 4 ++ redbot/core/bank.py | 75 +++++++++++++++++++++++++++++++++- redbot/core/commands/errors.py | 10 ++++- redbot/core/events.py | 3 ++ 4 files changed, 90 insertions(+), 2 deletions(-) diff --git a/docs/framework_bank.rst b/docs/framework_bank.rst index 393fff631..b6cfb4ec4 100644 --- a/docs/framework_bank.rst +++ b/docs/framework_bank.rst @@ -40,3 +40,7 @@ Bank .. automodule:: redbot.core.bank :members: + :exclude-members: cost + + .. autofunction:: cost + :decorator: diff --git a/redbot/core/bank.py b/redbot/core/bank.py index 442af8026..3b08a5083 100644 --- a/redbot/core/bank.py +++ b/redbot/core/bank.py @@ -1,9 +1,14 @@ +import asyncio import datetime from typing import Union, List, Optional +from functools import wraps import discord -from . import Config, errors +from . import Config, errors, commands +from .i18n import Translator + +_ = Translator("Bank API", __file__) __all__ = [ "MAX_BALANCE", @@ -24,6 +29,8 @@ __all__ = [ "set_currency_name", "get_default_balance", "set_default_balance", + "cost", + "AbortPurchase", ] MAX_BALANCE = 2 ** 63 - 1 @@ -669,3 +676,69 @@ async def set_default_balance(amount: int, guild: discord.Guild = None) -> int: raise RuntimeError("Guild is missing and required.") return amount + + +class AbortPurchase(Exception): + pass + + +def cost(amount: int): + """ + Decorates a coroutine-function or command to have a cost. + + If the command raises an exception, the cost will be refunded. + + You can intentionally refund by raising `AbortPurchase` + (this error will be consumed and not show to users) + + Other exceptions will propogate and will be handled by Red's (and/or + any other configured) error handling. + """ + if not isinstance(amount, int) or amount < 0: + raise ValueError("This decorator requires an integer cost greater than or equal to zero") + + def deco(coro_or_command): + is_command = isinstance(coro_or_command, commands.Command) + if not is_command and not asyncio.iscoroutinefunction(coro_or_command): + raise TypeError("@bank.cost() can only be used on commands or `async def` functions") + + coro = coro_or_command.callback if is_command else coro_or_command + + @wraps(coro) + async def wrapped(*args, **kwargs): + context: commands.Context = None + for arg in args: + if isinstance(arg, commands.Context): + context = arg + break + + if not context.guild and not await is_global(): + raise commands.UserFeedbackCheckFailure( + _("Can't pay for this command in DM without a global bank.") + ) + try: + await withdraw_credits(context.author, amount) + except Exception: + credits_name = await get_currency_name(context.guild) + raise commands.UserFeedbackCheckFailure( + _("You need at least {cost} {currency} to use this command.").format( + cost=amount, currency=credits_name + ) + ) + else: + try: + return await coro(*args, **kwargs) + except AbortPurchase: + await deposit_credits(context.author, amount) + except Exception: + await deposit_credits(context.author, amount) + raise + + if not is_command: + return wrapped + else: + wrapped.__module__ = coro_or_command.callback.__module__ + coro_or_command.callback = wrapped + return coro_or_command + + return deco diff --git a/redbot/core/commands/errors.py b/redbot/core/commands/errors.py index 5eb0b70bb..5c264c83e 100644 --- a/redbot/core/commands/errors.py +++ b/redbot/core/commands/errors.py @@ -3,7 +3,7 @@ import inspect import discord from discord.ext import commands -__all__ = ["ConversionFailure", "BotMissingPermissions"] +__all__ = ["ConversionFailure", "BotMissingPermissions", "UserFeedbackCheckFailure"] class ConversionFailure(commands.BadArgument): @@ -22,3 +22,11 @@ class BotMissingPermissions(commands.CheckFailure): def __init__(self, missing: discord.Permissions, *args): self.missing: discord.Permissions = missing super().__init__(*args) + + +class UserFeedbackCheckFailure(commands.CheckFailure): + """A version of CheckFailure which isn't suppressed.""" + + def __init__(self, message=None, *args): + self.message = message + super().__init__(message, *args) diff --git a/redbot/core/events.py b/redbot/core/events.py index 33f025789..62f53af56 100644 --- a/redbot/core/events.py +++ b/redbot/core/events.py @@ -224,6 +224,9 @@ def init_events(bot, cli_flags): perms=format_perms_list(error.missing), plural=plural ) ) + elif isinstance(error, commands.UserFeedbackCheckFailure): + if error.message: + await ctx.send(error.message) elif isinstance(error, commands.CheckFailure): pass elif isinstance(error, commands.NoPrivateMessage): From a89a156f8eafe7f1c6753a5fb079b37306188929 Mon Sep 17 00:00:00 2001 From: Draper Date: Wed, 3 Jul 2019 20:26:22 +0100 Subject: [PATCH 072/183] [Context] Adds react_quietly method to context (#2834) * [Context] Adds react_quietly method to context This allows developers to emojis to command messages This is a modified version of tick() It accepts True/False for Tick/Cross emoji and in addition to that any other emoji the bot can see * Removed True/False support from react quietly * Stopped catching InvalidArgument on react_quietly so that is propagated to devs --- redbot/core/commands/context.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/redbot/core/commands/context.py b/redbot/core/commands/context.py index 32a3a2439..63bfe8707 100644 --- a/redbot/core/commands/context.py +++ b/redbot/core/commands/context.py @@ -1,6 +1,6 @@ import asyncio import contextlib -from typing import Iterable, List +from typing import Iterable, List, Union import discord from discord.ext import commands @@ -86,6 +86,22 @@ class Context(commands.Context): else: return True + async def react_quietly( + self, reaction: Union[discord.Emoji, discord.Reaction, discord.PartialEmoji, str] + ) -> bool: + """Adds a reaction to to the command message. + Returns + ------- + bool + :code:`True` if adding the reaction succeeded. + """ + try: + await self.message.add_reaction(reaction) + except discord.HTTPException: + return False + else: + return True + async def send_interactive( self, messages: Iterable[str], box_lang: str = None, timeout: int = 15 ) -> List[discord.Message]: From 03e59ea9d3f9740dedf886b674910ef36a7eddab Mon Sep 17 00:00:00 2001 From: Cog-Creators Bot <51291613+Cog-CreatorsBot@users.noreply.github.com> Date: Fri, 5 Jul 2019 20:21:25 +0200 Subject: [PATCH 073/183] Update Crowdin configuration file --- crowdin.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crowdin.yml b/crowdin.yml index 457cf1ea4..b6a113ca4 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -2,7 +2,7 @@ api_key_env: CROWDIN_API_KEY project_identifier_env: CROWDIN_PROJECT_ID base_path: ./redbot/ files: - - source: cogs/**/messages.pot + - source: cogs/**/locales/messages.pot translation: /%original_path%/%locale%.po - - source: core/**/messages.pot + - source: core/**/locales/messages.pot translation: /%original_path%/%locale%.po From f2039300c266788a8693c44b296bfc04572d052b Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Sat, 6 Jul 2019 08:02:18 +1000 Subject: [PATCH 074/183] [Mongo] Use escaped identifiers to extract inner value (#2832) This was causing a KeyError to be raised whenever a key containing $ or . was part of the identifiers path, even if the value was actually in the dict. Signed-off-by: Toby Harradine --- redbot/core/drivers/red_mongo.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/redbot/core/drivers/red_mongo.py b/redbot/core/drivers/red_mongo.py index aabd36adf..d500f32db 100644 --- a/redbot/core/drivers/red_mongo.py +++ b/redbot/core/drivers/red_mongo.py @@ -119,9 +119,9 @@ class Mongo(BaseDriver): mongo_collection = self.get_collection(identifier_data.category) pkey_filter = self.generate_primary_key_filter(identifier_data) + escaped_identifiers = list(map(self._escape_key, identifier_data.identifiers)) if len(identifier_data.identifiers) > 0: - dot_identifiers = ".".join(map(self._escape_key, identifier_data.identifiers)) - proj = {"_id": False, dot_identifiers: True} + proj = {"_id": False, ".".join(escaped_identifiers): True} partial = await mongo_collection.find_one(filter=pkey_filter, projection=proj) else: @@ -132,7 +132,7 @@ class Mongo(BaseDriver): if partial is None: raise KeyError("No matching document was found and Config expects a KeyError.") - for i in identifier_data.identifiers: + for i in escaped_identifiers: partial = partial[i] if isinstance(partial, dict): return self._unescape_dict_keys(partial) From 2bdc3ac10c370f5478131c81f47b8564274fd46d Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Sun, 7 Jul 2019 18:51:36 +1000 Subject: [PATCH 075/183] [General] Fix KeyError in [p]urban Resolves #2841. Signed-off-by: Toby Harradine --- redbot/cogs/general/general.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redbot/cogs/general/general.py b/redbot/cogs/general/general.py index 4c85da434..5d6d0e519 100644 --- a/redbot/cogs/general/general.py +++ b/redbot/cogs/general/general.py @@ -274,7 +274,7 @@ class General(commands.Cog): return if data.get("error") != 404: - if not data["list"]: + if not data.get("list"): return await ctx.send(_("No Urban Dictionary entries were found.")) if await ctx.embed_requested(): # a list of embeds From 55ff9bedb753f35bb91cf02714614915eb86e5e1 Mon Sep 17 00:00:00 2001 From: aikaterna <20862007+aikaterna@users.noreply.github.com> Date: Sun, 7 Jul 2019 20:17:50 -0700 Subject: [PATCH 076/183] [Audio] Check for player when not connected (#2842) --- redbot/cogs/audio/audio.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/redbot/cogs/audio/audio.py b/redbot/cogs/audio/audio.py index df63891a0..9eff8d947 100644 --- a/redbot/cogs/audio/audio.py +++ b/redbot/cogs/audio/audio.py @@ -2848,7 +2848,8 @@ class Audio(commands.Cog): await self._embed_msg( ctx, _("Repeat tracks: {true_or_false}.").format(true_or_false=not repeat) ) - await self._data_check(ctx) + if self._player_check(ctx): + await self._data_check(ctx) @commands.command() @commands.guild_only() @@ -3278,7 +3279,8 @@ class Audio(commands.Cog): await self._embed_msg( ctx, _("Shuffle tracks: {true_or_false}.").format(true_or_false=not shuffle) ) - await self._data_check(ctx) + if self._player_check(ctx): + await self._data_check(ctx) @commands.command() @commands.guild_only() From 776c75ba86f153ebadfc2050e98d583567a2d4f9 Mon Sep 17 00:00:00 2001 From: DevilXD Date: Tue, 9 Jul 2019 09:22:52 +0200 Subject: [PATCH 077/183] Fixed [p] not being replaced in code blocks (#2846) --- redbot/core/commands/help.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/redbot/core/commands/help.py b/redbot/core/commands/help.py index befd8d97e..9b5c405c3 100644 --- a/redbot/core/commands/help.py +++ b/redbot/core/commands/help.py @@ -218,7 +218,16 @@ class RedHelpFormatter: ) to_page = "\n\n".join( - filter(None, (description, signature[1:-1], command.help, subtext_header, subtext)) + filter( + None, + ( + description, + signature[1:-1], + command.help.replace("[p]", ctx.clean_prefix), + subtext_header, + subtext, + ), + ) ) pages = [box(p) for p in pagify(to_page)] await self.send_pages(ctx, pages, embed=False) From 687b88ca6f0deadaef9af86b0de0e89421ace1c5 Mon Sep 17 00:00:00 2001 From: Flame442 <34169552+Flame442@users.noreply.github.com> Date: Fri, 12 Jul 2019 18:29:27 -0400 Subject: [PATCH 078/183] Added some periods to some strings (#2852) --- redbot/cogs/modlog/modlog.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/redbot/cogs/modlog/modlog.py b/redbot/cogs/modlog/modlog.py index 2b1b3e36f..d365353a5 100644 --- a/redbot/cogs/modlog/modlog.py +++ b/redbot/cogs/modlog/modlog.py @@ -38,7 +38,7 @@ class ModLog(commands.Cog): if channel.permissions_for(guild.me).send_messages: await modlog.set_modlog_channel(guild, channel) await ctx.send( - _("Mod events will be sent to {channel}").format(channel=channel.mention) + _("Mod events will be sent to {channel}.").format(channel=channel.mention) ) else: await ctx.send( @@ -74,7 +74,7 @@ class ModLog(commands.Cog): casetype = await modlog.get_casetype(action, guild) if not casetype: - await ctx.send(_("That action is not registered")) + await ctx.send(_("That action is not registered.")) else: enabled = await casetype.is_enabled() await casetype.set_enabled(not enabled) @@ -99,7 +99,7 @@ class ModLog(commands.Cog): try: case = await modlog.get_case(number, ctx.guild, self.bot) except RuntimeError: - await ctx.send(_("That case does not exist for that server")) + await ctx.send(_("That case does not exist for that server.")) return else: if await ctx.embed_requested(): From e34eca557bfeb4268fe64976d575a7a73925d4d6 Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Sat, 13 Jul 2019 10:17:00 +1000 Subject: [PATCH 079/183] [ModLog] Prevent duplicate kwarg error (#2848) * [ModLog] Prevent duplicate kwarg error The `name` key used to be set in the Config for casetypes. Signed-off-by: Toby Harradine * Don't mutate `data` argument Signed-off-by: Toby Harradine --- redbot/core/modlog.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/redbot/core/modlog.py b/redbot/core/modlog.py index a834c3d8d..70f44ff6c 100644 --- a/redbot/core/modlog.py +++ b/redbot/core/modlog.py @@ -463,7 +463,9 @@ class CaseType: CaseType """ - return cls(name=name, **data, **kwargs) + data_copy = data.copy() + data_copy.pop(name, None) + return cls(name=name, **data_copy, **kwargs) async def get_next_case_number(guild: discord.Guild) -> int: From ac2813012acf3e9a7f87606e6ec820782168458c Mon Sep 17 00:00:00 2001 From: Michael H Date: Fri, 12 Jul 2019 22:11:06 -0400 Subject: [PATCH 080/183] [Core] Cog load fixes (#2854) * split out some fixes from red#2853 * address feedback * feedback --- redbot/core/bot.py | 60 ++++++++++++++++++++++++++++++---------------- 1 file changed, 39 insertions(+), 21 deletions(-) diff --git a/redbot/core/bot.py b/redbot/core/bot.py index 26a928c30..a6d48a0c9 100644 --- a/redbot/core/bot.py +++ b/redbot/core/bot.py @@ -407,32 +407,50 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d f"not inherit from the commands.Cog base class. The cog author must update " f"the cog to adhere to this requirement." ) + if cog.__cog_name__ in self.cogs: + raise RuntimeError(f"There is already a cog named {cog.__cog_name__} loaded.") if not hasattr(cog, "requires"): commands.Cog.__init__(cog) - for cls in inspect.getmro(cog.__class__): - try: - hook = getattr(cog, f"_{cls.__name__}__permissions_hook") - except AttributeError: - pass - else: - self.add_permissions_hook(hook) + added_hooks = [] - for command in cog.__cog_commands__: + try: + for cls in inspect.getmro(cog.__class__): + try: + hook = getattr(cog, f"_{cls.__name__}__permissions_hook") + except AttributeError: + pass + else: + self.add_permissions_hook(hook) + added_hooks.append(hook) - if not isinstance(command, commands.Command): - raise RuntimeError( - f"The {cog.__class__.__name__} cog in the {cog.__module__} package," - " is not using Red's command module, and cannot be added. " - "If this is your cog, please use `from redbot.core import commands`" - "in place of `from discord.ext import commands`. For more details on " - "this requirement, see this page: " - "http://red-discordbot.readthedocs.io/en/v3-develop/framework_commands.html" - ) - super().add_cog(cog) - self.dispatch("cog_add", cog) - for command in cog.__cog_commands__: - self.dispatch("command_add", command) + for command in cog.__cog_commands__: + + if not isinstance(command, commands.Command): + raise RuntimeError( + f"The {cog.__class__.__name__} cog in the {cog.__module__} package," + " is not using Red's command module, and cannot be added. " + "If this is your cog, please use `from redbot.core import commands`" + "in place of `from discord.ext import commands`. For more details on " + "this requirement, see this page: " + "http://red-discordbot.readthedocs.io/en/v3-develop/framework_commands.html" + ) + super().add_cog(cog) + self.dispatch("cog_add", cog) + for command in cog.__cog_commands__: + self.dispatch("command_add", command) + except Exception: + for hook in added_hooks: + try: + self.remove_permissions_hook(hook) + except Exception: + # This shouldn't be possible + log.exception( + "A hook got extremely screwed up, " + "and could not be removed properly during another error in cog load." + ) + del cog + raise def clear_permission_rules(self, guild_id: Optional[int]) -> None: """Clear all permission overrides in a scope. From 03e0683dd779c928409581e29837b1e779eff943 Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Sat, 13 Jul 2019 14:39:50 +1000 Subject: [PATCH 081/183] [ModLog] Actually prevent duplicate kwarg error Signed-off-by: Toby Harradine --- redbot/core/modlog.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redbot/core/modlog.py b/redbot/core/modlog.py index 70f44ff6c..0f2d2a843 100644 --- a/redbot/core/modlog.py +++ b/redbot/core/modlog.py @@ -464,7 +464,7 @@ class CaseType: """ data_copy = data.copy() - data_copy.pop(name, None) + data_copy.pop("name", None) return cls(name=name, **data_copy, **kwargs) From 21a6384ebff228848fb361c40b248876fe2a4eb5 Mon Sep 17 00:00:00 2001 From: Michael H Date: Sat, 13 Jul 2019 20:47:16 -0400 Subject: [PATCH 082/183] [Modlog] Fix get_case for missing cases (#2858) Due to the modlog redesign, the detection for a missing case changed. This fixes `get_case` for this. This resolves #2844. --- redbot/core/modlog.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/redbot/core/modlog.py b/redbot/core/modlog.py index 0f2d2a843..065d87848 100644 --- a/redbot/core/modlog.py +++ b/redbot/core/modlog.py @@ -514,10 +514,10 @@ async def get_case(case_number: int, guild: discord.Guild, bot: Red) -> Case: If there is no case for the specified number """ - try: - case = await _conf.custom(_CASES, str(guild.id), str(case_number)).all() - except KeyError as e: - raise RuntimeError("That case does not exist for guild {}".format(guild.name)) from e + + case = await _conf.custom(_CASES, str(guild.id), str(case_number)).all() + if not case["case_number"]: + raise RuntimeError("That case does not exist for guild {}".format(guild.name)) mod_channel = await get_modlog_channel(guild) return await Case.from_json(mod_channel, bot, case_number, case) From f83f378528d10a729d5ca1673295e819f64e929f Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Sun, 14 Jul 2019 10:47:40 +1000 Subject: [PATCH 083/183] [Core] Make Requires.verify() wait until rules are loaded (#2857) * Make Requires.verify() wait until rules are loaded Also ensures `Requires` objects are reset when unloaded, particularly in case a `Command` object manages to stay in memory between cog unload and load, and its permissions rules change between those events. Also, this PR re-ordered some of the event loop policy stuff, because it was required that the event loop policy be set before creating any `Requires` objects. This may or may not have an effect on other `get_event_loop()` calls elsewhere (either in our code, a dependency's, or asyncio's). Either way, these effects would be a *correction*, and any bugs that arise from it are likely to have been occurring silently beforehand. Signed-off-by: Toby Harradine * Remove calls to `remove_listener()` in permissions Signed-off-by: Toby Harradine * Fix adding rules for permissions cog/commands itself Also addresses feedback Signed-off-by: Toby Harradine * Clean up indentation when setting uvloop policy Signed-off-by: Toby Harradine * Use `set(walk_commands())` to traverse `Group` subcommands Signed-off-by: Toby Harradine --- redbot/__main__.py | 27 +++++++++-------- redbot/cogs/permissions/__init__.py | 11 ++++--- redbot/cogs/permissions/permissions.py | 36 ++++++++++++++--------- redbot/core/bot.py | 40 +++++++++++++++++--------- redbot/core/commands/requires.py | 19 ++++++++++++ 5 files changed, 88 insertions(+), 45 deletions(-) diff --git a/redbot/__main__.py b/redbot/__main__.py index 602a77489..6f7a6935d 100644 --- a/redbot/__main__.py +++ b/redbot/__main__.py @@ -10,6 +10,21 @@ import sys import discord +# Set the event loop policies here so any subsequent `get_event_loop()` +# calls, in particular those as a result of the following imports, +# return the correct loop object. +if sys.platform == "win32": + asyncio.set_event_loop_policy(asyncio.WindowsProactorEventLoopPolicy()) +elif sys.implementation.name == "cpython": + # Let's not force this dependency, uvloop is much faster on cpython + try: + import uvloop + except ImportError: + uvloop = None + pass + else: + asyncio.set_event_loop_policy(uvloop.EventLoopPolicy()) + import redbot.logging from redbot.core.bot import Red, ExitCodes from redbot.core.cog_manager import CogManagerUI @@ -21,18 +36,6 @@ from redbot.core.dev_commands import Dev from redbot.core import __version__, modlog, bank, data_manager from signal import SIGTERM -# Let's not force this dependency, uvloop is much faster on cpython -if sys.implementation.name == "cpython": - try: - import uvloop - except ImportError: - uvloop = None - pass - else: - asyncio.set_event_loop_policy(uvloop.EventLoopPolicy()) - -if sys.platform == "win32": - asyncio.set_event_loop(asyncio.ProactorEventLoop()) log = logging.getLogger("red.main") diff --git a/redbot/cogs/permissions/__init__.py b/redbot/cogs/permissions/__init__.py index 2159535c4..fa080cb1f 100644 --- a/redbot/cogs/permissions/__init__.py +++ b/redbot/cogs/permissions/__init__.py @@ -4,10 +4,9 @@ from .permissions import Permissions async def setup(bot): cog = Permissions(bot) await cog.initialize() - # It's important that these listeners are added prior to load, so - # the permissions commands themselves have rules added. - # Automatic listeners being added in add_cog happen in arbitrary - # order, so we want to circumvent that. - bot.add_listener(cog.red_cog_added, "on_cog_add") - bot.add_listener(cog.red_command_added, "on_command_add") + # We should add the rules for the Permissions cog and its own commands *before* adding the cog. + # The actual listeners ought to skip the ones we're passing here. + await cog._on_cog_add(cog) + for command in cog.__cog_commands__: + await cog._on_command_add(command) bot.add_cog(cog) diff --git a/redbot/cogs/permissions/permissions.py b/redbot/cogs/permissions/permissions.py index 6e14cb650..bb27669b1 100644 --- a/redbot/cogs/permissions/permissions.py +++ b/redbot/cogs/permissions/permissions.py @@ -436,31 +436,41 @@ class Permissions(commands.Cog): await self._clear_rules(guild_id=ctx.guild.id) await ctx.tick() - async def red_cog_added(self, cog: commands.Cog) -> None: + @commands.Cog.listener() + async def on_cog_add(self, cog: commands.Cog) -> None: """Event listener for `cog_add`. This loads rules whenever a new cog is added. - - Do not convert to using Cog.listener decorator !! - This *must* be added manually prior to cog load, and removed at unload """ + if cog is self: + # This cog has its rules loaded manually in setup() + return + await self._on_cog_add(cog) + + @commands.Cog.listener() + async def on_command_add(self, command: commands.Command) -> None: + """Event listener for `command_add`. + + This loads rules whenever a new command is added. + """ + if command.cog is self: + # This cog's commands have their rules loaded manually in setup() + return + await self._on_command_add(command) + + async def _on_cog_add(self, cog: commands.Cog) -> None: self._load_rules_for( cog_or_command=cog, rule_dict=await self.config.custom(COG, cog.__class__.__name__).all(), ) + cog.requires.ready_event.set() - async def red_command_added(self, command: commands.Command) -> None: - """Event listener for `command_add`. - - This loads rules whenever a new command is added. - - Do not convert to using Cog.listener decorator !! - This *must* be added manually prior to cog load, and removed at unload - """ + async def _on_command_add(self, command: commands.Command) -> None: self._load_rules_for( cog_or_command=command, rule_dict=await self.config.custom(COMMAND, command.qualified_name).all(), ) + command.requires.ready_event.set() async def _add_rule( self, rule: bool, cog_or_cmd: CogOrCommand, model_id: int, guild_id: int @@ -708,8 +718,6 @@ class Permissions(commands.Cog): cog_or_command.deny_to(model_id, guild_id=guild_id) def cog_unload(self) -> None: - self.bot.remove_listener(self.red_cog_added, "on_cog_add") - self.bot.remove_listener(self.red_command_added, "on_command_add") self.bot.loop.create_task(self._unload_all_rules()) async def _unload_all_rules(self) -> None: diff --git a/redbot/core/bot.py b/redbot/core/bot.py index a6d48a0c9..b54e11f77 100644 --- a/redbot/core/bot.py +++ b/redbot/core/bot.py @@ -322,6 +322,8 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d super().remove_cog(cogname) + cog.requires.reset() + for meth in self.rpc_handlers.pop(cogname.upper(), ()): self.unregister_rpc_handler(meth) @@ -424,21 +426,10 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d self.add_permissions_hook(hook) added_hooks.append(hook) - for command in cog.__cog_commands__: - - if not isinstance(command, commands.Command): - raise RuntimeError( - f"The {cog.__class__.__name__} cog in the {cog.__module__} package," - " is not using Red's command module, and cannot be added. " - "If this is your cog, please use `from redbot.core import commands`" - "in place of `from discord.ext import commands`. For more details on " - "this requirement, see this page: " - "http://red-discordbot.readthedocs.io/en/v3-develop/framework_commands.html" - ) super().add_cog(cog) self.dispatch("cog_add", cog) - for command in cog.__cog_commands__: - self.dispatch("command_add", command) + if "permissions" not in self.extensions: + cog.requires.ready_event.set() except Exception: for hook in added_hooks: try: @@ -452,6 +443,29 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d del cog raise + def add_command(self, command: commands.Command) -> None: + if not isinstance(command, commands.Command): + raise RuntimeError("Commands must be instances of `redbot.core.commands.Command`") + + super().add_command(command) + + permissions_not_loaded = "permissions" not in self.extensions + self.dispatch("command_add", command) + if permissions_not_loaded: + command.requires.ready_event.set() + if isinstance(command, commands.Group): + for subcommand in set(command.walk_commands()): + self.dispatch("command_add", subcommand) + if permissions_not_loaded: + command.requires.ready_event.set() + + def remove_command(self, name: str) -> None: + command = super().remove_command(name) + command.requires.reset() + if isinstance(command, commands.Group): + for subcommand in set(command.walk_commands()): + subcommand.requires.reset() + def clear_permission_rules(self, guild_id: Optional[int]) -> None: """Clear all permission overrides in a scope. diff --git a/redbot/core/commands/requires.py b/redbot/core/commands/requires.py index db06bc1d5..75a0e351c 100644 --- a/redbot/core/commands/requires.py +++ b/redbot/core/commands/requires.py @@ -272,6 +272,12 @@ class Requires: `user_perms` will be used exclusively, otherwise, for levels other than bot owner, the user can still run the command if they have the required `user_perms`. + ready_event : asyncio.Event + Event for when this Requires object has had its rules loaded. + If permissions is loaded, this should be set when permissions + has finished loading rules into this object. If permissions + is not loaded, it should be set as soon as the command or cog + is added. user_perms : Optional[discord.Permissions] The required permissions for users to execute the command. Can be ``None``, in which case the `privilege_level` will be used @@ -300,6 +306,7 @@ class Requires: ): self.checks: List[CheckPredicate] = checks self.privilege_level: Optional[PrivilegeLevel] = privilege_level + self.ready_event = asyncio.Event() if isinstance(user_perms, dict): self.user_perms: Optional[discord.Permissions] = discord.Permissions.none() @@ -413,6 +420,16 @@ class Requires: if default is not None: rules[self.DEFAULT] = default + def reset(self) -> None: + """Reset this Requires object to its original state. + + This will clear all rules, including defaults. It also resets + the `Requires.ready_event`. + """ + self._guild_rules.clear() # pylint: disable=no-member + self._global_rules.clear() # pylint: disable=no-member + self.ready_event.clear() + async def verify(self, ctx: "Context") -> bool: """Check if the given context passes the requirements. @@ -438,6 +455,8 @@ class Requires: Propogated from any permissions checks. """ + if not self.ready_event.is_set(): + await self.ready_event.wait() await self._verify_bot(ctx) # Owner should never be locked out of commands for user permissions. From be184b57dd52b4c303ee5a95881fdf4b896e2b61 Mon Sep 17 00:00:00 2001 From: aikaterna <20862007+aikaterna@users.noreply.github.com> Date: Sat, 13 Jul 2019 17:48:13 -0700 Subject: [PATCH 084/183] [Audio] Update equalizer permissions (#2813) * [Audio] Update equalizer permissions * Reformat header on eq list for i18n * Style --- redbot/cogs/audio/audio.py | 134 ++++++++++++++++++++++++++++--------- 1 file changed, 101 insertions(+), 33 deletions(-) diff --git a/redbot/cogs/audio/audio.py b/redbot/cogs/audio/audio.py index 9eff8d947..59a8ce059 100644 --- a/redbot/cogs/audio/audio.py +++ b/redbot/cogs/audio/audio.py @@ -840,44 +840,63 @@ class Audio(commands.Cog): @commands.guild_only() @commands.cooldown(1, 15, discord.ext.commands.BucketType.guild) @commands.bot_has_permissions(embed_links=True, add_reactions=True) - @checks.mod_or_permissions(administrator=True) async def eq(self, ctx): """Equalizer management.""" if not self._player_check(ctx): return await self._embed_msg(ctx, _("Nothing playing.")) + dj_enabled = await self.config.guild(ctx.guild).dj_enabled() player = lavalink.get_player(ctx.guild.id) eq = player.fetch("eq", Equalizer()) reactions = ["◀", "⬅", "⏫", "🔼", "🔽", "⏬", "➡", "▶", "⏺", "ℹ"] await self._eq_msg_clear(player.fetch("eq_message")) eq_message = await ctx.send(box(eq.visualise(), lang="ini")) - player.store("eq_message", eq_message) - for reaction in reactions: + if dj_enabled and not await self._can_instaskip(ctx, ctx.author): try: - await eq_message.add_reaction(reaction) + await eq_message.add_reaction("ℹ") except discord.errors.NotFound: pass + else: + for reaction in reactions: + try: + await eq_message.add_reaction(reaction) + except discord.errors.NotFound: + pass - await self._eq_interact(ctx, player, eq, eq_message, 0) + eq_msg_with_reacts = await ctx.fetch_message(eq_message.id) + player.store("eq_message", eq_msg_with_reacts) + await self._eq_interact(ctx, player, eq, eq_msg_with_reacts, 0) @eq.command(name="delete") async def _eq_delete(self, ctx, eq_preset: str): """Delete a saved eq preset.""" - eq_presets = await self.config.custom("EQUALIZER", ctx.guild.id).eq_presets() - eq_preset = eq_preset.lower() - try: - del eq_presets[eq_preset] - except KeyError: - return await self._embed_msg( - ctx, - _( - "{eq_preset} is not in the eq preset list.".format( - eq_preset=eq_preset.capitalize() + async with self.config.custom("EQUALIZER", ctx.guild.id).eq_presets() as eq_presets: + eq_preset = eq_preset.lower() + try: + if eq_presets[eq_preset][ + "author" + ] != ctx.author.id and not await self._can_instaskip(ctx, ctx.author): + return await self._embed_msg( + ctx, _("You are not the author of that preset setting.") + ) + del eq_presets[eq_preset] + except KeyError: + return await self._embed_msg( + ctx, + _( + "{eq_preset} is not in the eq preset list.".format( + eq_preset=eq_preset.capitalize() + ) + ), + ) + except TypeError: + if await self._can_instaskip(ctx, ctx.author): + del eq_presets[eq_preset] + else: + return await self._embed_msg( + ctx, _("You are not the author of that preset setting.") ) - ), - ) - await self.config.custom("EQUALIZER", ctx.guild.id).eq_presets.set(eq_presets) await self._embed_msg( ctx, _("The {preset_name} preset was deleted.".format(preset_name=eq_preset)) ) @@ -888,14 +907,36 @@ class Audio(commands.Cog): eq_presets = await self.config.custom("EQUALIZER", ctx.guild.id).eq_presets() if not eq_presets.keys(): return await self._embed_msg(ctx, _("No saved equalizer presets.")) - eq_list = "\n".join(list(sorted(eq_presets.keys()))) + + space = "\N{EN SPACE}" + header_name = _("Preset Name") + header_author = _("Author") + header = box( + "[{header_name}]{space}[{header_author}]\n".format( + header_name=header_name, space=space * 9, header_author=header_author + ), + lang="ini", + ) + preset_list = "" + for preset, bands in eq_presets.items(): + try: + bands["author"] + author = self.bot.get_user(bands["author"]) + except TypeError: + author = "None" + msg = f"{preset}{space*(22 - len(preset))}{author}\n" + preset_list += msg + page_list = [] - for page in pagify(eq_list, delims=[", "], page_length=1000): + for page in pagify(preset_list, delims=[", "], page_length=1000): + formatted_page = box(page, lang="ini") embed = discord.Embed( - colour=await ctx.embed_colour(), title="Equalizer presets:", description=page + colour=await ctx.embed_colour(), description=(f"{header}\n{formatted_page}") ) embed.set_footer(text=_("{num} preset(s)").format(num=len(list(eq_presets.keys())))) page_list.append(embed) + if len(page_list) == 1: + return await ctx.send(embed=page_list[0]) await menu(ctx, page_list, DEFAULT_CONTROLS) @eq.command(name="load") @@ -904,15 +945,26 @@ class Audio(commands.Cog): eq_preset = eq_preset.lower() eq_presets = await self.config.custom("EQUALIZER", ctx.guild.id).eq_presets() try: - eq_values = eq_presets[eq_preset] + eq_values = eq_presets[eq_preset]["bands"] except KeyError: return await self._embed_msg( ctx, _("No preset named {eq_preset}.".format(eq_preset=eq_preset)) ) - await self.config.custom("EQUALIZER", ctx.guild.id).eq_bands.set(eq_values) + except TypeError: + eq_values = eq_presets[eq_preset] + if not self._player_check(ctx): return await self._embed_msg(ctx, _("Nothing playing.")) + + dj_enabled = await self.config.guild(ctx.guild).dj_enabled() player = lavalink.get_player(ctx.guild.id) + if dj_enabled: + if not await self._can_instaskip(ctx, ctx.author): + return await self._embed_msg( + ctx, _("You need the DJ role to load equalizer presets.") + ) + + await self.config.custom("EQUALIZER", ctx.guild.id).eq_bands.set(eq_values) await self._eq_check(ctx, player) eq = player.fetch("eq", Equalizer()) await self._eq_msg_clear(player.fetch("eq_message")) @@ -930,6 +982,12 @@ class Audio(commands.Cog): """Reset the eq to 0 across all bands.""" if not self._player_check(ctx): return await self._embed_msg(ctx, _("Nothing playing.")) + dj_enabled = await self.config.guild(ctx.guild).dj_enabled() + if dj_enabled: + if not await self._can_instaskip(ctx, ctx.author): + return await self._embed_msg( + ctx, _("You need the DJ role to reset the equalizer.") + ) player = lavalink.get_player(ctx.guild.id) eq = player.fetch("eq", Equalizer()) @@ -954,18 +1012,20 @@ class Audio(commands.Cog): """Save the current eq settings to a preset.""" if not self._player_check(ctx): return await self._embed_msg(ctx, _("Nothing playing.")) + dj_enabled = await self.config.guild(ctx.guild).dj_enabled() + if dj_enabled: + if not await self._can_instaskip(ctx, ctx.author): + return await self._embed_msg( + ctx, _("You need the DJ role to save equalizer presets.") + ) if not eq_preset: await self._embed_msg(ctx, _("Please enter a name for this equalizer preset.")) try: - - def pred(m): - return ( - m.channel == ctx.channel - and m.author == ctx.author - and not m.content.startswith(ctx.prefix) - ) - - eq_name_msg = await ctx.bot.wait_for("message", timeout=15.0, check=pred) + eq_name_msg = await ctx.bot.wait_for( + "message", + timeout=15.0, + check=MessagePredicate.regex(fr"^(?!{re.escape(ctx.prefix)})", ctx), + ) eq_preset = eq_name_msg.content.split(" ")[0].strip('"').lower() except asyncio.TimeoutError: return await self._embed_msg( @@ -997,7 +1057,7 @@ class Audio(commands.Cog): player = lavalink.get_player(ctx.guild.id) eq = player.fetch("eq", Equalizer()) - to_append = {eq_preset: eq.bands} + to_append = {eq_preset: {"author": ctx.author.id, "bands": eq.bands}} new_eq_presets = {**eq_presets, **to_append} await self.config.custom("EQUALIZER", ctx.guild.id).eq_presets.set(new_eq_presets) embed3 = discord.Embed( @@ -1024,6 +1084,14 @@ class Audio(commands.Cog): """ if not self._player_check(ctx): return await self._embed_msg(ctx, _("Nothing playing.")) + + dj_enabled = await self.config.guild(ctx.guild).dj_enabled() + if dj_enabled: + if not await self._can_instaskip(ctx, ctx.author): + return await self._embed_msg( + ctx, _("You need the DJ role to set equalizer presets.") + ) + player = lavalink.get_player(ctx.guild.id) band_names = [ "25", From 3e80edcdfdc334156e3051827040669296e55883 Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Sun, 14 Jul 2019 03:30:11 +0200 Subject: [PATCH 085/183] [Docs] Add awaits and missing imports in usage examples (#2860) Well, the modlog examples had to be changed a lot, because `await` obviously won't work in regular method. --- docs/framework_bank.rst | 11 +++--- docs/framework_modlog.rst | 71 ++++++++++++++++++++++++--------------- 2 files changed, 49 insertions(+), 33 deletions(-) diff --git a/docs/framework_bank.rst b/docs/framework_bank.rst index b6cfb4ec4..9f5e676f8 100644 --- a/docs/framework_bank.rst +++ b/docs/framework_bank.rst @@ -16,15 +16,16 @@ Basic Usage .. code-block:: python - from redbot.core import bank + from redbot.core import bank, commands + import discord - class MyCog: + class MyCog(commands.Cog): @commands.command() - async def balance(self, ctx, user: discord.Member=None): + async def balance(self, ctx, user: discord.Member = None): if user is None: user = ctx.author - bal = bank.get_balance(user) - currency = bank.get_currency_name(ctx.guild) + bal = await bank.get_balance(user) + currency = await bank.get_currency_name(ctx.guild) await ctx.send( "{}'s balance is {} {}".format( user.display_name, bal, currency diff --git a/docs/framework_modlog.rst b/docs/framework_modlog.rst index 5baa45ffe..a9f66d817 100644 --- a/docs/framework_modlog.rst +++ b/docs/framework_modlog.rst @@ -16,17 +16,17 @@ Basic Usage .. code-block:: python - from redbot.core import modlog + from redbot.core import commands, modlog import discord - class MyCog: + class MyCog(commands.Cog): @commands.command() @checks.admin_or_permissions(ban_members=True) - async def ban(self, ctx, user: discord.Member, reason: str=None): + async def ban(self, ctx, user: discord.Member, reason: str = None): await ctx.guild.ban(user) - case = modlog.create_case( - ctx.guild, ctx.message.created_at, "ban", user, - ctx.author, reason, until=None, channel=None + case = await modlog.create_case( + ctx.bot, ctx.guild, ctx.message.created_at, action="ban", + user=user, moderator=ctx.author, reason=reason ) await ctx.send("Done. It was about time.") @@ -35,50 +35,65 @@ Basic Usage Registering Case types ********************** -To register a single case type: +To register case types, use an asynchronous ``initialize()`` method and call +it from your setup function: .. code-block:: python - from redbot.core import modlog + # mycog/mycog.py + from redbot.core import modlog, commands import discord - class MyCog: - def __init__(self, bot): + class MyCog(commands.Cog): + + async def initialize(self): + await self.register_casetypes() + + @staticmethod + async def register_casetypes(): + # Registering a single casetype ban_case = { "name": "ban", "default_setting": True, - "image": ":hammer:", + "image": "\N{HAMMER}", "case_str": "Ban", - "audit_type": "ban" + # audit_type should be omitted if the action doesn't show + # up in the audit log. + "audit_type": "ban", } - modlog.register_casetype(**ban_case) + try: + await modlog.register_casetype(**ban_case) + except RuntimeError: + pass -To register multiple case types: - -.. code-block:: python - - from redbot.core import modlog - import discord - - class MyCog: - def __init__(self, bot): + # Registering multiple casetypes new_types = [ { - "name": "ban", + "name": "hackban", "default_setting": True, - "image": ":hammer:", - "case_str": "Ban", - "audit_type": "ban" + "image": "\N{BUST IN SILHOUETTE}\N{HAMMER}", + "case_str": "Hackban", + "audit_type": "ban", }, { "name": "kick", "default_setting": True, - "image": ":boot:", + "image": "\N{WOMANS BOOTS}", "case_str": "Kick", "audit_type": "kick" } ] - modlog.register_casetypes(new_types) + await modlog.register_casetypes(new_types) + +.. code-block:: python + + # mycog/__init__.py + from .mycog import MyCog + + async def setup(bot): + cog = MyCog() + await cog.initialize() + bot.add_cog(cog) .. important:: Image should be the emoji you want to represent your case type with. From 1d2980f8fa45e3f089b9369d2ef19f7dd4c51d2c Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Sun, 14 Jul 2019 11:52:28 +1000 Subject: [PATCH 086/183] [Permissions] Send help on missing argument (#2865) * [Permissions] Send help on missing argument Resolves #2851. Signed-off-by: Toby Harradine * [Permissions] Use varargs instead of Greedy converter Signed-off-by: Toby Harradine --- redbot/cogs/permissions/permissions.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/redbot/cogs/permissions/permissions.py b/redbot/cogs/permissions/permissions.py index bb27669b1..2af4cfc88 100644 --- a/redbot/cogs/permissions/permissions.py +++ b/redbot/cogs/permissions/permissions.py @@ -283,7 +283,7 @@ class Permissions(commands.Cog): ctx: commands.Context, allow_or_deny: RuleType, cog_or_command: CogOrCommand, - who_or_what: commands.Greedy[GlobalUniqueObjectFinder], + *who_or_what: GlobalUniqueObjectFinder, ): """Add a global rule to a command. @@ -294,6 +294,9 @@ class Permissions(commands.Cog): `` is one or more users, channels or roles the rule is for. """ + if not who_or_what: + await ctx.send_help() + return for w in who_or_what: await self._add_rule( rule=cast(bool, allow_or_deny), @@ -311,7 +314,7 @@ class Permissions(commands.Cog): ctx: commands.Context, allow_or_deny: RuleType, cog_or_command: CogOrCommand, - who_or_what: commands.Greedy[GuildUniqueObjectFinder], + *who_or_what: GuildUniqueObjectFinder, ): """Add a rule to a command in this server. @@ -322,6 +325,9 @@ class Permissions(commands.Cog): `` is one or more users, channels or roles the rule is for. """ + if not who_or_what: + await ctx.send_help() + return for w in who_or_what: await self._add_rule( rule=cast(bool, allow_or_deny), @@ -337,7 +343,7 @@ class Permissions(commands.Cog): self, ctx: commands.Context, cog_or_command: CogOrCommand, - who_or_what: commands.Greedy[GlobalUniqueObjectFinder], + *who_or_what: GlobalUniqueObjectFinder, ): """Remove a global rule from a command. @@ -346,6 +352,9 @@ class Permissions(commands.Cog): `` is one or more users, channels or roles the rule is for. """ + if not who_or_what: + await ctx.send_help() + return for w in who_or_what: await self._remove_rule(cog_or_cmd=cog_or_command, model_id=w.id, guild_id=GLOBAL) await ctx.send(_("Rule removed.")) @@ -357,7 +366,7 @@ class Permissions(commands.Cog): self, ctx: commands.Context, cog_or_command: CogOrCommand, - who_or_what: commands.Greedy[GlobalUniqueObjectFinder], + *who_or_what: GlobalUniqueObjectFinder, ): """Remove a server rule from a command. @@ -366,6 +375,9 @@ class Permissions(commands.Cog): `` is one or more users, channels or roles the rule is for. """ + if not who_or_what: + await ctx.send_help() + return for w in who_or_what: await self._remove_rule( cog_or_cmd=cog_or_command, model_id=w.id, guild_id=ctx.guild.id From d5c412e3dfa23b2c45c0ebaf7c637e3dc38ed5ad Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Sun, 14 Jul 2019 13:05:07 +1000 Subject: [PATCH 087/183] [Permissions] Fix Requires.ready_event.set() on subcommands (#2868) Signed-off-by: Toby Harradine --- redbot/core/bot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redbot/core/bot.py b/redbot/core/bot.py index b54e11f77..ceeb05ff0 100644 --- a/redbot/core/bot.py +++ b/redbot/core/bot.py @@ -457,7 +457,7 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d for subcommand in set(command.walk_commands()): self.dispatch("command_add", subcommand) if permissions_not_loaded: - command.requires.ready_event.set() + subcommand.requires.ready_event.set() def remove_command(self, name: str) -> None: command = super().remove_command(name) From 8676dd3ce3581361cd1697c9c381174b98dadc42 Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Sun, 14 Jul 2019 13:52:18 +1000 Subject: [PATCH 088/183] [i18n] Update translation catalogs (#2867) * [i18n] Update translation catalogs Signed-off-by: Toby Harradine * Install redgettext 3.1 in travis crowdin deployment Last time the catalog templates were updated, redgettext 3.0 was used. I'd rather Travis didn't upload them after extracting with an older version. Signed-off-by: Toby Harradine --- .travis.yml | 2 +- redbot/cogs/admin/locales/ar-SA.po | 174 +- redbot/cogs/admin/locales/bg-BG.po | 143 +- redbot/cogs/admin/locales/cs-CZ.po | 186 +++ redbot/cogs/admin/locales/da-DK.po | 141 +- redbot/cogs/admin/locales/de-DE.po | 176 +- redbot/cogs/admin/locales/el-GR.po | 141 +- redbot/cogs/admin/locales/en-PT.po | 143 +- redbot/cogs/admin/locales/es-ES.po | 174 +- redbot/cogs/admin/locales/fi-FI.po | 159 +- redbot/cogs/admin/locales/fr-FR.po | 185 +- redbot/cogs/admin/locales/hu-HU.po | 143 +- redbot/cogs/admin/locales/id-ID.po | 141 +- redbot/cogs/admin/locales/it-IT.po | 187 +-- redbot/cogs/admin/locales/ja-JP.po | 143 +- redbot/cogs/admin/locales/ko-KR.po | 148 +- redbot/cogs/admin/locales/lol-US.po | 141 +- redbot/cogs/admin/locales/nl-NL.po | 171 +- redbot/cogs/admin/locales/no-NO.po | 143 +- redbot/cogs/admin/locales/pl-PL.po | 143 +- redbot/cogs/admin/locales/pt-BR.po | 147 +- redbot/cogs/admin/locales/pt-PT.po | 178 +- redbot/cogs/admin/locales/ro-RO.po | 186 +++ redbot/cogs/admin/locales/ru-RU.po | 196 +-- redbot/cogs/admin/locales/sk-SK.po | 141 +- redbot/cogs/admin/locales/sv-SE.po | 147 +- redbot/cogs/admin/locales/tr-TR.po | 143 +- redbot/cogs/admin/locales/zh-CN.po | 143 +- redbot/cogs/admin/locales/zh-TW.po | 186 +++ redbot/cogs/alias/locales/ar-SA.po | 84 +- redbot/cogs/alias/locales/bg-BG.po | 84 +- redbot/cogs/alias/locales/cs-CZ.po | 154 ++ redbot/cogs/alias/locales/da-DK.po | 84 +- redbot/cogs/alias/locales/de-DE.po | 92 +- redbot/cogs/alias/locales/el-GR.po | 84 +- redbot/cogs/alias/locales/en-PT.po | 84 +- redbot/cogs/alias/locales/es-ES.po | 84 +- redbot/cogs/alias/locales/fi-FI.po | 84 +- redbot/cogs/alias/locales/fr-FR.po | 92 +- redbot/cogs/alias/locales/hu-HU.po | 84 +- redbot/cogs/alias/locales/id-ID.po | 84 +- redbot/cogs/alias/locales/it-IT.po | 132 +- redbot/cogs/alias/locales/ja-JP.po | 84 +- redbot/cogs/alias/locales/ko-KR.po | 84 +- redbot/cogs/alias/locales/lol-US.po | 84 +- redbot/cogs/alias/locales/nl-NL.po | 92 +- redbot/cogs/alias/locales/no-NO.po | 88 +- redbot/cogs/alias/locales/pl-PL.po | 86 +- redbot/cogs/alias/locales/pt-BR.po | 84 +- redbot/cogs/alias/locales/pt-PT.po | 84 +- redbot/cogs/alias/locales/ro-RO.po | 154 ++ redbot/cogs/alias/locales/ru-RU.po | 108 +- redbot/cogs/alias/locales/sk-SK.po | 84 +- redbot/cogs/alias/locales/sv-SE.po | 84 +- redbot/cogs/alias/locales/tr-TR.po | 84 +- redbot/cogs/alias/locales/zh-CN.po | 84 +- redbot/cogs/alias/locales/zh-TW.po | 154 ++ redbot/cogs/audio/locales/ar-SA.po | 998 +++++++---- redbot/cogs/audio/locales/bg-BG.po | 998 +++++++---- redbot/cogs/audio/locales/cs-CZ.po | 1290 ++++++++++++++ redbot/cogs/audio/locales/da-DK.po | 998 +++++++---- redbot/cogs/audio/locales/de-DE.po | 1766 ++++++++++++-------- redbot/cogs/audio/locales/el-GR.po | 998 +++++++---- redbot/cogs/audio/locales/en-PT.po | 998 +++++++---- redbot/cogs/audio/locales/es-ES.po | 1110 +++++++----- redbot/cogs/audio/locales/fi-FI.po | 998 +++++++---- redbot/cogs/audio/locales/fr-FR.po | 1094 +++++++----- redbot/cogs/audio/locales/hu-HU.po | 998 +++++++---- redbot/cogs/audio/locales/id-ID.po | 998 +++++++---- redbot/cogs/audio/locales/it-IT.po | 998 +++++++---- redbot/cogs/audio/locales/ja-JP.po | 1023 ++++++++---- redbot/cogs/audio/locales/ko-KR.po | 998 +++++++---- redbot/cogs/audio/locales/lol-US.po | 998 +++++++---- redbot/cogs/audio/locales/nl-NL.po | 1123 ++++++++----- redbot/cogs/audio/locales/no-NO.po | 998 +++++++---- redbot/cogs/audio/locales/pl-PL.po | 998 +++++++---- redbot/cogs/audio/locales/pt-BR.po | 1024 ++++++++---- redbot/cogs/audio/locales/pt-PT.po | 998 +++++++---- redbot/cogs/audio/locales/ro-RO.po | 1290 ++++++++++++++ redbot/cogs/audio/locales/ru-RU.po | 1634 ++++++++++-------- redbot/cogs/audio/locales/sk-SK.po | 998 +++++++---- redbot/cogs/audio/locales/sv-SE.po | 998 +++++++---- redbot/cogs/audio/locales/tr-TR.po | 998 +++++++---- redbot/cogs/audio/locales/zh-CN.po | 998 +++++++---- redbot/cogs/audio/locales/zh-TW.po | 1290 ++++++++++++++ redbot/cogs/bank/locales/ar-SA.po | 42 +- redbot/cogs/bank/locales/bg-BG.po | 42 +- redbot/cogs/bank/locales/cs-CZ.po | 71 + redbot/cogs/bank/locales/da-DK.po | 42 +- redbot/cogs/bank/locales/de-DE.po | 52 +- redbot/cogs/bank/locales/el-GR.po | 42 +- redbot/cogs/bank/locales/en-PT.po | 42 +- redbot/cogs/bank/locales/es-ES.po | 42 +- redbot/cogs/bank/locales/fi-FI.po | 42 +- redbot/cogs/bank/locales/fr-FR.po | 52 +- redbot/cogs/bank/locales/hu-HU.po | 42 +- redbot/cogs/bank/locales/id-ID.po | 42 +- redbot/cogs/bank/locales/it-IT.po | 42 +- redbot/cogs/bank/locales/ja-JP.po | 42 +- redbot/cogs/bank/locales/ko-KR.po | 42 +- redbot/cogs/bank/locales/lol-US.po | 42 +- redbot/cogs/bank/locales/nl-NL.po | 52 +- redbot/cogs/bank/locales/no-NO.po | 42 +- redbot/cogs/bank/locales/pl-PL.po | 48 +- redbot/cogs/bank/locales/pt-BR.po | 42 +- redbot/cogs/bank/locales/pt-PT.po | 42 +- redbot/cogs/bank/locales/ro-RO.po | 71 + redbot/cogs/bank/locales/ru-RU.po | 56 +- redbot/cogs/bank/locales/sk-SK.po | 42 +- redbot/cogs/bank/locales/sv-SE.po | 42 +- redbot/cogs/bank/locales/tr-TR.po | 52 +- redbot/cogs/bank/locales/zh-CN.po | 42 +- redbot/cogs/bank/locales/zh-TW.po | 71 + redbot/cogs/cleanup/locales/ar-SA.po | 79 +- redbot/cogs/cleanup/locales/bg-BG.po | 79 +- redbot/cogs/cleanup/locales/cs-CZ.po | 84 + redbot/cogs/cleanup/locales/da-DK.po | 79 +- redbot/cogs/cleanup/locales/de-DE.po | 107 +- redbot/cogs/cleanup/locales/el-GR.po | 79 +- redbot/cogs/cleanup/locales/en-PT.po | 79 +- redbot/cogs/cleanup/locales/es-ES.po | 85 +- redbot/cogs/cleanup/locales/fi-FI.po | 79 +- redbot/cogs/cleanup/locales/fr-FR.po | 120 +- redbot/cogs/cleanup/locales/hu-HU.po | 79 +- redbot/cogs/cleanup/locales/id-ID.po | 79 +- redbot/cogs/cleanup/locales/it-IT.po | 79 +- redbot/cogs/cleanup/locales/ja-JP.po | 79 +- redbot/cogs/cleanup/locales/ko-KR.po | 79 +- redbot/cogs/cleanup/locales/lol-US.po | 79 +- redbot/cogs/cleanup/locales/nl-NL.po | 113 +- redbot/cogs/cleanup/locales/no-NO.po | 79 +- redbot/cogs/cleanup/locales/pl-PL.po | 81 +- redbot/cogs/cleanup/locales/pt-BR.po | 79 +- redbot/cogs/cleanup/locales/pt-PT.po | 79 +- redbot/cogs/cleanup/locales/ro-RO.po | 84 + redbot/cogs/cleanup/locales/ru-RU.po | 122 +- redbot/cogs/cleanup/locales/sk-SK.po | 79 +- redbot/cogs/cleanup/locales/sv-SE.po | 79 +- redbot/cogs/cleanup/locales/tr-TR.po | 115 +- redbot/cogs/cleanup/locales/zh-CN.po | 79 +- redbot/cogs/cleanup/locales/zh-TW.po | 84 + redbot/cogs/customcom/locales/ar-SA.po | 162 +- redbot/cogs/customcom/locales/bg-BG.po | 162 +- redbot/cogs/customcom/locales/cs-CZ.po | 193 +++ redbot/cogs/customcom/locales/da-DK.po | 162 +- redbot/cogs/customcom/locales/de-DE.po | 202 +-- redbot/cogs/customcom/locales/el-GR.po | 162 +- redbot/cogs/customcom/locales/en-PT.po | 162 +- redbot/cogs/customcom/locales/es-ES.po | 162 +- redbot/cogs/customcom/locales/fi-FI.po | 162 +- redbot/cogs/customcom/locales/fr-FR.po | 202 +-- redbot/cogs/customcom/locales/hu-HU.po | 162 +- redbot/cogs/customcom/locales/id-ID.po | 162 +- redbot/cogs/customcom/locales/it-IT.po | 162 +- redbot/cogs/customcom/locales/ja-JP.po | 162 +- redbot/cogs/customcom/locales/ko-KR.po | 162 +- redbot/cogs/customcom/locales/lol-US.po | 162 +- redbot/cogs/customcom/locales/nl-NL.po | 162 +- redbot/cogs/customcom/locales/no-NO.po | 162 +- redbot/cogs/customcom/locales/pl-PL.po | 162 +- redbot/cogs/customcom/locales/pt-BR.po | 162 +- redbot/cogs/customcom/locales/pt-PT.po | 162 +- redbot/cogs/customcom/locales/ro-RO.po | 193 +++ redbot/cogs/customcom/locales/ru-RU.po | 199 +-- redbot/cogs/customcom/locales/sk-SK.po | 162 +- redbot/cogs/customcom/locales/sv-SE.po | 162 +- redbot/cogs/customcom/locales/tr-TR.po | 162 +- redbot/cogs/customcom/locales/zh-CN.po | 162 +- redbot/cogs/customcom/locales/zh-TW.po | 193 +++ redbot/cogs/downloader/locales/ar-SA.po | 157 +- redbot/cogs/downloader/locales/bg-BG.po | 159 +- redbot/cogs/downloader/locales/cs-CZ.po | 236 +++ redbot/cogs/downloader/locales/da-DK.po | 157 +- redbot/cogs/downloader/locales/de-DE.po | 231 ++- redbot/cogs/downloader/locales/el-GR.po | 157 +- redbot/cogs/downloader/locales/en-PT.po | 159 +- redbot/cogs/downloader/locales/es-ES.po | 159 +- redbot/cogs/downloader/locales/fi-FI.po | 157 +- redbot/cogs/downloader/locales/fr-FR.po | 259 ++- redbot/cogs/downloader/locales/hu-HU.po | 159 +- redbot/cogs/downloader/locales/id-ID.po | 159 +- redbot/cogs/downloader/locales/it-IT.po | 161 +- redbot/cogs/downloader/locales/ja-JP.po | 159 +- redbot/cogs/downloader/locales/ko-KR.po | 159 +- redbot/cogs/downloader/locales/lol-US.po | 157 +- redbot/cogs/downloader/locales/nl-NL.po | 204 ++- redbot/cogs/downloader/locales/no-NO.po | 159 +- redbot/cogs/downloader/locales/pl-PL.po | 165 +- redbot/cogs/downloader/locales/pt-BR.po | 161 +- redbot/cogs/downloader/locales/pt-PT.po | 157 +- redbot/cogs/downloader/locales/ro-RO.po | 236 +++ redbot/cogs/downloader/locales/ru-RU.po | 254 ++- redbot/cogs/downloader/locales/sk-SK.po | 157 +- redbot/cogs/downloader/locales/sv-SE.po | 159 +- redbot/cogs/downloader/locales/tr-TR.po | 197 +-- redbot/cogs/downloader/locales/zh-CN.po | 159 +- redbot/cogs/downloader/locales/zh-TW.po | 236 +++ redbot/cogs/economy/locales/ar-SA.po | 172 +- redbot/cogs/economy/locales/bg-BG.po | 181 +- redbot/cogs/economy/locales/cs-CZ.po | 296 ++++ redbot/cogs/economy/locales/da-DK.po | 172 +- redbot/cogs/economy/locales/de-DE.po | 257 ++- redbot/cogs/economy/locales/el-GR.po | 172 +- redbot/cogs/economy/locales/en-PT.po | 181 +- redbot/cogs/economy/locales/es-ES.po | 181 +- redbot/cogs/economy/locales/fi-FI.po | 172 +- redbot/cogs/economy/locales/fr-FR.po | 271 ++- redbot/cogs/economy/locales/hu-HU.po | 172 +- redbot/cogs/economy/locales/id-ID.po | 181 +- redbot/cogs/economy/locales/it-IT.po | 181 +- redbot/cogs/economy/locales/ja-JP.po | 181 +- redbot/cogs/economy/locales/ko-KR.po | 179 +- redbot/cogs/economy/locales/lol-US.po | 172 +- redbot/cogs/economy/locales/nl-NL.po | 180 +- redbot/cogs/economy/locales/no-NO.po | 181 +- redbot/cogs/economy/locales/pl-PL.po | 183 +- redbot/cogs/economy/locales/pt-BR.po | 181 +- redbot/cogs/economy/locales/pt-PT.po | 172 +- redbot/cogs/economy/locales/ro-RO.po | 296 ++++ redbot/cogs/economy/locales/ru-RU.po | 214 +-- redbot/cogs/economy/locales/sk-SK.po | 172 +- redbot/cogs/economy/locales/sv-SE.po | 181 +- redbot/cogs/economy/locales/tr-TR.po | 146 +- redbot/cogs/economy/locales/zh-CN.po | 181 +- redbot/cogs/economy/locales/zh-TW.po | 296 ++++ redbot/cogs/filter/locales/ar-SA.po | 130 +- redbot/cogs/filter/locales/bg-BG.po | 130 +- redbot/cogs/filter/locales/cs-CZ.po | 149 ++ redbot/cogs/filter/locales/da-DK.po | 130 +- redbot/cogs/filter/locales/de-DE.po | 154 +- redbot/cogs/filter/locales/el-GR.po | 130 +- redbot/cogs/filter/locales/en-PT.po | 130 +- redbot/cogs/filter/locales/es-ES.po | 130 +- redbot/cogs/filter/locales/fi-FI.po | 130 +- redbot/cogs/filter/locales/fr-FR.po | 176 +- redbot/cogs/filter/locales/hu-HU.po | 130 +- redbot/cogs/filter/locales/id-ID.po | 130 +- redbot/cogs/filter/locales/it-IT.po | 130 +- redbot/cogs/filter/locales/ja-JP.po | 130 +- redbot/cogs/filter/locales/ko-KR.po | 130 +- redbot/cogs/filter/locales/lol-US.po | 130 +- redbot/cogs/filter/locales/nl-NL.po | 124 +- redbot/cogs/filter/locales/no-NO.po | 130 +- redbot/cogs/filter/locales/pl-PL.po | 130 +- redbot/cogs/filter/locales/pt-BR.po | 130 +- redbot/cogs/filter/locales/pt-PT.po | 130 +- redbot/cogs/filter/locales/ro-RO.po | 149 ++ redbot/cogs/filter/locales/ru-RU.po | 182 +- redbot/cogs/filter/locales/sk-SK.po | 130 +- redbot/cogs/filter/locales/sv-SE.po | 130 +- redbot/cogs/filter/locales/tr-TR.po | 130 +- redbot/cogs/filter/locales/zh-CN.po | 130 +- redbot/cogs/filter/locales/zh-TW.po | 149 ++ redbot/cogs/general/locales/ar-SA.po | 109 +- redbot/cogs/general/locales/bg-BG.po | 105 +- redbot/cogs/general/locales/cs-CZ.po | 269 +++ redbot/cogs/general/locales/da-DK.po | 109 +- redbot/cogs/general/locales/de-DE.po | 139 +- redbot/cogs/general/locales/el-GR.po | 109 +- redbot/cogs/general/locales/en-PT.po | 105 +- redbot/cogs/general/locales/es-ES.po | 105 +- redbot/cogs/general/locales/fi-FI.po | 109 +- redbot/cogs/general/locales/fr-FR.po | 149 +- redbot/cogs/general/locales/hu-HU.po | 109 +- redbot/cogs/general/locales/id-ID.po | 129 +- redbot/cogs/general/locales/it-IT.po | 105 +- redbot/cogs/general/locales/ja-JP.po | 105 +- redbot/cogs/general/locales/ko-KR.po | 105 +- redbot/cogs/general/locales/lol-US.po | 109 +- redbot/cogs/general/locales/nl-NL.po | 135 +- redbot/cogs/general/locales/no-NO.po | 105 +- redbot/cogs/general/locales/pl-PL.po | 129 +- redbot/cogs/general/locales/pt-BR.po | 109 +- redbot/cogs/general/locales/pt-PT.po | 109 +- redbot/cogs/general/locales/ro-RO.po | 269 +++ redbot/cogs/general/locales/ru-RU.po | 150 +- redbot/cogs/general/locales/sk-SK.po | 105 +- redbot/cogs/general/locales/sv-SE.po | 105 +- redbot/cogs/general/locales/tr-TR.po | 137 +- redbot/cogs/general/locales/zh-CN.po | 105 +- redbot/cogs/general/locales/zh-TW.po | 269 +++ redbot/cogs/image/locales/ar-SA.po | 86 +- redbot/cogs/image/locales/bg-BG.po | 88 +- redbot/cogs/image/locales/cs-CZ.po | 103 ++ redbot/cogs/image/locales/da-DK.po | 86 +- redbot/cogs/image/locales/de-DE.po | 100 +- redbot/cogs/image/locales/el-GR.po | 86 +- redbot/cogs/image/locales/en-PT.po | 88 +- redbot/cogs/image/locales/es-ES.po | 88 +- redbot/cogs/image/locales/fi-FI.po | 86 +- redbot/cogs/image/locales/fr-FR.po | 117 +- redbot/cogs/image/locales/hu-HU.po | 88 +- redbot/cogs/image/locales/id-ID.po | 88 +- redbot/cogs/image/locales/it-IT.po | 88 +- redbot/cogs/image/locales/ja-JP.po | 88 +- redbot/cogs/image/locales/ko-KR.po | 88 +- redbot/cogs/image/locales/lol-US.po | 86 +- redbot/cogs/image/locales/nl-NL.po | 117 +- redbot/cogs/image/locales/no-NO.po | 88 +- redbot/cogs/image/locales/pl-PL.po | 90 +- redbot/cogs/image/locales/pt-BR.po | 86 +- redbot/cogs/image/locales/pt-PT.po | 86 +- redbot/cogs/image/locales/ro-RO.po | 103 ++ redbot/cogs/image/locales/ru-RU.po | 117 +- redbot/cogs/image/locales/sk-SK.po | 86 +- redbot/cogs/image/locales/sv-SE.po | 88 +- redbot/cogs/image/locales/tr-TR.po | 115 +- redbot/cogs/image/locales/zh-CN.po | 88 +- redbot/cogs/image/locales/zh-TW.po | 103 ++ redbot/cogs/mod/locales/ar-SA.po | 857 +++++----- redbot/cogs/mod/locales/bg-BG.po | 859 +++++----- redbot/cogs/mod/locales/cs-CZ.po | 647 +++++++ redbot/cogs/mod/locales/da-DK.po | 857 +++++----- redbot/cogs/mod/locales/de-DE.po | 917 +++++----- redbot/cogs/mod/locales/el-GR.po | 857 +++++----- redbot/cogs/mod/locales/en-PT.po | 865 +++++----- redbot/cogs/mod/locales/es-ES.po | 867 +++++----- redbot/cogs/mod/locales/fi-FI.po | 857 +++++----- redbot/cogs/mod/locales/fr-FR.po | 902 +++++----- redbot/cogs/mod/locales/hu-HU.po | 857 +++++----- redbot/cogs/mod/locales/id-ID.po | 867 +++++----- redbot/cogs/mod/locales/it-IT.po | 859 +++++----- redbot/cogs/mod/locales/ja-JP.po | 859 +++++----- redbot/cogs/mod/locales/ko-KR.po | 867 +++++----- redbot/cogs/mod/locales/lol-US.po | 857 +++++----- redbot/cogs/mod/locales/nl-NL.po | 867 +++++----- redbot/cogs/mod/locales/no-NO.po | 859 +++++----- redbot/cogs/mod/locales/pl-PL.po | 859 +++++----- redbot/cogs/mod/locales/pt-BR.po | 857 +++++----- redbot/cogs/mod/locales/pt-PT.po | 857 +++++----- redbot/cogs/mod/locales/ro-RO.po | 647 +++++++ redbot/cogs/mod/locales/ru-RU.po | 1049 ++++++------ redbot/cogs/mod/locales/sk-SK.po | 859 +++++----- redbot/cogs/mod/locales/sv-SE.po | 859 +++++----- redbot/cogs/mod/locales/tr-TR.po | 861 +++++----- redbot/cogs/mod/locales/zh-CN.po | 859 +++++----- redbot/cogs/mod/locales/zh-TW.po | 647 +++++++ redbot/cogs/modlog/locales/ar-SA.po | 81 +- redbot/cogs/modlog/locales/bg-BG.po | 81 +- redbot/cogs/modlog/locales/cs-CZ.po | 122 ++ redbot/cogs/modlog/locales/da-DK.po | 81 +- redbot/cogs/modlog/locales/de-DE.po | 99 +- redbot/cogs/modlog/locales/el-GR.po | 81 +- redbot/cogs/modlog/locales/en-PT.po | 81 +- redbot/cogs/modlog/locales/es-ES.po | 81 +- redbot/cogs/modlog/locales/fi-FI.po | 81 +- redbot/cogs/modlog/locales/fr-FR.po | 107 +- redbot/cogs/modlog/locales/hu-HU.po | 81 +- redbot/cogs/modlog/locales/id-ID.po | 81 +- redbot/cogs/modlog/locales/it-IT.po | 81 +- redbot/cogs/modlog/locales/ja-JP.po | 81 +- redbot/cogs/modlog/locales/ko-KR.po | 81 +- redbot/cogs/modlog/locales/lol-US.po | 81 +- redbot/cogs/modlog/locales/nl-NL.po | 81 +- redbot/cogs/modlog/locales/no-NO.po | 81 +- redbot/cogs/modlog/locales/pl-PL.po | 81 +- redbot/cogs/modlog/locales/pt-BR.po | 81 +- redbot/cogs/modlog/locales/pt-PT.po | 81 +- redbot/cogs/modlog/locales/ro-RO.po | 122 ++ redbot/cogs/modlog/locales/ru-RU.po | 109 +- redbot/cogs/modlog/locales/sk-SK.po | 81 +- redbot/cogs/modlog/locales/sv-SE.po | 81 +- redbot/cogs/modlog/locales/tr-TR.po | 81 +- redbot/cogs/modlog/locales/zh-CN.po | 81 +- redbot/cogs/modlog/locales/zh-TW.po | 122 ++ redbot/cogs/permissions/locales/ar-SA.po | 212 +-- redbot/cogs/permissions/locales/bg-BG.po | 212 +-- redbot/cogs/permissions/locales/cs-CZ.po | 244 +++ redbot/cogs/permissions/locales/da-DK.po | 212 +-- redbot/cogs/permissions/locales/de-DE.po | 286 ++-- redbot/cogs/permissions/locales/el-GR.po | 212 +-- redbot/cogs/permissions/locales/en-PT.po | 212 +-- redbot/cogs/permissions/locales/es-ES.po | 212 +-- redbot/cogs/permissions/locales/fi-FI.po | 212 +-- redbot/cogs/permissions/locales/fr-FR.po | 286 ++-- redbot/cogs/permissions/locales/hu-HU.po | 220 +-- redbot/cogs/permissions/locales/id-ID.po | 212 +-- redbot/cogs/permissions/locales/it-IT.po | 214 +-- redbot/cogs/permissions/locales/ja-JP.po | 212 +-- redbot/cogs/permissions/locales/ko-KR.po | 212 +-- redbot/cogs/permissions/locales/lol-US.po | 212 +-- redbot/cogs/permissions/locales/nl-NL.po | 212 +-- redbot/cogs/permissions/locales/no-NO.po | 212 +-- redbot/cogs/permissions/locales/pl-PL.po | 214 +-- redbot/cogs/permissions/locales/pt-BR.po | 214 +-- redbot/cogs/permissions/locales/pt-PT.po | 212 +-- redbot/cogs/permissions/locales/ro-RO.po | 244 +++ redbot/cogs/permissions/locales/ru-RU.po | 286 ++-- redbot/cogs/permissions/locales/sk-SK.po | 212 +-- redbot/cogs/permissions/locales/sv-SE.po | 212 +-- redbot/cogs/permissions/locales/tr-TR.po | 214 +-- redbot/cogs/permissions/locales/zh-CN.po | 212 +-- redbot/cogs/permissions/locales/zh-TW.po | 244 +++ redbot/cogs/reports/locales/ar-SA.po | 89 +- redbot/cogs/reports/locales/bg-BG.po | 89 +- redbot/cogs/reports/locales/cs-CZ.po | 147 ++ redbot/cogs/reports/locales/da-DK.po | 89 +- redbot/cogs/reports/locales/de-DE.po | 149 +- redbot/cogs/reports/locales/el-GR.po | 89 +- redbot/cogs/reports/locales/en-PT.po | 89 +- redbot/cogs/reports/locales/es-ES.po | 91 +- redbot/cogs/reports/locales/fi-FI.po | 89 +- redbot/cogs/reports/locales/fr-FR.po | 149 +- redbot/cogs/reports/locales/hu-HU.po | 89 +- redbot/cogs/reports/locales/id-ID.po | 89 +- redbot/cogs/reports/locales/it-IT.po | 89 +- redbot/cogs/reports/locales/ja-JP.po | 89 +- redbot/cogs/reports/locales/ko-KR.po | 89 +- redbot/cogs/reports/locales/lol-US.po | 89 +- redbot/cogs/reports/locales/nl-NL.po | 97 +- redbot/cogs/reports/locales/no-NO.po | 89 +- redbot/cogs/reports/locales/pl-PL.po | 89 +- redbot/cogs/reports/locales/pt-BR.po | 89 +- redbot/cogs/reports/locales/pt-PT.po | 89 +- redbot/cogs/reports/locales/ro-RO.po | 147 ++ redbot/cogs/reports/locales/ru-RU.po | 149 +- redbot/cogs/reports/locales/sk-SK.po | 89 +- redbot/cogs/reports/locales/sv-SE.po | 89 +- redbot/cogs/reports/locales/tr-TR.po | 89 +- redbot/cogs/reports/locales/zh-CN.po | 89 +- redbot/cogs/reports/locales/zh-TW.po | 147 ++ redbot/cogs/streams/locales/ar-SA.po | 258 +-- redbot/cogs/streams/locales/bg-BG.po | 258 +-- redbot/cogs/streams/locales/cs-CZ.po | 300 ++++ redbot/cogs/streams/locales/da-DK.po | 258 +-- redbot/cogs/streams/locales/de-DE.po | 293 ++-- redbot/cogs/streams/locales/el-GR.po | 258 +-- redbot/cogs/streams/locales/en-PT.po | 258 +-- redbot/cogs/streams/locales/es-ES.po | 258 +-- redbot/cogs/streams/locales/fi-FI.po | 258 +-- redbot/cogs/streams/locales/fr-FR.po | 358 ++-- redbot/cogs/streams/locales/hu-HU.po | 258 +-- redbot/cogs/streams/locales/id-ID.po | 258 +-- redbot/cogs/streams/locales/it-IT.po | 258 +-- redbot/cogs/streams/locales/ja-JP.po | 258 +-- redbot/cogs/streams/locales/ko-KR.po | 258 +-- redbot/cogs/streams/locales/lol-US.po | 258 +-- redbot/cogs/streams/locales/nl-NL.po | 258 +-- redbot/cogs/streams/locales/no-NO.po | 258 +-- redbot/cogs/streams/locales/pl-PL.po | 258 +-- redbot/cogs/streams/locales/pt-BR.po | 258 +-- redbot/cogs/streams/locales/pt-PT.po | 258 +-- redbot/cogs/streams/locales/ro-RO.po | 300 ++++ redbot/cogs/streams/locales/ru-RU.po | 352 ++-- redbot/cogs/streams/locales/sk-SK.po | 258 +-- redbot/cogs/streams/locales/sv-SE.po | 258 +-- redbot/cogs/streams/locales/tr-TR.po | 258 +-- redbot/cogs/streams/locales/zh-CN.po | 258 +-- redbot/cogs/streams/locales/zh-TW.po | 300 ++++ redbot/cogs/trivia/locales/ar-SA.po | 62 +- redbot/cogs/trivia/locales/bg-BG.po | 62 +- redbot/cogs/trivia/locales/cs-CZ.po | 281 ++++ redbot/cogs/trivia/locales/da-DK.po | 62 +- redbot/cogs/trivia/locales/de-DE.po | 170 +- redbot/cogs/trivia/locales/el-GR.po | 62 +- redbot/cogs/trivia/locales/en-PT.po | 62 +- redbot/cogs/trivia/locales/es-ES.po | 62 +- redbot/cogs/trivia/locales/fi-FI.po | 62 +- redbot/cogs/trivia/locales/fr-FR.po | 117 +- redbot/cogs/trivia/locales/hu-HU.po | 62 +- redbot/cogs/trivia/locales/id-ID.po | 62 +- redbot/cogs/trivia/locales/it-IT.po | 170 +- redbot/cogs/trivia/locales/ja-JP.po | 62 +- redbot/cogs/trivia/locales/ko-KR.po | 62 +- redbot/cogs/trivia/locales/lol-US.po | 62 +- redbot/cogs/trivia/locales/nl-NL.po | 62 +- redbot/cogs/trivia/locales/no-NO.po | 62 +- redbot/cogs/trivia/locales/pl-PL.po | 62 +- redbot/cogs/trivia/locales/pt-BR.po | 62 +- redbot/cogs/trivia/locales/pt-PT.po | 62 +- redbot/cogs/trivia/locales/ro-RO.po | 281 ++++ redbot/cogs/trivia/locales/ru-RU.po | 170 +- redbot/cogs/trivia/locales/sk-SK.po | 62 +- redbot/cogs/trivia/locales/sv-SE.po | 62 +- redbot/cogs/trivia/locales/tr-TR.po | 62 +- redbot/cogs/trivia/locales/zh-CN.po | 62 +- redbot/cogs/trivia/locales/zh-TW.po | 281 ++++ redbot/cogs/warnings/locales/ar-SA.po | 184 +- redbot/cogs/warnings/locales/bg-BG.po | 184 +- redbot/cogs/warnings/locales/cs-CZ.po | 233 +++ redbot/cogs/warnings/locales/da-DK.po | 184 +- redbot/cogs/warnings/locales/de-DE.po | 252 ++- redbot/cogs/warnings/locales/el-GR.po | 184 +- redbot/cogs/warnings/locales/en-PT.po | 184 +- redbot/cogs/warnings/locales/es-ES.po | 184 +- redbot/cogs/warnings/locales/fi-FI.po | 184 +- redbot/cogs/warnings/locales/fr-FR.po | 300 ++-- redbot/cogs/warnings/locales/hu-HU.po | 184 +- redbot/cogs/warnings/locales/id-ID.po | 184 +- redbot/cogs/warnings/locales/it-IT.po | 302 ++-- redbot/cogs/warnings/locales/ja-JP.po | 184 +- redbot/cogs/warnings/locales/ko-KR.po | 184 +- redbot/cogs/warnings/locales/lol-US.po | 184 +- redbot/cogs/warnings/locales/nl-NL.po | 184 +- redbot/cogs/warnings/locales/no-NO.po | 184 +- redbot/cogs/warnings/locales/pl-PL.po | 184 +- redbot/cogs/warnings/locales/pt-BR.po | 184 +- redbot/cogs/warnings/locales/pt-PT.po | 184 +- redbot/cogs/warnings/locales/ro-RO.po | 233 +++ redbot/cogs/warnings/locales/ru-RU.po | 286 ++-- redbot/cogs/warnings/locales/sk-SK.po | 184 +- redbot/cogs/warnings/locales/sv-SE.po | 184 +- redbot/cogs/warnings/locales/tr-TR.po | 184 +- redbot/cogs/warnings/locales/zh-CN.po | 184 +- redbot/cogs/warnings/locales/zh-TW.po | 233 +++ redbot/core/commands/locales/ar-SA.po | 41 +- redbot/core/commands/locales/bg-BG.po | 41 +- redbot/core/commands/locales/cs-CZ.po | 51 + redbot/core/commands/locales/da-DK.po | 41 +- redbot/core/commands/locales/de-DE.po | 45 +- redbot/core/commands/locales/el-GR.po | 41 +- redbot/core/commands/locales/en-PT.po | 41 +- redbot/core/commands/locales/es-ES.po | 41 +- redbot/core/commands/locales/fi-FI.po | 41 +- redbot/core/commands/locales/fr-FR.po | 45 +- redbot/core/commands/locales/hu-HU.po | 41 +- redbot/core/commands/locales/id-ID.po | 41 +- redbot/core/commands/locales/it-IT.po | 41 +- redbot/core/commands/locales/ja-JP.po | 41 +- redbot/core/commands/locales/ko-KR.po | 41 +- redbot/core/commands/locales/lol-US.po | 41 +- redbot/core/commands/locales/nl-NL.po | 45 +- redbot/core/commands/locales/no-NO.po | 41 +- redbot/core/commands/locales/pl-PL.po | 41 +- redbot/core/commands/locales/pt-BR.po | 41 +- redbot/core/commands/locales/pt-PT.po | 43 +- redbot/core/commands/locales/ro-RO.po | 51 + redbot/core/commands/locales/ru-RU.po | 45 +- redbot/core/commands/locales/sk-SK.po | 41 +- redbot/core/commands/locales/sv-SE.po | 41 +- redbot/core/commands/locales/tr-TR.po | 41 +- redbot/core/commands/locales/zh-CN.po | 41 +- redbot/core/commands/locales/zh-TW.po | 51 + redbot/core/locales/ar-SA.po | 1415 +++++++++------- redbot/core/locales/bg-BG.po | 1274 ++++++++------ redbot/core/locales/cs-CZ.po | 1411 ++++++++++++++++ redbot/core/locales/da-DK.po | 1415 +++++++++------- redbot/core/locales/de-DE.po | 1523 ++++++++++------- redbot/core/locales/el-GR.po | 1415 +++++++++------- redbot/core/locales/en-PT.po | 1274 ++++++++------ redbot/core/locales/es-ES.po | 1300 ++++++++------ redbot/core/locales/fi-FI.po | 1415 +++++++++------- redbot/core/locales/fr-FR.po | 1661 ++++++++++-------- redbot/core/locales/hu-HU.po | 1322 +++++++++------ redbot/core/locales/id-ID.po | 1292 ++++++++------ redbot/core/locales/it-IT.po | 1858 ++++++++++++--------- redbot/core/locales/ja-JP.po | 1415 +++++++++------- redbot/core/locales/ko-KR.po | 1295 ++++++++------ redbot/core/locales/lol-US.po | 1429 +++++++++------- redbot/core/locales/nl-NL.po | 1354 ++++++++------- redbot/core/locales/no-NO.po | 1292 ++++++++------ redbot/core/locales/pl-PL.po | 1476 +++++++++------- redbot/core/locales/pt-BR.po | 1563 ++++++++++------- redbot/core/locales/pt-PT.po | 1465 +++++++++------- redbot/core/locales/ro-RO.po | 1411 ++++++++++++++++ redbot/core/locales/ru-RU.po | 1621 +++++++++--------- redbot/core/locales/sk-SK.po | 1415 +++++++++------- redbot/core/locales/sv-SE.po | 1292 ++++++++------ redbot/core/locales/tr-TR.po | 1604 +++++++++--------- redbot/core/locales/zh-CN.po | 1273 ++++++++------ redbot/core/locales/zh-TW.po | 1411 ++++++++++++++++ redbot/core/utils/locales/ar-SA.po | 58 +- redbot/core/utils/locales/bg-BG.po | 58 +- redbot/core/utils/locales/cs-CZ.po | 70 + redbot/core/utils/locales/da-DK.po | 58 +- redbot/core/utils/locales/de-DE.po | 58 +- redbot/core/utils/locales/el-GR.po | 58 +- redbot/core/utils/locales/en-PT.po | 58 +- redbot/core/utils/locales/es-ES.po | 58 +- redbot/core/utils/locales/fi-FI.po | 58 +- redbot/core/utils/locales/fr-FR.po | 58 +- redbot/core/utils/locales/hu-HU.po | 58 +- redbot/core/utils/locales/id-ID.po | 58 +- redbot/core/utils/locales/it-IT.po | 60 +- redbot/core/utils/locales/ja-JP.po | 58 +- redbot/core/utils/locales/ko-KR.po | 58 +- redbot/core/utils/locales/lol-US.po | 58 +- redbot/core/utils/locales/nl-NL.po | 58 +- redbot/core/utils/locales/no-NO.po | 58 +- redbot/core/utils/locales/pl-PL.po | 58 +- redbot/core/utils/locales/pt-BR.po | 58 +- redbot/core/utils/locales/pt-PT.po | 58 +- redbot/core/utils/locales/ro-RO.po | 70 + redbot/core/utils/locales/ru-RU.po | 58 +- redbot/core/utils/locales/sk-SK.po | 58 +- redbot/core/utils/locales/sv-SE.po | 58 +- redbot/core/utils/locales/tr-TR.po | 58 +- redbot/core/utils/locales/zh-CN.po | 58 +- redbot/core/utils/locales/zh-TW.po | 70 + 589 files changed, 95310 insertions(+), 65686 deletions(-) create mode 100644 redbot/cogs/admin/locales/cs-CZ.po create mode 100644 redbot/cogs/admin/locales/ro-RO.po create mode 100644 redbot/cogs/admin/locales/zh-TW.po create mode 100644 redbot/cogs/alias/locales/cs-CZ.po create mode 100644 redbot/cogs/alias/locales/ro-RO.po create mode 100644 redbot/cogs/alias/locales/zh-TW.po create mode 100644 redbot/cogs/audio/locales/cs-CZ.po create mode 100644 redbot/cogs/audio/locales/ro-RO.po create mode 100644 redbot/cogs/audio/locales/zh-TW.po create mode 100644 redbot/cogs/bank/locales/cs-CZ.po create mode 100644 redbot/cogs/bank/locales/ro-RO.po create mode 100644 redbot/cogs/bank/locales/zh-TW.po create mode 100644 redbot/cogs/cleanup/locales/cs-CZ.po create mode 100644 redbot/cogs/cleanup/locales/ro-RO.po create mode 100644 redbot/cogs/cleanup/locales/zh-TW.po create mode 100644 redbot/cogs/customcom/locales/cs-CZ.po create mode 100644 redbot/cogs/customcom/locales/ro-RO.po create mode 100644 redbot/cogs/customcom/locales/zh-TW.po create mode 100644 redbot/cogs/downloader/locales/cs-CZ.po create mode 100644 redbot/cogs/downloader/locales/ro-RO.po create mode 100644 redbot/cogs/downloader/locales/zh-TW.po create mode 100644 redbot/cogs/economy/locales/cs-CZ.po create mode 100644 redbot/cogs/economy/locales/ro-RO.po create mode 100644 redbot/cogs/economy/locales/zh-TW.po create mode 100644 redbot/cogs/filter/locales/cs-CZ.po create mode 100644 redbot/cogs/filter/locales/ro-RO.po create mode 100644 redbot/cogs/filter/locales/zh-TW.po create mode 100644 redbot/cogs/general/locales/cs-CZ.po create mode 100644 redbot/cogs/general/locales/ro-RO.po create mode 100644 redbot/cogs/general/locales/zh-TW.po create mode 100644 redbot/cogs/image/locales/cs-CZ.po create mode 100644 redbot/cogs/image/locales/ro-RO.po create mode 100644 redbot/cogs/image/locales/zh-TW.po create mode 100644 redbot/cogs/mod/locales/cs-CZ.po create mode 100644 redbot/cogs/mod/locales/ro-RO.po create mode 100644 redbot/cogs/mod/locales/zh-TW.po create mode 100644 redbot/cogs/modlog/locales/cs-CZ.po create mode 100644 redbot/cogs/modlog/locales/ro-RO.po create mode 100644 redbot/cogs/modlog/locales/zh-TW.po create mode 100644 redbot/cogs/permissions/locales/cs-CZ.po create mode 100644 redbot/cogs/permissions/locales/ro-RO.po create mode 100644 redbot/cogs/permissions/locales/zh-TW.po create mode 100644 redbot/cogs/reports/locales/cs-CZ.po create mode 100644 redbot/cogs/reports/locales/ro-RO.po create mode 100644 redbot/cogs/reports/locales/zh-TW.po create mode 100644 redbot/cogs/streams/locales/cs-CZ.po create mode 100644 redbot/cogs/streams/locales/ro-RO.po create mode 100644 redbot/cogs/streams/locales/zh-TW.po create mode 100644 redbot/cogs/trivia/locales/cs-CZ.po create mode 100644 redbot/cogs/trivia/locales/ro-RO.po create mode 100644 redbot/cogs/trivia/locales/zh-TW.po create mode 100644 redbot/cogs/warnings/locales/cs-CZ.po create mode 100644 redbot/cogs/warnings/locales/ro-RO.po create mode 100644 redbot/cogs/warnings/locales/zh-TW.po create mode 100644 redbot/core/commands/locales/cs-CZ.po create mode 100644 redbot/core/commands/locales/ro-RO.po create mode 100644 redbot/core/commands/locales/zh-TW.po create mode 100644 redbot/core/locales/cs-CZ.po create mode 100644 redbot/core/locales/ro-RO.po create mode 100644 redbot/core/locales/zh-TW.po create mode 100644 redbot/core/utils/locales/cs-CZ.po create mode 100644 redbot/core/utils/locales/ro-RO.po create mode 100644 redbot/core/utils/locales/zh-TW.po diff --git a/.travis.yml b/.travis.yml index 66a386d16..11bc49b0a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -50,7 +50,7 @@ jobs: - echo "deb https://artifacts.crowdin.com/repo/deb/ /" | sudo tee -a /etc/apt/sources.list - sudo apt-get update -qq - sudo apt-get install -y crowdin - - pip install redgettext==2.2 + - pip install redgettext==3.1 deploy: - provider: script script: make upload_translations diff --git a/redbot/cogs/admin/locales/ar-SA.po b/redbot/cogs/admin/locales/ar-SA.po index b6ad903c0..5d00c2df2 100644 --- a/redbot/cogs/admin/locales/ar-SA.po +++ b/redbot/cogs/admin/locales/ar-SA.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -21,192 +21,154 @@ msgid "I attempted to do something that Discord denied me permissions for. Your msgstr "حاولت القيام بشيء لا أملك تصريح من ديسكورد لفعله. فشل أمرك في إكمال نجاحه." #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." -msgstr "حاولت إضافة {role.name} إلى {member.display_name} ولكن هذه الرتبة هي أعلى من رتبتي في قائمة الرتب في السيرفر, لذلك فشل الأمر. حاول رفع رتبتي والمحاولة مجدداً." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgstr "" #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." -msgstr "لقد حاولت إضافة {role.name} إلى {member.display_name} ولكن هذه الرتبة هي أعلى من رتبتك في قائمة الرتب في السيرفر, لذلك فشل الأمر. حاول رفع رتبتي والمحاولة مجدداً." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" #: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:43 msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." msgstr "أنا بالفعل أُعلن شيئاً. إذا كنت ترغب في إصدار إعلان مختلف الرجاء إستخدام `{prefix}announce cancel` أولاً." -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." msgstr "مجموعة من أدوات إدارة السيرفر." -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "" + +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" msgstr "لقد قمت بنجاح بإضافة {role.name} إلى {member.display_name}" -#: redbot/cogs/admin/admin.py:127 +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" +msgstr "" + +#: redbot/cogs/admin/admin.py:138 msgid "I successfully removed {role.name} from {member.display_name}" msgstr "لقد قمت بنجاح بإزالة {role.name} من {member.display_name}" -#: redbot/cogs/admin/admin.py:138 +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " -msgstr " إذا تم ترك المستخدم فارغ, فسيكون إفتراضياً صاحب الأمر.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:169 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " -msgstr " إذا تم ترك المستخدم فارغ, فسيكون إفتراضياً صاحب الأمر.\n" -" " +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." msgstr "تعديل إعدادات الرتبة." -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " -msgstr " استخدم علامة اقتباس مزدوجة إذا كانت الرتبة تحتوي على مسافات.\n" -" يجب أن يكون اللون بتنسيق سداسي عشري.\n" -" موقع لإختيار الألوان (http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" أمثلة:\n" -" `[p]editrole colour \"The Transistor\" #ff0000` \n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." msgstr "تم." -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "تعديل إسم الرتبة.\n\n" -" استخدم علامة اقتباس مزدوجة إذا كانت الرتبة تحتوي على مسافات.\n\n" -" أمثلة:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:235 +#: redbot/cogs/admin/admin.py:250 #, docstring msgid "Announce a message to all servers the bot is in." msgstr "الإعلان عن رسالة إلى جميع السيرفرات المتواجد بها البوت." -#: redbot/cogs/admin/admin.py:242 +#: redbot/cogs/admin/admin.py:257 msgid "The announcement has begun." msgstr "تم البدء في الإعلان." -#: redbot/cogs/admin/admin.py:250 +#: redbot/cogs/admin/admin.py:265 #, docstring msgid "Cancel a running announce." msgstr "إلغاء إعلان جارٍ." -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "تم إلغاء الإعلان الحالي." -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "تعديل القناة التي يستخدمها البوت للإعلانات." -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "تم تحديث قناة الإعلانات إلى {channel.mention}" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "تم تمكين الإعلانات في السيرفر." -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "سيرفر {guild.name} سيتلقى إعلانات الآن." -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "سيرفر {guild.name} لن يتلقى إعلانات." -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "إضافة رتبة لنفسك.\n\n" -" يجب على أدمن السيرفر أولاً إضافة الرتبة.\n\n" -" ملاحظة: الرتبة حساسة لحالة الأحرف!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "إزالة رتبة ذاتية من نفسك.\n\n" -" ملاحظة: الرتبة حساسة لحالة الأحرف!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "إضافة رتبة إلى قائمة الرتب الذاتية.\n\n" -" ملاحظة: الرتبة حساسة لحالة الأحرف!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "تم تحديث/تعديل قائمة الرتب الذاتية بنجاح." -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "إزالة الرتبة من قائمة الرتب الذاتية.\n\n" -" ملاحظة: الرتبة حساسة لحالة الأحرف!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " -msgstr "\n" -"قائمة بجميع الرتب الذاتية. " +msgid "\\n Lists all available selfroles.\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" -msgstr "الرتب الذاتية المتوفرة:\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" +msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." msgstr "قفل البوت للسيرفر الحالي فقط." -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." msgstr "لم يعد البوت مقفول للسيرفر الحالي فقط." -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." msgstr "لقد تم قفل البوت للسيرفر الحالي فقط." diff --git a/redbot/cogs/admin/locales/bg-BG.po b/redbot/cogs/admin/locales/bg-BG.po index 90928144f..acd706665 100644 --- a/redbot/cogs/admin/locales/bg-BG.po +++ b/redbot/cogs/admin/locales/bg-BG.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Bulgarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -21,169 +21,154 @@ msgid "I attempted to do something that Discord denied me permissions for. Your msgstr "" #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:43 msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." msgstr "" -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." msgstr "" -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "" + +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:127 -msgid "I successfully removed {role.name} from {member.display_name}" +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" msgstr "" #: redbot/cogs/admin/admin.py:138 -#, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "I successfully removed {role.name} from {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:169 +#, docstring +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." msgstr "" -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." -msgstr "" +msgstr "Завършено." -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "" - -#: redbot/cogs/admin/admin.py:235 -#, docstring -msgid "Announce a message to all servers the bot is in." -msgstr "" - -#: redbot/cogs/admin/admin.py:242 -msgid "The announcement has begun." +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " msgstr "" #: redbot/cogs/admin/admin.py:250 #, docstring +msgid "Announce a message to all servers the bot is in." +msgstr "" + +#: redbot/cogs/admin/admin.py:257 +msgid "The announcement has begun." +msgstr "" + +#: redbot/cogs/admin/admin.py:265 +#, docstring msgid "Cancel a running announce." msgstr "" -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "" -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "" -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "" -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "" -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " +msgid "\\n Lists all available selfroles.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." msgstr "" -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." msgstr "" -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." msgstr "" diff --git a/redbot/cogs/admin/locales/cs-CZ.po b/redbot/cogs/admin/locales/cs-CZ.po new file mode 100644 index 000000000..c44c33354 --- /dev/null +++ b/redbot/cogs/admin/locales/cs-CZ.po @@ -0,0 +1,186 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: cs\n" +"X-Crowdin-File: /cogs/admin/locales/messages.pot\n" +"Language: cs_CZ\n" + +#: redbot/cogs/admin/admin.py:17 +msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete." +msgstr "Pokusil jsem se udělat něco, co mi Discord odepřel. Tvůj příkaz se nepodažilo úspěšně dokončit." + +#: redbot/cogs/admin/admin.py:22 +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:29 +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:43 +msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." +msgstr "Už něco oznamuji. Pokud bys rád provedl jiné oznámení, nejdříve použij `{prefix}announce cancel`." + +#: redbot/cogs/admin/admin.py:53 +#, docstring +msgid "A collection of server administration utilities." +msgstr "Kolekce nástrojů pro správu serveru." + +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "" + +#: redbot/cogs/admin/admin.py:121 +msgid "I successfully added {role.name} to {member.display_name}" +msgstr "Úspěšně jsem přidal {role.name} k {member.display_name}" + +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" +msgstr "" + +#: redbot/cogs/admin/admin.py:138 +msgid "I successfully removed {role.name} from {member.display_name}" +msgstr "Úspěšně jsem odstranil {role.name} od {member.display_name}" + +#: redbot/cogs/admin/admin.py:149 +#, docstring +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:169 +#, docstring +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:187 +#, docstring +msgid "Edit role settings." +msgstr "Upraví nastavení role." + +#: redbot/cogs/admin/admin.py:194 +#, docstring +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 +msgid "Done." +msgstr "Hotovo." + +#: redbot/cogs/admin/admin.py:222 +#, docstring +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:250 +#, docstring +msgid "Announce a message to all servers the bot is in." +msgstr "" + +#: redbot/cogs/admin/admin.py:257 +msgid "The announcement has begun." +msgstr "" + +#: redbot/cogs/admin/admin.py:265 +#, docstring +msgid "Cancel a running announce." +msgstr "" + +#: redbot/cogs/admin/admin.py:271 +msgid "The current announcement has been cancelled." +msgstr "" + +#: redbot/cogs/admin/admin.py:277 +#, docstring +msgid "Change the channel to which the bot makes announcements." +msgstr "" + +#: redbot/cogs/admin/admin.py:283 +msgid "The announcement channel has been set to {channel.mention}" +msgstr "" + +#: redbot/cogs/admin/admin.py:290 +#, docstring +msgid "Toggle announcements being enabled this server." +msgstr "" + +#: redbot/cogs/admin/admin.py:296 +msgid "The server {guild.name} will receive announcements." +msgstr "" + +#: redbot/cogs/admin/admin.py:300 +msgid "The server {guild.name} will not receive announcements." +msgstr "" + +#: redbot/cogs/admin/admin.py:326 +#, docstring +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:337 +#, docstring +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:347 +#, docstring +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 +msgid "The selfroles list has been successfully modified." +msgstr "" + +#: redbot/cogs/admin/admin.py:360 +#, docstring +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:371 +#, docstring +msgid "\\n Lists all available selfroles.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" +msgstr "" + +#: redbot/cogs/admin/admin.py:394 +#, docstring +msgid "Lock a bot to its current servers only." +msgstr "" + +#: redbot/cogs/admin/admin.py:399 +msgid "The bot is no longer serverlocked." +msgstr "" + +#: redbot/cogs/admin/admin.py:401 +msgid "The bot is now serverlocked." +msgstr "" + +#: redbot/cogs/admin/announcer.py:70 +msgid "I could not announce to server: {server.id}" +msgstr "" + +#: redbot/cogs/admin/converters.py:25 +msgid "The Admin cog is not loaded." +msgstr "" + +#: redbot/cogs/admin/converters.py:34 +msgid "The provided role is not a valid selfrole." +msgstr "" + diff --git a/redbot/cogs/admin/locales/da-DK.po b/redbot/cogs/admin/locales/da-DK.po index b69bcc917..55068b9f3 100644 --- a/redbot/cogs/admin/locales/da-DK.po +++ b/redbot/cogs/admin/locales/da-DK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -21,169 +21,154 @@ msgid "I attempted to do something that Discord denied me permissions for. Your msgstr "" #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:43 msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." msgstr "" -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." msgstr "" -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "" + +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:127 -msgid "I successfully removed {role.name} from {member.display_name}" +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" msgstr "" #: redbot/cogs/admin/admin.py:138 -#, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "I successfully removed {role.name} from {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:169 +#, docstring +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." msgstr "" -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." msgstr "" -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "" - -#: redbot/cogs/admin/admin.py:235 -#, docstring -msgid "Announce a message to all servers the bot is in." -msgstr "" - -#: redbot/cogs/admin/admin.py:242 -msgid "The announcement has begun." +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " msgstr "" #: redbot/cogs/admin/admin.py:250 #, docstring +msgid "Announce a message to all servers the bot is in." +msgstr "" + +#: redbot/cogs/admin/admin.py:257 +msgid "The announcement has begun." +msgstr "" + +#: redbot/cogs/admin/admin.py:265 +#, docstring msgid "Cancel a running announce." msgstr "" -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "" -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "" -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "" -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "" -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " +msgid "\\n Lists all available selfroles.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." msgstr "" -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." msgstr "" -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." msgstr "" diff --git a/redbot/cogs/admin/locales/de-DE.po b/redbot/cogs/admin/locales/de-DE.po index f07f5d486..486659d2d 100644 --- a/redbot/cogs/admin/locales/de-DE.po +++ b/redbot/cogs/admin/locales/de-DE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -21,194 +21,154 @@ msgid "I attempted to do something that Discord denied me permissions for. Your msgstr "Ich habe versucht etwas zu tun, für das mir Discord die Befugnis verweigerte. Dein Befehl konnte nicht erfolgreich ausgeführt werden." #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." -msgstr "Ich versuchte die Rolle {role.name} an {member.display_name} zu geben, aber die Rolle ist höher als meine höchste Rolle in der Discord Hierarchie, daher war es mir nicht möglich sie hinzuzufügen. Bitte gib mir eine höhere Rolle und versuche es erneut." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgstr "Ich habe versucht {member.display_name} er Rolle: {role.name} {verb}, aber diese Rolle hat höhere Rechte als ich. Also war es nicht möglich die Rolle erfolgreich hinzuzufügen. Bitte geb mir eine höhere Rolle und versuche es erneut." #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." -msgstr "Ich versuchte die Rolle {role.name} an {member.display_name} zu geben, aber die Rolle ist höher als deine höchste Rolle in der Discord Hierarchie, daher war es mir nicht möglich sie hinzuzufügen. Bitte gib dir selbst eine höhere Rolle und versuche es erneut." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "Ich habe versucht die Rolle {role.name} an {member.display_name} zu {verb}, aber die Rolle ist höher als meine Rolle in der Discord Hierarchie, daher war es mir nicht möglich sie hinzuzufügen. Bitte gib mir eine höhere Rolle und versuche es erneut." #: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "Ich habe versucht {role.name} zu bearbeiten, aber die Rolle ist höher als deine höhste Rolle im Discord. Also konnte ich dies nicht erfolgreich hinzufügen. Versuche es mit einer höheren Rolle erneut." + +#: redbot/cogs/admin/admin.py:43 msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." msgstr "Ich kündige bereits etwas an. Wenn du eine andere Ankündigung machen willst, benutze bitte zuerst `{prefix}announce cancel`." -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." msgstr "Eine Sammlung von administrativen Server-Verwaltungsprogramme." -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "hinzuzufügen" + +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" msgstr "Ich habe erfolgreich {role.name} zu {member.display_name} hinzugefügt" -#: redbot/cogs/admin/admin.py:127 +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" +msgstr "entfernen" + +#: redbot/cogs/admin/admin.py:138 msgid "I successfully removed {role.name} from {member.display_name}" msgstr "Ich habe erfolgreich {role.name} von {member.display_name} entfernt" -#: redbot/cogs/admin/admin.py:138 +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " -msgstr "Gebe einem Benutzer ein Rolle.\n\n" -" Wenn kein Benutzer angegeben wird, wird standardmäßig der Autor des Befehls gewählt.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:169 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " -msgstr "Entferne eine Rolle von einem Benutzer.\n\n" -" Wenn kein Benutzer angegeben wird, wird standardmäßig der Autor des Befehls gewählt.\n" -" " +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." msgstr "Bearbeiten der Rollen Einstellungen." -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " -msgstr "Bearbeite die Farbe einer Rolle.\n\n" -" Benutze Anführungszeichen wenn die Rolle ein Leerzeichen enthält.\n" -" Die Farbe muss im Hexadezimal Format angegeben werden.\n" -" [Online Farbwähler]()\n\n" -" Beispiele:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." msgstr "Erledigt." -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "Bearbeite den Namen einer Rolle.\n\n" -" Benutze Anführungszeichen wenn die Rolle Leerzeichen enthält.\n\n" -" Beispiele:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:235 +#: redbot/cogs/admin/admin.py:250 #, docstring msgid "Announce a message to all servers the bot is in." msgstr "Mache eine Ankündigung auf allen Servern auf denen der Bot ist." -#: redbot/cogs/admin/admin.py:242 +#: redbot/cogs/admin/admin.py:257 msgid "The announcement has begun." msgstr "Die Ankündigung hat begonnen." -#: redbot/cogs/admin/admin.py:250 +#: redbot/cogs/admin/admin.py:265 #, docstring msgid "Cancel a running announce." msgstr "Breche eine laufende Ankündigung ab." -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "Die aktuelle Ankündigung wurde abgebrochen." -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "Ändere den Kanal in dem der Bot Ankündigungen macht." -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "Der für Ankündigungen gewählte Kanal wurde festgelegt auf {channel.mention}" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "Schaltet Ankündigungen auf diesem Server ein oder aus." -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "Der Server {guild.name} wird Ankündigunen erhalten." -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "Der Server {guild.name} wird keine Ankündigunen erhalten." -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "Gib dir selbst eine Rolle.\n\n" -" Server Admins müssen die Rolle für Nutzer freigeben.\n\n" -" HINWEIS: Die Rolle beachtet Groß- und Kleinschreibung!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "Entferne eine auswählbare Rolle von dir selbst.\n\n" -" HINWEIS: Die Rolle beachtet Groß- und Kleinschreibung!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "Füge eine Rolle zur Liste der selbst auswählbaren Rollen hinzu.\n\n" -" HINWEIS: Die Rolle beachtet Groß- und Kleinschreibung!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "Die Liste selbst auswählbarer Rollen wurde erfolgreich bearbeitet." -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "Entferne eine selbst auswählbare Rolle von der Liste für verfügbare Rollen.\n\n" -" HINWEIS: Die Rolle beachtet Groß- und Kleinschreibung!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " -msgstr "\n" -"Gibt eine Liste verfügbarer selbst auswählbarer Rollen aus. " +msgid "\\n Lists all available selfroles.\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" -msgstr "Verfügbare selbst auswählbare Rollen: {selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" +msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." msgstr "Sperrt den Bot neuen Servern beizutreten." -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." msgstr "Der Bot ist nicht länger gesperrt neuen Servern beizutreten." -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." msgstr "Der Bot ist jetzt gesperrt neuen Servern beizutreten." diff --git a/redbot/cogs/admin/locales/el-GR.po b/redbot/cogs/admin/locales/el-GR.po index 3766e63f0..1a913ff37 100644 --- a/redbot/cogs/admin/locales/el-GR.po +++ b/redbot/cogs/admin/locales/el-GR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -21,169 +21,154 @@ msgid "I attempted to do something that Discord denied me permissions for. Your msgstr "" #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:43 msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." msgstr "" -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." msgstr "" -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "" + +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:127 -msgid "I successfully removed {role.name} from {member.display_name}" +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" msgstr "" #: redbot/cogs/admin/admin.py:138 -#, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "I successfully removed {role.name} from {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:169 +#, docstring +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." msgstr "" -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." msgstr "" -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "" - -#: redbot/cogs/admin/admin.py:235 -#, docstring -msgid "Announce a message to all servers the bot is in." -msgstr "" - -#: redbot/cogs/admin/admin.py:242 -msgid "The announcement has begun." +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " msgstr "" #: redbot/cogs/admin/admin.py:250 #, docstring +msgid "Announce a message to all servers the bot is in." +msgstr "" + +#: redbot/cogs/admin/admin.py:257 +msgid "The announcement has begun." +msgstr "" + +#: redbot/cogs/admin/admin.py:265 +#, docstring msgid "Cancel a running announce." msgstr "" -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "" -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "" -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "" -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "" -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " +msgid "\\n Lists all available selfroles.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." msgstr "" -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." msgstr "" -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." msgstr "" diff --git a/redbot/cogs/admin/locales/en-PT.po b/redbot/cogs/admin/locales/en-PT.po index 689ac1119..658118504 100644 --- a/redbot/cogs/admin/locales/en-PT.po +++ b/redbot/cogs/admin/locales/en-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Pirate English\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -21,169 +21,154 @@ msgid "I attempted to do something that Discord denied me permissions for. Your msgstr "" #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:43 msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." msgstr "" -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." msgstr "" -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "" + +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:127 -msgid "I successfully removed {role.name} from {member.display_name}" +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" msgstr "" #: redbot/cogs/admin/admin.py:138 -#, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "I successfully removed {role.name} from {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:169 +#, docstring +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." msgstr "" -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." -msgstr "" +msgstr "Done." -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "" - -#: redbot/cogs/admin/admin.py:235 -#, docstring -msgid "Announce a message to all servers the bot is in." -msgstr "" - -#: redbot/cogs/admin/admin.py:242 -msgid "The announcement has begun." +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " msgstr "" #: redbot/cogs/admin/admin.py:250 #, docstring +msgid "Announce a message to all servers the bot is in." +msgstr "" + +#: redbot/cogs/admin/admin.py:257 +msgid "The announcement has begun." +msgstr "" + +#: redbot/cogs/admin/admin.py:265 +#, docstring msgid "Cancel a running announce." msgstr "" -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "" -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "" -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "" -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "" -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " +msgid "\\n Lists all available selfroles.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." msgstr "" -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." msgstr "" -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." msgstr "" diff --git a/redbot/cogs/admin/locales/es-ES.po b/redbot/cogs/admin/locales/es-ES.po index 5d169b6bb..d4c097747 100644 --- a/redbot/cogs/admin/locales/es-ES.po +++ b/redbot/cogs/admin/locales/es-ES.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -21,192 +21,166 @@ msgid "I attempted to do something that Discord denied me permissions for. Your msgstr "Intenté hacer algo que Discord me ha negado el permiso. Su comando no se pudo completar." #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." -msgstr "He intentado agregar {role.name} a {member.display_name} pero ese rol es más alto que mi rol en la jerarquía de Discord, por lo que no he podido añadirlo con éxito. Por favor dame un rol más alto y vuelva a intentarlo." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgstr "He intentado agregar {verb} {role.name} a {member.display_name} pero ese rol es más alto que mi rol en la jerarquía de Discord, por lo que no he podido añadirlo con éxito. Por favor dame un rol más alto y vuelva a intentarlo." #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." -msgstr "" +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "He intentado agregar {verb} {role.name} a {member.display_name} pero ese rol es más alto que mi rol en la jerarquía de Discord, por lo que no he podido añadirlo con éxito. Por favor dame un rol más alto y vuelva a intentarlo." #: redbot/cogs/admin/admin.py:36 -msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." -msgstr "" +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "He intentado agregar {role.name} a pero ese rol es más alto que mi rol en la jerarquía de Discord, por lo que no he podido añadirlo con éxito. Por favor dame un rol más alto y vuelva a intentarlo." -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:43 +msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." +msgstr "Ya estoy anunciando algo. Si quieres hacer un anuncio diferente, por favor usa `{prefix}announce cancel` primero." + +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." -msgstr "" +msgstr "Una colección de utilidades de administración de servidores." -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "añadir" + +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" msgstr "He añadido con éxito {role.name} a {member.display_name}" -#: redbot/cogs/admin/admin.py:127 +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" +msgstr "eliminar" + +#: redbot/cogs/admin/admin.py:138 msgid "I successfully removed {role.name} from {member.display_name}" msgstr "He retirado con éxito {role.name} de {member.display_name}" -#: redbot/cogs/admin/admin.py:138 +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " -msgstr "" +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "Añadir un rol a un usuario.\\n\\n Si el usuario se deja en blanco, por defecto se convierte en autor del comando.\\n " -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:169 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " -msgstr "" +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "Eliminar un rol de un usuario.\\n\\n Si el usuario se deja en blanco, por defecto se convierte en autor del comando.\\n " -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." msgstr "Editar configuración de rol." -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " -msgstr "Editar el color de un rol.\n\n" -" Usa comillas dobles si el rol contiene espacios.\n" -" El color debe estar en formato hexadecimal.\n" -" [Selector de color En-Linea](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"El Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." msgstr "Listo." -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "Editar el nombre de un rol.\n\n" -" Usa dobles comillas si el rol o el nombre contiene espacios.\n\n" -" Ejemplos:\n" -" `[p]editrole name \"El Transistor\" Test`\n" -" " - -#: redbot/cogs/admin/admin.py:235 -#, docstring -msgid "Announce a message to all servers the bot is in." -msgstr "Anunciar un mensaje a todos los servidores en que el bot está." - -#: redbot/cogs/admin/admin.py:242 -msgid "The announcement has begun." +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " msgstr "" #: redbot/cogs/admin/admin.py:250 #, docstring +msgid "Announce a message to all servers the bot is in." +msgstr "Anunciar un mensaje a todos los servidores en que el bot está." + +#: redbot/cogs/admin/admin.py:257 +msgid "The announcement has begun." +msgstr "" + +#: redbot/cogs/admin/admin.py:265 +#, docstring msgid "Cancel a running announce." msgstr "" -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "" -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "" -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "" -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "" -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " +msgid "\\n Lists all available selfroles.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." msgstr "" -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." msgstr "" -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." -msgstr "" +msgstr "El bot está bloqueado por el servidor." #: redbot/cogs/admin/announcer.py:70 msgid "I could not announce to server: {server.id}" -msgstr "" +msgstr "No pude anunciar en servidor: {server.id}" #: redbot/cogs/admin/converters.py:25 msgid "The Admin cog is not loaded." -msgstr "" +msgstr "El cog Admin no está cargado." #: redbot/cogs/admin/converters.py:34 msgid "The provided role is not a valid selfrole." -msgstr "" +msgstr "El rol proporcionado no es un selfrole válido." diff --git a/redbot/cogs/admin/locales/fi-FI.po b/redbot/cogs/admin/locales/fi-FI.po index d6eddf479..179bdf45b 100644 --- a/redbot/cogs/admin/locales/fi-FI.po +++ b/redbot/cogs/admin/locales/fi-FI.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -18,172 +18,157 @@ msgstr "" #: redbot/cogs/admin/admin.py:17 msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete." -msgstr "" +msgstr "Yritin tehdä jotain, jonka Discord kielsi minulle luvat. Komento epäonnistui onnistuneesti." #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." -msgstr "" +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgstr "Yritin {verb} {role.name} kohtaan {member.display_name}, mutta tämä rooli on suurempi kuin korkein roolini Discord-hierarkiassa, joten en voinut lisätä sitä onnistuneesti. Anna minulle suurempi rooli ja yritä uudelleen." #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." -msgstr "" +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "Yritin {verb} {role.name} kohtaan {member.display_name}, mutta tämä rooli on korkeampi kuin korkein rooli Discord-hierarkiassa, joten en voinut lisätä sitä onnistuneesti. Hanki suurempi rooli ja yritä uudelleen." #: redbot/cogs/admin/admin.py:36 -msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." -msgstr "" +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "Yritin muokata {role.name}, mutta tämä rooli on korkeampi kuin korkein rooli Discord-hierarkiassa, joten en voinut lisätä sitä onnistuneesti. Hanki suurempi rooli ja yritä uudelleen." -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:43 +msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." +msgstr "Olen jo ilmoittanut jotain. Jos haluat tehdä toisen ilmoituksen, käytä ensin \"{prefix} announce cancel\"." + +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." -msgstr "" +msgstr "Kokoelma palvelinhallintaohjelmia." -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "lisätä" + +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" -msgstr "" +msgstr "Lisäsin {role.name} onnistuneesti {member.display_name}" -#: redbot/cogs/admin/admin.py:127 -msgid "I successfully removed {role.name} from {member.display_name}" -msgstr "" +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" +msgstr "poistaa" #: redbot/cogs/admin/admin.py:138 +msgid "I successfully removed {role.name} from {member.display_name}" +msgstr "Olen poistanut {role.name} onnistuneesti {member.display_name}" + +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:169 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." -msgstr "" +msgstr "Muokkaa rooliasetuksia." -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." -msgstr "" +msgstr "Tehty." -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "" - -#: redbot/cogs/admin/admin.py:235 -#, docstring -msgid "Announce a message to all servers the bot is in." -msgstr "" - -#: redbot/cogs/admin/admin.py:242 -msgid "The announcement has begun." +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " msgstr "" #: redbot/cogs/admin/admin.py:250 #, docstring +msgid "Announce a message to all servers the bot is in." +msgstr "Ilmoita viesti kaikille palvelimille, joihin botti on." + +#: redbot/cogs/admin/admin.py:257 +msgid "The announcement has begun." +msgstr "" + +#: redbot/cogs/admin/admin.py:265 +#, docstring msgid "Cancel a running announce." msgstr "" -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "" -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "" -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "" -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "" -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " +msgid "\\n Lists all available selfroles.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." msgstr "" -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." msgstr "" -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." msgstr "" diff --git a/redbot/cogs/admin/locales/fr-FR.po b/redbot/cogs/admin/locales/fr-FR.po index 987f1b687..c65638e2e 100644 --- a/redbot/cogs/admin/locales/fr-FR.po +++ b/redbot/cogs/admin/locales/fr-FR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:11\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -21,197 +21,156 @@ msgid "I attempted to do something that Discord denied me permissions for. Your msgstr "J'ai tenté de faire quelque chose que pour lequel Discord m'a refusé les permissions. La commande a échoué." #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." -msgstr "J'ai tenté d'ajouter le rôle {role.name} à {member.display_name} mais ce rôle est plus élevé que le mien dans la hiérarchie des rôles de ce serveur. Je n'ai donc pas pu l'ajouter. Tu peux réessayer en me donnant un rôle plus élevé." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgstr "J'ai essayé de {verb} {role.name} à {member.display_name} mais ce rôle est plus élevé que mon rôle le plus élevé dans la hiérarchie Discord, je n'ai donc pas réussi à l'ajouter. Donnez-moi un rôle plus élevé et réessayez." #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." -msgstr "J'ai tenté d'ajouter le rôle {role.name} à {member.display_name} mais ce rôle est plus élevé que le tien dans la hiérarchie des rôles de ce serveur. Je n'ai donc pas pu l'ajouter. Tu peux réessayer mais il faudra d'abord que tu obtiennes un rôle plus élevé." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "J'ai essayé de {verb} {role.name} à {member.display_name} mais ce rôle est plus élevé que votre rôle le plus élevé dans la hiérarchie Discord donc je n'ai pas réussi à l'ajouter. Essayez à nouveau avec un rôle plus élevé." #: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "J'ai essayé d'éditer {role.name} mais ce rôle est plus élevé que votre rôle le plus élevé dans la hiérarchie Discord et je n'ai donc pas réussi à l'ajouter. Essayez à nouveau avec un rôle plus élevé." + +#: redbot/cogs/admin/admin.py:43 msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." msgstr "Je suis déjà en train d'annoncer quelque chose. Si tu souhaites faire une annonce différente, tu dois d'abord utiliser la commande `{prefix}announce cancel`." -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." msgstr "Un ensemble d'utilitaires d'administration du serveur." -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "ajouter" + +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" msgstr "J'ai bien ajouté le rôle {role.name} à {member.display_name}" -#: redbot/cogs/admin/admin.py:127 +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" +msgstr "supprimer" + +#: redbot/cogs/admin/admin.py:138 msgid "I successfully removed {role.name} from {member.display_name}" msgstr "J'ai bien retiré le rôle {role.name} de {member.display_name}" -#: redbot/cogs/admin/admin.py:138 +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " -msgstr "Ajouter un rôle à un utilisateur.\n\n" -" Si aucun utilisateur n'est mentionné dans la commande, celle-ci fera effet sur l'auteur.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "Ajouter un rôle à un utilisateur.\\n\\n Si aucun utilisateur n'est mentionné dans la commande, celui-ci fera effet sur l'auteur.\\n " -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:169 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " -msgstr "Retirer un rôle à un utilisateur.\n\n" -" Si aucun utilisateur n'est mentionné dans la commande, celle-ci fera effet sur l'auteur.\n" -" " +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "Retirer un rôle à un utilisateur.\\n\\n Si aucun utilisateur n'est mentionné dans la commande, celui-ci fera effet sur l'auteur.\\n " -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." msgstr "Modifier les paramètres d'un rôle." -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " -msgstr "Modifier la couleur d'un rôle.\n\n" -" Utilise des guillemets si le nom du rôle contient des espaces.\n" -" La couleur doit être au format hexadécimal\n" -" [Sélecteur de couleur en ligne](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Exemples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " +msgstr "Modifier la couleur d'un rôle.\\n\\n Utilise des guillemets si le nom du rôle contient des espaces.\\n La couleur doit être au format hexadécimal\\n [Sélecteur de couleur en ligne](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Exemples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." msgstr "Fait." -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "Modifier le nom d'un rôle.\n\n" -" Utilise des guillemets si le nom du rôle contient des espaces.\n\n" -" Exemples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " +msgstr "Modifier le nom d'un rôle.\\n\\n Utilise des guillemets si le nom du rôle contient des espaces.\\n\\n Exemples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " -#: redbot/cogs/admin/admin.py:235 +#: redbot/cogs/admin/admin.py:250 #, docstring msgid "Announce a message to all servers the bot is in." msgstr "Faire une annonce à tous les serveurs dans lesquels le bot se trouve." -#: redbot/cogs/admin/admin.py:242 +#: redbot/cogs/admin/admin.py:257 msgid "The announcement has begun." msgstr "L’annonce a commencé." -#: redbot/cogs/admin/admin.py:250 +#: redbot/cogs/admin/admin.py:265 #, docstring msgid "Cancel a running announce." msgstr "Interrompre une annonce en cours." -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "L'annonce actuelle a été interrompue." -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "Changer le salon dans lequel le bot fait des annonces." -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "Les annonces seront maintenant faites dans {channel.mention}" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "Activer ou désactiver les annonces sur ce serveur." -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "Le serveur {guild.name} recevra maintenant les annonces." -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "Le serveur {guild.name} ne recevra plus les annonces." -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "S'ajouter un rôle à soi-même.\n\n" -" Les administrateurs du serveur doivent avoir configuré le rôle en tant qu'ajoutable par les utilisateurs.\n\n" -" NOTE: Le nom du rôle est sensible à la casse!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "S'ajouter un rôle à soi-même.\\n\\n Les administrateurs du serveur doivent avoir configuré le rôle en tant qu'ajoutable par les utilisateurs.\\n\\n NOTE : Le nom du rôle est sensible aux majuscules et minuscules !\\n " -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "Se supprimer un auto-rôle.\n\n" -" NOTE: Le rôle est sensible à la casse! " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "Se supprimer un auto-rôle.\\n\\n NOTE : Le rôle est sensible aux majuscules et minuscules !\\n " -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "Ajouter un rôle à la liste des auto-rôles disponibles.\n\n" -" NOTE : le nom du rôle est sensible à la casse !\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "Ajouter un rôle à la liste des auto-rôles disponibles.\\n\\n NOTE : Le nom du rôle est sensible aux majuscules et minuscules !\\n " -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "La liste des auto-rôles a été modifiée avec succès." -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "Supprimer un rôle de la liste des auto-rôles.\n\n" -" NOTE : Le nom du rôle est sensible à la casse !\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "Supprimer un rôle de la liste des auto-rôles.\\n\\n NOTE : Le nom du rôle est sensible aux majuscules et minuscules !\\n " -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " -msgstr "\n" -" Liste de tous les auto-rôles disponibles.\n" -" " +msgid "\\n Lists all available selfroles.\\n " +msgstr "\\n Liste de tous les auto-rôles disponibles.\\n " -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" -msgstr "Auto-rôles disponibles :\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" +msgstr "Auto-rôles disponibles :\\n{selfroles}" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." -msgstr "Verrouiller le bot sur les serveurs où il est actuellement présent." +msgstr "Verrouiller un bot sur ses serveurs actuels uniquement." -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." -msgstr "Le bot n'est plus verrouillé sur ses serveurs." +msgstr "Le bot n'est plus verrouillé sur ses serveurs actuels." -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." -msgstr "Le bot est maintenant verrouillé sur ses serveurs." +msgstr "Le bot est maintenant verrouillé sur ses serveurs actuels." #: redbot/cogs/admin/announcer.py:70 msgid "I could not announce to server: {server.id}" @@ -219,7 +178,7 @@ msgstr "Je n'ai pas pu faire d'annonce dans le serveur: {server.id}" #: redbot/cogs/admin/converters.py:25 msgid "The Admin cog is not loaded." -msgstr "Le module Admin n'est pas chargé." +msgstr "Le cog Admin n'est pas chargé." #: redbot/cogs/admin/converters.py:34 msgid "The provided role is not a valid selfrole." diff --git a/redbot/cogs/admin/locales/hu-HU.po b/redbot/cogs/admin/locales/hu-HU.po index 2548a582a..a80949e88 100644 --- a/redbot/cogs/admin/locales/hu-HU.po +++ b/redbot/cogs/admin/locales/hu-HU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -21,169 +21,154 @@ msgid "I attempted to do something that Discord denied me permissions for. Your msgstr "" #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:43 msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." msgstr "" -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." msgstr "" -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "" + +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:127 -msgid "I successfully removed {role.name} from {member.display_name}" +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" msgstr "" #: redbot/cogs/admin/admin.py:138 -#, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "I successfully removed {role.name} from {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:169 +#, docstring +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." msgstr "" -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." -msgstr "" +msgstr "Kész." -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "" - -#: redbot/cogs/admin/admin.py:235 -#, docstring -msgid "Announce a message to all servers the bot is in." -msgstr "" - -#: redbot/cogs/admin/admin.py:242 -msgid "The announcement has begun." +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " msgstr "" #: redbot/cogs/admin/admin.py:250 #, docstring +msgid "Announce a message to all servers the bot is in." +msgstr "" + +#: redbot/cogs/admin/admin.py:257 +msgid "The announcement has begun." +msgstr "" + +#: redbot/cogs/admin/admin.py:265 +#, docstring msgid "Cancel a running announce." msgstr "" -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "" -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "" -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "" -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "" -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " +msgid "\\n Lists all available selfroles.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." msgstr "" -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." msgstr "" -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." msgstr "" diff --git a/redbot/cogs/admin/locales/id-ID.po b/redbot/cogs/admin/locales/id-ID.po index f4473c358..f5b2d5cf6 100644 --- a/redbot/cogs/admin/locales/id-ID.po +++ b/redbot/cogs/admin/locales/id-ID.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -21,169 +21,154 @@ msgid "I attempted to do something that Discord denied me permissions for. Your msgstr "" #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:43 msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." msgstr "" -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." msgstr "" -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "menambahkan" + +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:127 +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" +msgstr "menghapus" + +#: redbot/cogs/admin/admin.py:138 msgid "I successfully removed {role.name} from {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:138 +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:169 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." msgstr "" -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." -msgstr "" +msgstr "Selesai." -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "" - -#: redbot/cogs/admin/admin.py:235 -#, docstring -msgid "Announce a message to all servers the bot is in." -msgstr "" - -#: redbot/cogs/admin/admin.py:242 -msgid "The announcement has begun." +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " msgstr "" #: redbot/cogs/admin/admin.py:250 #, docstring +msgid "Announce a message to all servers the bot is in." +msgstr "" + +#: redbot/cogs/admin/admin.py:257 +msgid "The announcement has begun." +msgstr "" + +#: redbot/cogs/admin/admin.py:265 +#, docstring msgid "Cancel a running announce." msgstr "" -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "" -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "" -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "" -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "" -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " +msgid "\\n Lists all available selfroles.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." msgstr "" -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." msgstr "" -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." msgstr "" diff --git a/redbot/cogs/admin/locales/it-IT.po b/redbot/cogs/admin/locales/it-IT.po index 97d740500..0545fe696 100644 --- a/redbot/cogs/admin/locales/it-IT.po +++ b/redbot/cogs/admin/locales/it-IT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -18,184 +18,169 @@ msgstr "" #: redbot/cogs/admin/admin.py:17 msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete." -msgstr "" +msgstr "Ho cercato di fare qualcosa ma Discord mi ha negato i permessi per farla. Il tuo comando non è stato completato con successo." #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." -msgstr "" +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgstr "Ho cercato di {verb} {role.name} al gruppo {member.display_name} ma quel ruolo è più elevato del mio livello nella gerarchia di Discord quindi non sono stato in grado di aggiungerlo. prova a darmi un ruolo più alto e riprova." #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." -msgstr "" +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "Ho cercato di {verb} {role.name} al gruppo {member.display_name} ma quel ruolo è più elevato del tuo livello nella gerarchia di Discord quindi non sono stato in grado di aggiungerlo. Raggiungi un ruolo più alto e riprova." #: redbot/cogs/admin/admin.py:36 -msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." -msgstr "" +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "Ho cercato di modificare {role.name} ma quel ruolo è più elevato del tuo livello nella gerarchia di Discord quindi non sono stato in grado di aggiungerlo. Raggiungi un ruolo più alto e riprova." -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:43 +msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." +msgstr "Sto già annunciando qualcosa. Se desideri fare un annuncio diverso, usa prima `{prefix}announce cancel`." + +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." -msgstr "" +msgstr "Una collezione di servizi di amministrazione del server." -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "aggiungere" + +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" -msgstr "" +msgstr "Ho aggiunto con successo {role.name} al gruppo {member.display_name}" -#: redbot/cogs/admin/admin.py:127 -msgid "I successfully removed {role.name} from {member.display_name}" -msgstr "" +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" +msgstr "rimuovere" #: redbot/cogs/admin/admin.py:138 +msgid "I successfully removed {role.name} from {member.display_name}" +msgstr "Ho rimosso con successo {role.name} dal gruppo {member.display_name}" + +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:169 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." -msgstr "" +msgstr "Modifica impostazioni ruolo." -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." -msgstr "" +msgstr "Fatto." -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "" - -#: redbot/cogs/admin/admin.py:235 -#, docstring -msgid "Announce a message to all servers the bot is in." -msgstr "" - -#: redbot/cogs/admin/admin.py:242 -msgid "The announcement has begun." +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " msgstr "" #: redbot/cogs/admin/admin.py:250 #, docstring +msgid "Announce a message to all servers the bot is in." +msgstr "Invia un annuncio a tutti i server in cui si trova il bot." + +#: redbot/cogs/admin/admin.py:257 +msgid "The announcement has begun." +msgstr "L'annuncio è partito." + +#: redbot/cogs/admin/admin.py:265 +#, docstring msgid "Cancel a running announce." -msgstr "" +msgstr "Cancella un annuncio in corso." -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." -msgstr "" +msgstr "L'annuncio in corso è stato cancellato." -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." -msgstr "" +msgstr "Modifica il canale in cui il bot invia gli annunci." -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" -msgstr "" +msgstr "Il canale per gli annunci è stato impostato su {channel.mention}" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." -msgstr "" +msgstr "Attiva/disattiva gli annunci in questo server." -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." -msgstr "" +msgstr "Il server {guild.name} riceverà gli annunci." -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." -msgstr "" +msgstr "Il server {guild.name} non riceverà gli annunci." -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." -msgstr "" +msgstr "La lista dei ruoli autoassegnabili e stata modificata." -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " +msgid "\\n Lists all available selfroles.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." -msgstr "" +msgstr "Blocca un bot ai suoi server attuali." -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." -msgstr "" +msgstr "Il bot non è più bloccato ai server." -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." -msgstr "" +msgstr "Il bot è bloccato ai server." #: redbot/cogs/admin/announcer.py:70 msgid "I could not announce to server: {server.id}" -msgstr "" +msgstr "Non ho potuto annunciare al server: {server.id}" #: redbot/cogs/admin/converters.py:25 msgid "The Admin cog is not loaded." -msgstr "" +msgstr "Il cog Admin non è caricato." #: redbot/cogs/admin/converters.py:34 msgid "The provided role is not a valid selfrole." -msgstr "" +msgstr "Il ruolo fornito non è un ruolo autoassegnabile valido." diff --git a/redbot/cogs/admin/locales/ja-JP.po b/redbot/cogs/admin/locales/ja-JP.po index fdc719b15..5a3b85266 100644 --- a/redbot/cogs/admin/locales/ja-JP.po +++ b/redbot/cogs/admin/locales/ja-JP.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -21,169 +21,154 @@ msgid "I attempted to do something that Discord denied me permissions for. Your msgstr "私は不和が私に権限を拒否した何かをしようとしました。コマンドを正常に完了できませんでした。" #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." -msgstr "{member.display_name} に {role.name} を追加してみましたが、その役割は不和階層で私の最高の役割よりも高いので、それを正常に追加できませんでした。私に高い役割を与えるし、もう一度やり直してください。" +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgstr "" #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:43 msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." msgstr "" -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." msgstr "" -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "" + +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:127 -msgid "I successfully removed {role.name} from {member.display_name}" +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" msgstr "" #: redbot/cogs/admin/admin.py:138 -#, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "I successfully removed {role.name} from {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:169 +#, docstring +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." msgstr "" -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." msgstr "" -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "" - -#: redbot/cogs/admin/admin.py:235 -#, docstring -msgid "Announce a message to all servers the bot is in." -msgstr "" - -#: redbot/cogs/admin/admin.py:242 -msgid "The announcement has begun." +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " msgstr "" #: redbot/cogs/admin/admin.py:250 #, docstring +msgid "Announce a message to all servers the bot is in." +msgstr "" + +#: redbot/cogs/admin/admin.py:257 +msgid "The announcement has begun." +msgstr "" + +#: redbot/cogs/admin/admin.py:265 +#, docstring msgid "Cancel a running announce." msgstr "" -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "" -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "" -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "" -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "" -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " +msgid "\\n Lists all available selfroles.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." msgstr "" -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." msgstr "" -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." msgstr "" diff --git a/redbot/cogs/admin/locales/ko-KR.po b/redbot/cogs/admin/locales/ko-KR.po index 06b99fc92..1cead1779 100644 --- a/redbot/cogs/admin/locales/ko-KR.po +++ b/redbot/cogs/admin/locales/ko-KR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -21,170 +21,154 @@ msgid "I attempted to do something that Discord denied me permissions for. Your msgstr "" #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:43 msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." msgstr "" -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." msgstr "" -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "" + +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:127 -msgid "I successfully removed {role.name} from {member.display_name}" +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" msgstr "" #: redbot/cogs/admin/admin.py:138 -#, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "I successfully removed {role.name} from {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:169 +#, docstring +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." msgstr "" -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." -msgstr "" +msgstr "다 했어요." -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "" - -#: redbot/cogs/admin/admin.py:235 -#, docstring -msgid "Announce a message to all servers the bot is in." -msgstr "" - -#: redbot/cogs/admin/admin.py:242 -msgid "The announcement has begun." +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " msgstr "" #: redbot/cogs/admin/admin.py:250 #, docstring +msgid "Announce a message to all servers the bot is in." +msgstr "" + +#: redbot/cogs/admin/admin.py:257 +msgid "The announcement has begun." +msgstr "" + +#: redbot/cogs/admin/admin.py:265 +#, docstring msgid "Cancel a running announce." msgstr "" -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "" -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "" -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "" -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "" -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " -msgstr "\n" -"사용 가능한 역할들을 모두 나열할게요. " - -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" +msgid "\\n Lists all available selfroles.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" +msgstr "" + +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." msgstr "" -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." msgstr "" -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." msgstr "" diff --git a/redbot/cogs/admin/locales/lol-US.po b/redbot/cogs/admin/locales/lol-US.po index d4f29058a..235559d1b 100644 --- a/redbot/cogs/admin/locales/lol-US.po +++ b/redbot/cogs/admin/locales/lol-US.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: LOLCAT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -21,169 +21,154 @@ msgid "I attempted to do something that Discord denied me permissions for. Your msgstr "Discord sayed I can't do sometingz. Ur command faild 2 complete." #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:43 msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." msgstr "" -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." msgstr "" -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "" + +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:127 -msgid "I successfully removed {role.name} from {member.display_name}" +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" msgstr "" #: redbot/cogs/admin/admin.py:138 -#, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "I successfully removed {role.name} from {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:169 +#, docstring +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." msgstr "" -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." msgstr "" -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "" - -#: redbot/cogs/admin/admin.py:235 -#, docstring -msgid "Announce a message to all servers the bot is in." -msgstr "" - -#: redbot/cogs/admin/admin.py:242 -msgid "The announcement has begun." +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " msgstr "" #: redbot/cogs/admin/admin.py:250 #, docstring +msgid "Announce a message to all servers the bot is in." +msgstr "" + +#: redbot/cogs/admin/admin.py:257 +msgid "The announcement has begun." +msgstr "" + +#: redbot/cogs/admin/admin.py:265 +#, docstring msgid "Cancel a running announce." msgstr "" -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "" -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "" -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "" -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "" -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " +msgid "\\n Lists all available selfroles.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." msgstr "" -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." msgstr "" -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." msgstr "" diff --git a/redbot/cogs/admin/locales/nl-NL.po b/redbot/cogs/admin/locales/nl-NL.po index 377f7d0e1..1c00f9f86 100644 --- a/redbot/cogs/admin/locales/nl-NL.po +++ b/redbot/cogs/admin/locales/nl-NL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -21,189 +21,154 @@ msgid "I attempted to do something that Discord denied me permissions for. Your msgstr "Ik probeerde iets te doen, maar Discord weigerde mij toestemming te geven. Je command is geslaagd te mislukken." #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." -msgstr "Ik probeerder {role.name} toe te voegen aan {member.display_name}, maar die rol is waarschijnlijk een hogere rol dan die van mij. Ik kan de rol daarom niet toevoegen. Geef mij een hogere rol en probeer het nog eens." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgstr "" #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." -msgstr "Ik probeerder {role.name} toe te voegen aan {member.display_name}, maar die rol is waarschijnlijk een hogere rol dan die van jou. Ik kan de rol daarom niet toevoegen. Krijg een hogere rol en probeer het nog eens." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" #: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:43 msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." msgstr "Ik ben al iets aan het aankondigen. Als je iets anders wilt aankondigen, voer dan eerst deze command uit: '{prefix}announce cancel'." -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." msgstr "Een collectie van de server administratie voorzieningen." -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "" + +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" msgstr "Ik heb succesvol {role.name} toegevoegd aan {member.display_name}" -#: redbot/cogs/admin/admin.py:127 +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" +msgstr "" + +#: redbot/cogs/admin/admin.py:138 msgid "I successfully removed {role.name} from {member.display_name}" msgstr "Ik heb succesvol {role.name} verwijderd van {member.display_name}" -#: redbot/cogs/admin/admin.py:138 +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " -msgstr "Een rol toevoegen aan een lid.\n\n" -" Als je geen lid invult, dan is het automatisch de auteur van de command." +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:169 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " -msgstr "Een rol verwijderen van een lid.\n\n" -" Als je geen lid invult, dan is het automatisch de auteur van de command." +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." msgstr "Rol instellingen bewerken." -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " -msgstr "Een rolkleur bewerken.\n\n" -" Gebruik dubbele aanhalingstekens als de rol een spatie bevat.\n" -" Een kleur moet van heximaal formaat zijn.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Voorbeelden:\n" -" `[p]editrole colour \"DP Bots\" #ff0000`\n" -" `[p]editrole colour Teamlid #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." msgstr "Klaar." -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "Een rolnamen bewerken.\n\n" -" Gebruik dubbele aanhalingstekens als de rol een spatie bevat.\n\n" -" Voorbeeld: \n" -" `[p]editrole name \"DP Bots\" Bots`\n" -" " +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:235 +#: redbot/cogs/admin/admin.py:250 #, docstring msgid "Announce a message to all servers the bot is in." msgstr "Kondig een bericht aan in alle servers." -#: redbot/cogs/admin/admin.py:242 +#: redbot/cogs/admin/admin.py:257 msgid "The announcement has begun." msgstr "De aankondiging is begonnen." -#: redbot/cogs/admin/admin.py:250 +#: redbot/cogs/admin/admin.py:265 #, docstring msgid "Cancel a running announce." msgstr "Annuleer een huidige aankondiging." -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "De huidige aankondiging is geannuleerd." -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "Bewerk het kanaal waar de bot aankondigingen maakt." -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "Het aankondigingskanaal is aangepast naar {channel.mention}" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "Aankondigingen zijn geactiveerd in deze server." -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "De server {guild.name} ontvangt aankondigingen." -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "De server {guild.name} ontvangt geen aankondigingen." -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "Voeg een rol aan jezelf toe. \n\n" -" Server teamleden moeten de rol als een user settable.\n\n" -" LET OP: De rolnaam is hoofdlettergevoelig. " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "Verwijder een rol van jezelf.\n\n" -" LET OP: De rolnaam is hoofdlettergevoelig. " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "Voeg een rol toe aan de lijst met beschikbare selfroles. \n\n" -" OPMERKING: De rol is hoofdlettergevoelig!" +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "De selfroles lijst is succesvol aangepast." -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "Verwijder een rol uit de lijst met beschikbare selfroles. \n\n" -" OPMERKING: De rol is hoofdlettergevoelig!" +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " -msgstr "\n" -"Laat alle beschikbare selfroles zien." +msgid "\\n Lists all available selfroles.\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" -msgstr "Beschikbare Selfroles:\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" +msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." msgstr "Vergrendel de bot voor alleen deze server." -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." msgstr "De bot is niet langer vergrendeld." -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." msgstr "De bot is vergrendeld." diff --git a/redbot/cogs/admin/locales/no-NO.po b/redbot/cogs/admin/locales/no-NO.po index d7a9d82cb..90a09eb83 100644 --- a/redbot/cogs/admin/locales/no-NO.po +++ b/redbot/cogs/admin/locales/no-NO.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Norwegian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -21,169 +21,154 @@ msgid "I attempted to do something that Discord denied me permissions for. Your msgstr "" #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:43 msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." msgstr "" -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." msgstr "" -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "" + +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:127 -msgid "I successfully removed {role.name} from {member.display_name}" +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" msgstr "" #: redbot/cogs/admin/admin.py:138 -#, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "I successfully removed {role.name} from {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:169 +#, docstring +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." msgstr "" -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." -msgstr "" +msgstr "Ferdig." -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "" - -#: redbot/cogs/admin/admin.py:235 -#, docstring -msgid "Announce a message to all servers the bot is in." -msgstr "" - -#: redbot/cogs/admin/admin.py:242 -msgid "The announcement has begun." +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " msgstr "" #: redbot/cogs/admin/admin.py:250 #, docstring +msgid "Announce a message to all servers the bot is in." +msgstr "" + +#: redbot/cogs/admin/admin.py:257 +msgid "The announcement has begun." +msgstr "" + +#: redbot/cogs/admin/admin.py:265 +#, docstring msgid "Cancel a running announce." msgstr "" -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "" -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "" -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "" -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "" -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " +msgid "\\n Lists all available selfroles.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." msgstr "" -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." msgstr "" -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." msgstr "" diff --git a/redbot/cogs/admin/locales/pl-PL.po b/redbot/cogs/admin/locales/pl-PL.po index 3a1bd5607..efb659fd6 100644 --- a/redbot/cogs/admin/locales/pl-PL.po +++ b/redbot/cogs/admin/locales/pl-PL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -21,169 +21,154 @@ msgid "I attempted to do something that Discord denied me permissions for. Your msgstr "" #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." -msgstr "" +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgstr "Spróbowałam {verb} {role.name} na {member.display_name}, ale ta rola jest wyższa niż moja najwyższa rola w hierarchii Discorda, więc nie mogłam jej dodać. Daj mi proszę wyższą rolę i spróbuj ponownie." #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." -msgstr "" +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "Spróbowałam {verb} {role.name} na {member.display_name}, ale ta rola jest wyższa niż twoja najwyższa rola w hierarchii Discorda, więc nie mogłam jej dodać. Uzyskaj proszę wyższą rolę i spróbuj ponownie." #: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "Spróbowałam zmienić {role.name}, ale ta rola jest wyższa niż twoja najwyższa rola w hierarchii Discorda, więc nie mogłam jej dodać. Uzyskaj proszę wyższą rolę i spróbuj ponownie." + +#: redbot/cogs/admin/admin.py:43 msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." msgstr "" -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." msgstr "" -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "dodać" + +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:127 +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" +msgstr "usunąć" + +#: redbot/cogs/admin/admin.py:138 msgid "I successfully removed {role.name} from {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:138 +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:169 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." msgstr "" -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." msgstr "Gotowe." -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "" - -#: redbot/cogs/admin/admin.py:235 -#, docstring -msgid "Announce a message to all servers the bot is in." -msgstr "" - -#: redbot/cogs/admin/admin.py:242 -msgid "The announcement has begun." +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " msgstr "" #: redbot/cogs/admin/admin.py:250 #, docstring +msgid "Announce a message to all servers the bot is in." +msgstr "" + +#: redbot/cogs/admin/admin.py:257 +msgid "The announcement has begun." +msgstr "" + +#: redbot/cogs/admin/admin.py:265 +#, docstring msgid "Cancel a running announce." msgstr "" -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "" -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "" -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "" -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "" -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " +msgid "\\n Lists all available selfroles.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." msgstr "" -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." msgstr "" -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." msgstr "" diff --git a/redbot/cogs/admin/locales/pt-BR.po b/redbot/cogs/admin/locales/pt-BR.po index a8977cc76..0a2abf594 100644 --- a/redbot/cogs/admin/locales/pt-BR.po +++ b/redbot/cogs/admin/locales/pt-BR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese, Brazilian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -18,172 +18,157 @@ msgstr "" #: redbot/cogs/admin/admin.py:17 msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete." -msgstr "" +msgstr "Eu tentei fazer algo que o Discord me negou as permissões. Seu comando falhou em ser completado com sucesso." #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:36 -msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." msgstr "" -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:43 +msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." +msgstr "Eu já estou anunciando algo. Se quer fazer um anúncio diferente, por favor use `{prefix}announce cancel` primeiro." + +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." +msgstr "Uma coleção de ferramentas de administração para o servidor." + +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" msgstr "" -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" -msgstr "" +msgstr "Eu adicionei com sucesso {role.name} de {member.display_name}" -#: redbot/cogs/admin/admin.py:127 -msgid "I successfully removed {role.name} from {member.display_name}" +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" msgstr "" #: redbot/cogs/admin/admin.py:138 +msgid "I successfully removed {role.name} from {member.display_name}" +msgstr "Eu removi com sucesso {role.name} de {member.display_name}" + +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:169 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." -msgstr "" +msgstr "Edite as configurações de cargo." -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." msgstr "Concluído." -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "" - -#: redbot/cogs/admin/admin.py:235 -#, docstring -msgid "Announce a message to all servers the bot is in." -msgstr "" - -#: redbot/cogs/admin/admin.py:242 -msgid "The announcement has begun." +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " msgstr "" #: redbot/cogs/admin/admin.py:250 #, docstring +msgid "Announce a message to all servers the bot is in." +msgstr "" + +#: redbot/cogs/admin/admin.py:257 +msgid "The announcement has begun." +msgstr "" + +#: redbot/cogs/admin/admin.py:265 +#, docstring msgid "Cancel a running announce." msgstr "" -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "" -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "" -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "" -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "" -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " +msgid "\\n Lists all available selfroles.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." msgstr "" -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." msgstr "" -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." msgstr "" diff --git a/redbot/cogs/admin/locales/pt-PT.po b/redbot/cogs/admin/locales/pt-PT.po index a64192382..da237dfb7 100644 --- a/redbot/cogs/admin/locales/pt-PT.po +++ b/redbot/cogs/admin/locales/pt-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -21,196 +21,154 @@ msgid "I attempted to do something that Discord denied me permissions for. Your msgstr "Tentei fazer uma coisa que o Discord negou permissão para fazer. O comando não foi concluído." #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." -msgstr "Tentei adicionar {role.name} a {member.display_name} mas esse cargo é maior do que o meu maior cargo atual na hierarquia do Discord por isso não me é possível concluir a ação com sucesso. Dá-me um cargo maior e tenta novamente." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgstr "" #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." -msgstr "Tentei adicionar {role.name} a {member.display_name} mas esse cargo é maior do que o teu maior cargo atual na hierarquia do Discord por isso não me é possível concluir a ação com sucesso. Obtém um cargo maior e tenta novamente." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" #: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:43 msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." msgstr "Já estou a anunciar algo. Se queres fazer um anúncio diferente usa `{prefix}announce cancel` antes de usares este comando." -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." msgstr "Uma coleção de utilidades para administração de servidores." -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "" + +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" msgstr "Adicionei com sucesso {role.name} a {member.display_name}" -#: redbot/cogs/admin/admin.py:127 +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" +msgstr "" + +#: redbot/cogs/admin/admin.py:138 msgid "I successfully removed {role.name} from {member.display_name}" msgstr "Removi com sucesso {role.name} de {member.display_name}" -#: redbot/cogs/admin/admin.py:138 +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " -msgstr "Adiciona um cargo a um utilizador.\n\n" -" Se o utilizador for deixado em branco é utilizado por padrão o autor do comando.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:169 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " -msgstr "Remove um cargo a um utilizador.\n\n" -" Se o utilizador for deixado em branco é utilizado por padrão o autor do comando.\n" -" " +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." msgstr "" -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " -msgstr "Edite a cor do cargo\n\n" -" Use aspas se o cargo contiver espaços.\n" -" A cor deve ser em formato hexadecimal.\n" -" [Seleção de Cor Online](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Exemplos:\n" -" `[p]editrole colour \"Team rS\" #ff0000`\n" -" `[p]editrole colour Teste #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." msgstr "Concluído." -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "Edite o nome do cargo.\n\n" -" Use aspas se o cargo contiver espaços.\n\n" -" Exemplos:\n" -" `[p]editrole name \"Team rS\" Test`\n" -" " +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:235 +#: redbot/cogs/admin/admin.py:250 #, docstring msgid "Announce a message to all servers the bot is in." msgstr "Anuncia uma mensagem para todos os servidores em que o bot está." -#: redbot/cogs/admin/admin.py:242 +#: redbot/cogs/admin/admin.py:257 msgid "The announcement has begun." msgstr "O anúncio foi iniciado." -#: redbot/cogs/admin/admin.py:250 +#: redbot/cogs/admin/admin.py:265 #, docstring msgid "Cancel a running announce." msgstr "Cancelar um anúncio em curso." -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "O anúncio atual foi cancelado." -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "Mude o canal para o qual o bot faz os anúncios." -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "O canal de anúncio foi definido para {channel.mention}" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "Ativar ou Desativar os anúncios neste servidor." -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "O servidor {guild.name} vai receber anúncios." -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "O servidor {guild.name} não vai receber anúncios." -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "Adiciona um cargo a si próprio\n\n" -" Os administradores do servidor têm de ter configurado o cargo como definível.\n\n" -" NOTA: O cargo é sensível às maiúsculas e minúsculas!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "Remove um cargo a si próprio.\n\n" -" NOTA: O cargo é sensível às maiúsculas e minúsculas!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "Adiciona um cargo à lista de cargos definíveis.\n\n" -" NOTA: O cargo é sensível às maiúsculas e minúsculas!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "A lista de cargos definíveis foi modificada com sucesso." -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "Remove um cargo da lista de cargos definíveis.\n\n" -" NOTA: O cargo é sensível às maiúsculas e minúsculas!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " -msgstr "\n" -" Lista de todos os cargos definíveis disponíveis.\n" -" " +msgid "\\n Lists all available selfroles.\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" -msgstr "Cargos definíveis disponíveis:\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" +msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." msgstr "Bloquear o bot aos servidores atuais." -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." msgstr "O bot já não está bloqueado aos servidores atuais." -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." msgstr "O bot está agora bloqueado aos servidores atuais." diff --git a/redbot/cogs/admin/locales/ro-RO.po b/redbot/cogs/admin/locales/ro-RO.po new file mode 100644 index 000000000..1ae4f1874 --- /dev/null +++ b/redbot/cogs/admin/locales/ro-RO.po @@ -0,0 +1,186 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:09\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Romanian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /cogs/admin/locales/messages.pot\n" +"Language: ro_RO\n" + +#: redbot/cogs/admin/admin.py:17 +msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete." +msgstr "" + +#: redbot/cogs/admin/admin.py:22 +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:29 +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:43 +msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." +msgstr "" + +#: redbot/cogs/admin/admin.py:53 +#, docstring +msgid "A collection of server administration utilities." +msgstr "" + +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "" + +#: redbot/cogs/admin/admin.py:121 +msgid "I successfully added {role.name} to {member.display_name}" +msgstr "" + +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" +msgstr "" + +#: redbot/cogs/admin/admin.py:138 +msgid "I successfully removed {role.name} from {member.display_name}" +msgstr "" + +#: redbot/cogs/admin/admin.py:149 +#, docstring +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:169 +#, docstring +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:187 +#, docstring +msgid "Edit role settings." +msgstr "" + +#: redbot/cogs/admin/admin.py:194 +#, docstring +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 +msgid "Done." +msgstr "" + +#: redbot/cogs/admin/admin.py:222 +#, docstring +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:250 +#, docstring +msgid "Announce a message to all servers the bot is in." +msgstr "" + +#: redbot/cogs/admin/admin.py:257 +msgid "The announcement has begun." +msgstr "" + +#: redbot/cogs/admin/admin.py:265 +#, docstring +msgid "Cancel a running announce." +msgstr "" + +#: redbot/cogs/admin/admin.py:271 +msgid "The current announcement has been cancelled." +msgstr "" + +#: redbot/cogs/admin/admin.py:277 +#, docstring +msgid "Change the channel to which the bot makes announcements." +msgstr "" + +#: redbot/cogs/admin/admin.py:283 +msgid "The announcement channel has been set to {channel.mention}" +msgstr "" + +#: redbot/cogs/admin/admin.py:290 +#, docstring +msgid "Toggle announcements being enabled this server." +msgstr "" + +#: redbot/cogs/admin/admin.py:296 +msgid "The server {guild.name} will receive announcements." +msgstr "" + +#: redbot/cogs/admin/admin.py:300 +msgid "The server {guild.name} will not receive announcements." +msgstr "" + +#: redbot/cogs/admin/admin.py:326 +#, docstring +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:337 +#, docstring +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:347 +#, docstring +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 +msgid "The selfroles list has been successfully modified." +msgstr "" + +#: redbot/cogs/admin/admin.py:360 +#, docstring +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:371 +#, docstring +msgid "\\n Lists all available selfroles.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" +msgstr "" + +#: redbot/cogs/admin/admin.py:394 +#, docstring +msgid "Lock a bot to its current servers only." +msgstr "" + +#: redbot/cogs/admin/admin.py:399 +msgid "The bot is no longer serverlocked." +msgstr "" + +#: redbot/cogs/admin/admin.py:401 +msgid "The bot is now serverlocked." +msgstr "" + +#: redbot/cogs/admin/announcer.py:70 +msgid "I could not announce to server: {server.id}" +msgstr "" + +#: redbot/cogs/admin/converters.py:25 +msgid "The Admin cog is not loaded." +msgstr "" + +#: redbot/cogs/admin/converters.py:34 +msgid "The provided role is not a valid selfrole." +msgstr "" + diff --git a/redbot/cogs/admin/locales/ru-RU.po b/redbot/cogs/admin/locales/ru-RU.po index 2279158fc..15cf95b1e 100644 --- a/redbot/cogs/admin/locales/ru-RU.po +++ b/redbot/cogs/admin/locales/ru-RU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 05:52\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -18,201 +18,159 @@ msgstr "" #: redbot/cogs/admin/admin.py:17 msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete." -msgstr "Я попытался сделать что-то, для чего Discord отказал мне в разрешениях. Ваша команда не была успешно выполнена." +msgstr "Я попыталась сделать что-то, в чем Discord отказал мне в разрешениях. Ваша команда не была выполнена успешно." #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." -msgstr "Я попытался добавить {member.display_name} в {role.name}, но эта роль выше, чем моя наивысшая роль в иерархии Discord, поэтому я не смог добавить ее успешно. Пожалуйста, дайте мне более высокую роль и повторите попытку." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgstr "" #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." -msgstr "Я попытался добавить {member.display_name} в {role.name}, но эта роль выше, чем ваша наивысшая роль в иерархии Discord, поэтому я не смог добавить ее успешно. Пожалуйста, получите более высокую роль и повторите попытку." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" #: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "Я попытался изменить {role.name}, но эта роль выше Вашей в иерархии Discord, поэтому я не смог добавить её. Повысьте роль и попробуйте еще раз." + +#: redbot/cogs/admin/admin.py:43 msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." msgstr "Я уже что-то объявляю. Если вы хотите сделать другое объявление, сначала используйте `{prefix}announce cancel`." -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." msgstr "Набор утилит администрирования сервера." -#: redbot/cogs/admin/admin.py:112 -msgid "I successfully added {role.name} to {member.display_name}" -msgstr "Я успешно добавил {member.display_name} в {role.name}" +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "добавить" -#: redbot/cogs/admin/admin.py:127 -msgid "I successfully removed {role.name} from {member.display_name}" -msgstr "Я успешно убрал {member.display_name} из {role.name}" +#: redbot/cogs/admin/admin.py:121 +msgid "I successfully added {role.name} to {member.display_name}" +msgstr "Я успешно добавила роль {role.name} пользователю {member.display_name}" + +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" +msgstr "удалить" #: redbot/cogs/admin/admin.py:138 -#, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " -msgstr "Добавляет роль пользователю.\n\n" -" Если пользователь не указан, то по умолчанию используется отправитель.\n" -" " +msgid "I successfully removed {role.name} from {member.display_name}" +msgstr "Я успешно забрала роль {role.name} у пользователя {member.display_name}" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " -msgstr "Забирает роль у пользователя.\n\n" -" Если пользователь не указан, то по умолчанию используется отправитель.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:169 +#, docstring +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." msgstr "Изменение параметров роли." -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " -msgstr "Изменить цвет роли.\n\n" -" Используйте двойные кавычки, если роль содержит пробелы.\n" -" Цвет должен быть в шестнадцатеричном формате.\n" -" [Онлайн-палитра цветов](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Примеры:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." msgstr "Готово." -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "Изменить имя роли.\n\n" -" Используйте двойные кавычки, если роль или имя содержат пробелы.\n\n" -" Примеры:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:235 +#: redbot/cogs/admin/admin.py:250 #, docstring msgid "Announce a message to all servers the bot is in." msgstr "Объявить сообщение на всех серверах, к которым подключен бот." -#: redbot/cogs/admin/admin.py:242 +#: redbot/cogs/admin/admin.py:257 msgid "The announcement has begun." msgstr "Объявление началось." -#: redbot/cogs/admin/admin.py:250 +#: redbot/cogs/admin/admin.py:265 #, docstring msgid "Cancel a running announce." msgstr "Отменить текущее объявление." -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "Текущее объявление было отменено." -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "Изменить канал, на котором бот делает объявления." -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "Канал объявления был установлен на {channel.mention}" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "Переключить объявления, когда этот сервер включен." -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "Сервер {guild.name} будет получать объявления." -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "Сервер {guild.name} не будет получать объявления." -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "Добавить себе роль.\n\n" -" Администраторы сервера должны настроить роль как настраиваемую пользователем.\n\n" -" ПРИМЕЧАНИЕ: Роль чувствительна к регистру!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "Удалить свою роль.\n\n" -" ПРИМЕЧАНИЕ: Роль чувствительна к регистру!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "Добавить роль в список доступных ролей.\n\n" -" ПРИМЕЧАНИЕ: Роль чувствительна к регистру!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "Список ролей был изменен успешно." -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " -msgstr "Удалить роль из списка доступных ролей.\n\n" -" ПРИМЕЧАНИЕ: Роль чувствительна к регистру!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " -msgstr "\n" -" Список всех доступных ролей.\n" -" " +msgid "\\n Lists all available selfroles.\\n " +msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" -msgstr "Доступные роли:\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" +msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." -msgstr "Заблокировать бота только на его текущих серверах." +msgstr "Зафиксировать бота только на его текущих серверах." -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." -msgstr "Бот больше не заблокирован на сервере." +msgstr "Бот больше не зафиксирован на сервере." -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." -msgstr "Бот теперь заблокирован на сервере." +msgstr "Бот теперь зафиксирован на сервере." #: redbot/cogs/admin/announcer.py:70 msgid "I could not announce to server: {server.id}" @@ -220,7 +178,7 @@ msgstr "Я не могу объявить на сервере: {server.id}" #: redbot/cogs/admin/converters.py:25 msgid "The Admin cog is not loaded." -msgstr "Плагин администрирования не загружен." +msgstr "Модуль Admin не загружен." #: redbot/cogs/admin/converters.py:34 msgid "The provided role is not a valid selfrole." diff --git a/redbot/cogs/admin/locales/sk-SK.po b/redbot/cogs/admin/locales/sk-SK.po index e9b5fb3de..9215bdfb3 100644 --- a/redbot/cogs/admin/locales/sk-SK.po +++ b/redbot/cogs/admin/locales/sk-SK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Slovak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -21,169 +21,154 @@ msgid "I attempted to do something that Discord denied me permissions for. Your msgstr "" #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:43 msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." msgstr "" -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." msgstr "" -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "" + +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:127 -msgid "I successfully removed {role.name} from {member.display_name}" +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" msgstr "" #: redbot/cogs/admin/admin.py:138 -#, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "I successfully removed {role.name} from {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:169 +#, docstring +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." msgstr "" -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." msgstr "" -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "" - -#: redbot/cogs/admin/admin.py:235 -#, docstring -msgid "Announce a message to all servers the bot is in." -msgstr "" - -#: redbot/cogs/admin/admin.py:242 -msgid "The announcement has begun." +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " msgstr "" #: redbot/cogs/admin/admin.py:250 #, docstring +msgid "Announce a message to all servers the bot is in." +msgstr "" + +#: redbot/cogs/admin/admin.py:257 +msgid "The announcement has begun." +msgstr "" + +#: redbot/cogs/admin/admin.py:265 +#, docstring msgid "Cancel a running announce." msgstr "" -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "" -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "" -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "" -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "" -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " +msgid "\\n Lists all available selfroles.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." msgstr "" -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." msgstr "" -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." msgstr "" diff --git a/redbot/cogs/admin/locales/sv-SE.po b/redbot/cogs/admin/locales/sv-SE.po index bfc147b27..a69ca4fec 100644 --- a/redbot/cogs/admin/locales/sv-SE.po +++ b/redbot/cogs/admin/locales/sv-SE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -18,172 +18,157 @@ msgstr "" #: redbot/cogs/admin/admin.py:17 msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete." -msgstr "" +msgstr "Jag försökte göra något som Discord nekade mig behörighet till. Ditt kommando kunde inte slutföras." #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:43 msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." msgstr "" -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." +msgstr "En samling administrationsverktyg för servern." + +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" msgstr "" -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:127 -msgid "I successfully removed {role.name} from {member.display_name}" +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" msgstr "" #: redbot/cogs/admin/admin.py:138 -#, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "I successfully removed {role.name} from {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:169 +#, docstring +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." -msgstr "" +msgstr "Redigera rollinställningar." -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." -msgstr "" +msgstr "Klart." -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "" - -#: redbot/cogs/admin/admin.py:235 -#, docstring -msgid "Announce a message to all servers the bot is in." -msgstr "" - -#: redbot/cogs/admin/admin.py:242 -msgid "The announcement has begun." +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " msgstr "" #: redbot/cogs/admin/admin.py:250 #, docstring +msgid "Announce a message to all servers the bot is in." +msgstr "" + +#: redbot/cogs/admin/admin.py:257 +msgid "The announcement has begun." +msgstr "" + +#: redbot/cogs/admin/admin.py:265 +#, docstring msgid "Cancel a running announce." msgstr "" -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "" -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "" -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "" -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "" -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " +msgid "\\n Lists all available selfroles.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." msgstr "" -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." msgstr "" -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." msgstr "" diff --git a/redbot/cogs/admin/locales/tr-TR.po b/redbot/cogs/admin/locales/tr-TR.po index 17207f874..cabae0a83 100644 --- a/redbot/cogs/admin/locales/tr-TR.po +++ b/redbot/cogs/admin/locales/tr-TR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -21,169 +21,154 @@ msgid "I attempted to do something that Discord denied me permissions for. Your msgstr "" #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:43 msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." msgstr "" -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." msgstr "" -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "" + +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:127 -msgid "I successfully removed {role.name} from {member.display_name}" +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" msgstr "" #: redbot/cogs/admin/admin.py:138 -#, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "I successfully removed {role.name} from {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:169 +#, docstring +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." msgstr "" -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." -msgstr "" +msgstr "Tamamdır." -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "" - -#: redbot/cogs/admin/admin.py:235 -#, docstring -msgid "Announce a message to all servers the bot is in." -msgstr "" - -#: redbot/cogs/admin/admin.py:242 -msgid "The announcement has begun." +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " msgstr "" #: redbot/cogs/admin/admin.py:250 #, docstring +msgid "Announce a message to all servers the bot is in." +msgstr "" + +#: redbot/cogs/admin/admin.py:257 +msgid "The announcement has begun." +msgstr "" + +#: redbot/cogs/admin/admin.py:265 +#, docstring msgid "Cancel a running announce." msgstr "" -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "" -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "" -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "" -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "" -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " +msgid "\\n Lists all available selfroles.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." msgstr "" -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." msgstr "" -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." msgstr "" diff --git a/redbot/cogs/admin/locales/zh-CN.po b/redbot/cogs/admin/locales/zh-CN.po index 7b90bf027..1f847d08b 100644 --- a/redbot/cogs/admin/locales/zh-CN.po +++ b/redbot/cogs/admin/locales/zh-CN.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -21,169 +21,154 @@ msgid "I attempted to do something that Discord denied me permissions for. Your msgstr "" #: redbot/cogs/admin/admin.py:22 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:29 -msgid "I tried to add {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." msgstr "" #: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:43 msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." msgstr "" -#: redbot/cogs/admin/admin.py:46 +#: redbot/cogs/admin/admin.py:53 #, docstring msgid "A collection of server administration utilities." msgstr "" -#: redbot/cogs/admin/admin.py:112 +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "" + +#: redbot/cogs/admin/admin.py:121 msgid "I successfully added {role.name} to {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:127 -msgid "I successfully removed {role.name} from {member.display_name}" +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" msgstr "" #: redbot/cogs/admin/admin.py:138 -#, docstring -msgid "Add a role to a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "I successfully removed {role.name} from {member.display_name}" msgstr "" -#: redbot/cogs/admin/admin.py:156 +#: redbot/cogs/admin/admin.py:149 #, docstring -msgid "Remove a role from a user.\n\n" -" If user is left blank it defaults to the author of the command.\n" -" " +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:172 +#: redbot/cogs/admin/admin.py:169 +#, docstring +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:187 #, docstring msgid "Edit role settings." msgstr "" -#: redbot/cogs/admin/admin.py:179 +#: redbot/cogs/admin/admin.py:194 #, docstring -msgid "Edit a role's colour.\n\n" -" Use double quotes if the role contains spaces.\n" -" Colour must be in hexadecimal format.\n" -" [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\n\n" -" Examples:\n" -" `[p]editrole colour \"The Transistor\" #ff0000`\n" -" `[p]editrole colour Test #ff9900`\n" -" " +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " msgstr "" -#: redbot/cogs/admin/admin.py:202 redbot/cogs/admin/admin.py:230 +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 msgid "Done." -msgstr "" +msgstr "完成。" -#: redbot/cogs/admin/admin.py:207 +#: redbot/cogs/admin/admin.py:222 #, docstring -msgid "Edit a role's name.\n\n" -" Use double quotes if the role or the name contain spaces.\n\n" -" Examples:\n" -" `[p]editrole name \"The Transistor\" Test`\n" -" " -msgstr "" - -#: redbot/cogs/admin/admin.py:235 -#, docstring -msgid "Announce a message to all servers the bot is in." -msgstr "" - -#: redbot/cogs/admin/admin.py:242 -msgid "The announcement has begun." +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " msgstr "" #: redbot/cogs/admin/admin.py:250 #, docstring +msgid "Announce a message to all servers the bot is in." +msgstr "" + +#: redbot/cogs/admin/admin.py:257 +msgid "The announcement has begun." +msgstr "" + +#: redbot/cogs/admin/admin.py:265 +#, docstring msgid "Cancel a running announce." msgstr "" -#: redbot/cogs/admin/admin.py:256 +#: redbot/cogs/admin/admin.py:271 msgid "The current announcement has been cancelled." msgstr "" -#: redbot/cogs/admin/admin.py:262 +#: redbot/cogs/admin/admin.py:277 #, docstring msgid "Change the channel to which the bot makes announcements." msgstr "" -#: redbot/cogs/admin/admin.py:268 +#: redbot/cogs/admin/admin.py:283 msgid "The announcement channel has been set to {channel.mention}" msgstr "" -#: redbot/cogs/admin/admin.py:275 +#: redbot/cogs/admin/admin.py:290 #, docstring msgid "Toggle announcements being enabled this server." msgstr "" -#: redbot/cogs/admin/admin.py:281 +#: redbot/cogs/admin/admin.py:296 msgid "The server {guild.name} will receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:285 +#: redbot/cogs/admin/admin.py:300 msgid "The server {guild.name} will not receive announcements." msgstr "" -#: redbot/cogs/admin/admin.py:311 +#: redbot/cogs/admin/admin.py:326 #, docstring -msgid "Add a role to yourself.\n\n" -" Server admins must have configured the role as user settable.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:322 +#: redbot/cogs/admin/admin.py:337 #, docstring -msgid "Remove a selfrole from yourself.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:332 +#: redbot/cogs/admin/admin.py:347 #, docstring -msgid "Add a role to the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:340 redbot/cogs/admin/admin.py:352 +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 msgid "The selfroles list has been successfully modified." msgstr "" -#: redbot/cogs/admin/admin.py:345 +#: redbot/cogs/admin/admin.py:360 #, docstring -msgid "Remove a role from the list of available selfroles.\n\n" -" NOTE: The role is case sensitive!\n" -" " +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " msgstr "" -#: redbot/cogs/admin/admin.py:356 +#: redbot/cogs/admin/admin.py:371 #, docstring -msgid "\n" -" Lists all available selfroles.\n" -" " +msgid "\\n Lists all available selfroles.\\n " msgstr "" -#: redbot/cogs/admin/admin.py:362 -msgid "Available Selfroles:\n" -"{selfroles}" +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" msgstr "" -#: redbot/cogs/admin/admin.py:379 +#: redbot/cogs/admin/admin.py:394 #, docstring msgid "Lock a bot to its current servers only." msgstr "" -#: redbot/cogs/admin/admin.py:384 +#: redbot/cogs/admin/admin.py:399 msgid "The bot is no longer serverlocked." msgstr "" -#: redbot/cogs/admin/admin.py:386 +#: redbot/cogs/admin/admin.py:401 msgid "The bot is now serverlocked." msgstr "" diff --git a/redbot/cogs/admin/locales/zh-TW.po b/redbot/cogs/admin/locales/zh-TW.po new file mode 100644 index 000000000..cd2358821 --- /dev/null +++ b/redbot/cogs/admin/locales/zh-TW.po @@ -0,0 +1,186 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Chinese Traditional\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /cogs/admin/locales/messages.pot\n" +"Language: zh_TW\n" + +#: redbot/cogs/admin/admin.py:17 +msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete." +msgstr "" + +#: redbot/cogs/admin/admin.py:22 +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:29 +msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:36 +msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again." +msgstr "" + +#: redbot/cogs/admin/admin.py:43 +msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first." +msgstr "" + +#: redbot/cogs/admin/admin.py:53 +#, docstring +msgid "A collection of server administration utilities." +msgstr "" + +#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160 +msgid "add" +msgstr "" + +#: redbot/cogs/admin/admin.py:121 +msgid "I successfully added {role.name} to {member.display_name}" +msgstr "" + +#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180 +msgid "remove" +msgstr "" + +#: redbot/cogs/admin/admin.py:138 +msgid "I successfully removed {role.name} from {member.display_name}" +msgstr "" + +#: redbot/cogs/admin/admin.py:149 +#, docstring +msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:169 +#, docstring +msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:187 +#, docstring +msgid "Edit role settings." +msgstr "" + +#: redbot/cogs/admin/admin.py:194 +#, docstring +msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245 +msgid "Done." +msgstr "" + +#: redbot/cogs/admin/admin.py:222 +#, docstring +msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:250 +#, docstring +msgid "Announce a message to all servers the bot is in." +msgstr "" + +#: redbot/cogs/admin/admin.py:257 +msgid "The announcement has begun." +msgstr "" + +#: redbot/cogs/admin/admin.py:265 +#, docstring +msgid "Cancel a running announce." +msgstr "" + +#: redbot/cogs/admin/admin.py:271 +msgid "The current announcement has been cancelled." +msgstr "" + +#: redbot/cogs/admin/admin.py:277 +#, docstring +msgid "Change the channel to which the bot makes announcements." +msgstr "" + +#: redbot/cogs/admin/admin.py:283 +msgid "The announcement channel has been set to {channel.mention}" +msgstr "" + +#: redbot/cogs/admin/admin.py:290 +#, docstring +msgid "Toggle announcements being enabled this server." +msgstr "" + +#: redbot/cogs/admin/admin.py:296 +msgid "The server {guild.name} will receive announcements." +msgstr "" + +#: redbot/cogs/admin/admin.py:300 +msgid "The server {guild.name} will not receive announcements." +msgstr "" + +#: redbot/cogs/admin/admin.py:326 +#, docstring +msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:337 +#, docstring +msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:347 +#, docstring +msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367 +msgid "The selfroles list has been successfully modified." +msgstr "" + +#: redbot/cogs/admin/admin.py:360 +#, docstring +msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:371 +#, docstring +msgid "\\n Lists all available selfroles.\\n " +msgstr "" + +#: redbot/cogs/admin/admin.py:377 +msgid "Available Selfroles:\\n{selfroles}" +msgstr "" + +#: redbot/cogs/admin/admin.py:394 +#, docstring +msgid "Lock a bot to its current servers only." +msgstr "" + +#: redbot/cogs/admin/admin.py:399 +msgid "The bot is no longer serverlocked." +msgstr "" + +#: redbot/cogs/admin/admin.py:401 +msgid "The bot is now serverlocked." +msgstr "" + +#: redbot/cogs/admin/announcer.py:70 +msgid "I could not announce to server: {server.id}" +msgstr "" + +#: redbot/cogs/admin/converters.py:25 +msgid "The Admin cog is not loaded." +msgstr "" + +#: redbot/cogs/admin/converters.py:34 +msgid "The provided role is not a valid selfrole." +msgstr "" + diff --git a/redbot/cogs/alias/locales/ar-SA.po b/redbot/cogs/alias/locales/ar-SA.po index 593d38628..669298aa3 100644 --- a/redbot/cogs/alias/locales/ar-SA.po +++ b/redbot/cogs/alias/locales/ar-SA.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,136 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: ar_SA\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "" + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "" -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "" -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "" -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "" -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "" -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "" -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "" -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "" -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "" -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "" -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "" diff --git a/redbot/cogs/alias/locales/bg-BG.po b/redbot/cogs/alias/locales/bg-BG.po index 7f7ee78d7..184e5e5a7 100644 --- a/redbot/cogs/alias/locales/bg-BG.po +++ b/redbot/cogs/alias/locales/bg-BG.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Bulgarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,136 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: bg_BG\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "" + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "Няма намерен префикс." -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "" -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "" -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "" -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "Този псевдоним не съществува." -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "" -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "" -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "Няма използвани псевдоними на този сървър." -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "" -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "" -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "" -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "Няма псевдоними положени към този бот." -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "Псевдоними:" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "" diff --git a/redbot/cogs/alias/locales/cs-CZ.po b/redbot/cogs/alias/locales/cs-CZ.po new file mode 100644 index 000000000..222605a16 --- /dev/null +++ b/redbot/cogs/alias/locales/cs-CZ.po @@ -0,0 +1,154 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: cs\n" +"X-Crowdin-File: /cogs/alias/locales/messages.pot\n" +"Language: cs_CZ\n" + +#: redbot/cogs/alias/alias.py:35 +#, docstring +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " +msgstr "Vytvořit aliasy pro příkazy n n Aliasy jsou alternativní zkratky pro příkazy. Mohou působit jako lambda (ukládání argumentů pro opakované použití) n nebo jednoduše jako zkratka pro vyslovení \"xyz\" n n Při spuštění budou aliasy přijímat další argumenty a připojovat je k uložený alias. \\ t " + +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "Argumenty musí být zadány s číslem." + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "Argumenty musí být sekvenční. Chybějící argumenty: " + +#: redbot/cogs/alias/alias.py:164 +msgid "No prefix found." +msgstr "Nebyl nalezen žádný prefix." + +#: redbot/cogs/alias/alias.py:231 +#, docstring +msgid "Manage command aliases." +msgstr "Spravovat aliasy příkazů." + +#: redbot/cogs/alias/alias.py:236 +#, docstring +msgid "Manage global aliases." +msgstr "" + +#: redbot/cogs/alias/alias.py:243 +#, docstring +msgid "Add an alias for a command." +msgstr "" + +#: redbot/cogs/alias/alias.py:248 +msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." +msgstr "" + +#: redbot/cogs/alias/alias.py:259 +msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." +msgstr "" + +#: redbot/cogs/alias/alias.py:270 +msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." +msgstr "" + +#: redbot/cogs/alias/alias.py:289 +msgid "A new alias with the trigger `{name}` has been created." +msgstr "" + +#: redbot/cogs/alias/alias.py:295 +#, docstring +msgid "Add a global alias for a command." +msgstr "" + +#: redbot/cogs/alias/alias.py:300 +msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." +msgstr "" + +#: redbot/cogs/alias/alias.py:311 +msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." +msgstr "" + +#: redbot/cogs/alias/alias.py:322 +msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." +msgstr "" + +#: redbot/cogs/alias/alias.py:338 +msgid "A new global alias with the trigger `{name}` has been created." +msgstr "" + +#: redbot/cogs/alias/alias.py:346 +#, docstring +msgid "Try to execute help for the base command of the alias." +msgstr "" + +#: redbot/cogs/alias/alias.py:355 +msgid "{prefix}help {command}" +msgstr "" + +#: redbot/cogs/alias/alias.py:360 +msgid "No such alias exists." +msgstr "" + +#: redbot/cogs/alias/alias.py:365 +#, docstring +msgid "Show what command the alias executes." +msgstr "" + +#: redbot/cogs/alias/alias.py:370 +msgid "The `{alias_name}` alias will execute the command `{command}`" +msgstr "" + +#: redbot/cogs/alias/alias.py:375 +msgid "There is no alias with the name `{name}`" +msgstr "" + +#: redbot/cogs/alias/alias.py:381 +#, docstring +msgid "Delete an existing alias on this server." +msgstr "" + +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 +msgid "There are no aliases on this server." +msgstr "" + +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 +msgid "Alias with the name `{name}` was successfully deleted." +msgstr "" + +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 +msgid "Alias with name `{name}` was not found." +msgstr "" + +#: redbot/cogs/alias/alias.py:399 +#, docstring +msgid "Delete an existing global alias." +msgstr "" + +#: redbot/cogs/alias/alias.py:404 +msgid "There are no aliases on this bot." +msgstr "" + +#: redbot/cogs/alias/alias.py:417 +#, docstring +msgid "List the available aliases on this server." +msgstr "" + +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 +msgid "Aliases:" +msgstr "" + +#: redbot/cogs/alias/alias.py:428 +#, docstring +msgid "List the available global aliases on this bot." +msgstr "" + diff --git a/redbot/cogs/alias/locales/da-DK.po b/redbot/cogs/alias/locales/da-DK.po index 59bf88cc2..d41fc1d04 100644 --- a/redbot/cogs/alias/locales/da-DK.po +++ b/redbot/cogs/alias/locales/da-DK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,136 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: da_DK\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "" + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "" -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "" -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "" -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "" -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "" -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "" -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "" -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "" -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "" -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "" -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "" diff --git a/redbot/cogs/alias/locales/de-DE.po b/redbot/cogs/alias/locales/de-DE.po index f970bb034..2a24bae0f 100644 --- a/redbot/cogs/alias/locales/de-DE.po +++ b/redbot/cogs/alias/locales/de-DE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,142 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: de_DE\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " -msgstr "Kreiere Aliasse für Befehle.\n\n" -" Aliasse sind alternative Namenskürzel für Befehle. Sie\n" -" können als Lambda dienen (Argumente speichern für wiederholten Gebrauch)\n" -" oder als Abkürzung um \"x y z\" zu sagen.\n\n" -" Wenn ausgeführt, akzeptieren Aliase jedes zusätzliche Argument\n" -" und fügen es dem gespeicherten Alias zu.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " +msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "Argumente müssen mit einer Nummer bestimmt werden." + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "Argumente müssen sequentiell sein. Fehlende Argumente: " + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "Kein Präfix wurde gefunden." -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "Verwalte die Alias Befehle." -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "Verwalte die globalen Aliasse." -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "Füge einen Alias für einen Befehl hinzu." -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "Du hast versucht, einen neuen Alias ​​mit dem Namen {name} zu erstellen, aber dieser Name ist bereits ein Befehl für diesen Bot." -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "Du hast versucht einen neuen Alias mit dem Namen {name} zu erstellen, aber dieser Alias existiert bereits auf dem Server." -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "Du hast versucht einen neuen Alias mit dem Namen {name} zu erstellen, aber dieser Name ist ein ungültiger Alias-Name. Alias-Namen dürfen keine Leerzeichen enthalten." -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "Ein neuer alias mit dem Trigger `{name}` wurde erstellt." -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "Füge einen globalen Alias für einen Befehl hinzu." -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "Du hast versucht, einen neuen globalen Alias ​​mit dem Namen {name} zu erstellen, aber dieser Name ist bereits ein Befehl für diesen Bot." -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "Du hast versucht, einen neuen globalen Alias mit dem Namen {name} zu erstellen, dieser ist jedoch bereits auf diesem Server vorhanden." -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "Du hast versucht, einen neuen globalen Alias mit dem Namen {name} zu erstellen, dieser Name ist jedoch ein ungültiger Alias-Name. Alias-Namen dürfen keine Leerzeichen enthalten." -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "Ein neuer globaler Alias mit dem Trigger `{name}` wurde erstellt." -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "Versuche die Hilfe für den Basisbefehl des Alias auszuführen." -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "{prefix}help {command}" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "So ein Alias ist nicht vorhanden." -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "Zeige den Befehl, welchen der Alias ausführt." -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "Der Alias '{alias_name}' führt den Befehl '{command}' aus" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "Kein Alias mit dem Namen '{name}' gefunden" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "Lösche einen bereits existierenden Alias auf diesem Server." -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "Es gibt keine Aliasse auf diesem Server." -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "Der Alias mit dem Namen '{name}' wurde erfolgreich gelöscht." -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "Kein Alias mit dem Namen '{name}' gefunden." -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "Lösche einen bereits existierenden globalen Alias." -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "Es gibt keine Aliasse in diesem Bot." -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "Zeige die auf diesem Server verfügbaren Alias." -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "Aliasse:" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "Zeige die verfügbaren globalen Alias von diesem Bot." diff --git a/redbot/cogs/alias/locales/el-GR.po b/redbot/cogs/alias/locales/el-GR.po index d283a097b..8dcb7de7b 100644 --- a/redbot/cogs/alias/locales/el-GR.po +++ b/redbot/cogs/alias/locales/el-GR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,136 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: el_GR\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "" + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "Δεν βρέθηκε πρόθεμα." -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "" -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "" -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "" -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "" -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "" -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "" -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "" -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "" -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "" -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "" diff --git a/redbot/cogs/alias/locales/en-PT.po b/redbot/cogs/alias/locales/en-PT.po index 964160cf8..61413a7dd 100644 --- a/redbot/cogs/alias/locales/en-PT.po +++ b/redbot/cogs/alias/locales/en-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Pirate English\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,136 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: en_PT\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "" + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "Arrr, no prefix found capt'n!" -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "" -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "" -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "" -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "Yer scummy alias don't exist, matey!" -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "" -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "" -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "Alas! Thar be no aliases on this guild." -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "" -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "" -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "" -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "Shiver me timbers! Thar be no aliases on this bot." -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "Yar Aliases:" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "" diff --git a/redbot/cogs/alias/locales/es-ES.po b/redbot/cogs/alias/locales/es-ES.po index f2c077a54..8e1cdb632 100644 --- a/redbot/cogs/alias/locales/es-ES.po +++ b/redbot/cogs/alias/locales/es-ES.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,136 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: es_ES\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "" + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "Prefijo no encontrado." -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "" -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "" -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "" -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "Un alias no existe." -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "" -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "" -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "No hay los aliases en este servidor." -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "" -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "" -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "" -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "No hay el los alias dentro de este bot." -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "Alias:" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "" diff --git a/redbot/cogs/alias/locales/fi-FI.po b/redbot/cogs/alias/locales/fi-FI.po index dab869503..5571ddf54 100644 --- a/redbot/cogs/alias/locales/fi-FI.po +++ b/redbot/cogs/alias/locales/fi-FI.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,136 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: fi_FI\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "" + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "" -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "" -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "" -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "" -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "" -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "" -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "" -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "" -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "" -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "" -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "" diff --git a/redbot/cogs/alias/locales/fr-FR.po b/redbot/cogs/alias/locales/fr-FR.po index 9899b4c9f..fb554d8cc 100644 --- a/redbot/cogs/alias/locales/fr-FR.po +++ b/redbot/cogs/alias/locales/fr-FR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:11\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,142 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: fr_FR\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " -msgstr "Créée des alias pour les commandes\n\n" -" Les alias sont des raccourcis de noms alternatifs pour les commandes. Ils\n" -" peuvent agir comme un lambda (stocker des arguments pour un usage répété)\n" -" ou comme simplement un raccourci pour dire \"x y z\".\n\n" -" Lors de leur exécution, les alias accepteront tous les arguments supplémentaires\n" -" et seront exécutés en plus des arguments stockés dans l'alias.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " +msgstr "Créée des alias pour les commandes\\n\\n Les alias sont des raccourcis de noms alternatifs pour les commandes. Ils\\n peuvent agir comme un lambda (stocker des arguments pour un usage répété)\\n ou comme simplement un raccourci pour dire \\\"x y z\\\".\\n\\n Lors de leur exécution, les alias accepteront tous les arguments supplémentaires\\n et seront exécutés en plus des arguments stockés dans l'alias.\\n " -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "Les arguments doivent être spécifiés avec un nombre." + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "Les arguments doivent être séquentiels. Arguments manquants : " + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "Aucun préfixe trouvé." -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "Gérer les alias de commandes." -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "Gérer les alias globaux." -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "Ajouter un alias à une commande." -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "Tu as tenté de créer un nouvel alias nommé {name}, mais une commande existe déjà avec ce nom sur ce bot." -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "Tu as tenté de créer un nouvel alias nommé {name}, mais cet alias existe déjà sur ce serveur." -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "Tu as tenté de créer un nouvel alias nommé {name}, mais ce nom d'alias est invalide. Les noms d'alias ne peuvent pas contenir d'espaces." -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "Un nouvel alias avec le déclencheur `{name}` a bien été créé." -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "Ajouter un alias global à une commande." -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "Tu as tenté de créer un nouvel alias global nommé {name}, mais une commande existe déjà avec ce nom sur ce bot." -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "Tu as tenté de créer un nouvel alias global nommé {name}, mais cet alias existe déjà sur ce serveur." -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "Tu as tenté de créer un nouvel alias global nommé {name}, mais ce nom d'alias est invalide. Les noms d'alias ne peuvent pas contenir d'espaces." -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "Un nouvel alias global avec le déclencheur `{name}` a bien été créé." -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "Tente d'exécuter l'aide pour la commande de base de l'alias." -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "{prefix}help {command}" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "Cet alias n'existe pas." -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "Affiche la commande que l'alias exécute." -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "L'alias `{alias_name}` exécute la commande `{command}`" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "Il n'y a pas d'alias nommé `{name}`" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "Supprime un alias de ce serveur." -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "Il n'y a pas d'alias sur ce serveur." -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "L'alias nommé `{name}` a bien été supprimé." -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "L'alias nommé `{name}` n'a pas été trouvé." -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "Supprime un alias global existant." -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "Il n'y a pas d'alias sur ce bot." -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "Liste les alias disponibles sur ce serveur." -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "Alias:" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "Liste les alias globaux disponibles sur ce bot." diff --git a/redbot/cogs/alias/locales/hu-HU.po b/redbot/cogs/alias/locales/hu-HU.po index 574cbc082..6828d0c5e 100644 --- a/redbot/cogs/alias/locales/hu-HU.po +++ b/redbot/cogs/alias/locales/hu-HU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,136 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: hu_HU\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "" + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "Nem találtható prefix." -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "" -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "" -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "" -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "Nem létezik ilyen rövidítés." -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "" -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "" -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "Nincsenek rövidítések ezen a szerveren." -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "" -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "" -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "" -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "Nincsenek rövidítések ennél a botnál." -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "Rövidítések:" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "" diff --git a/redbot/cogs/alias/locales/id-ID.po b/redbot/cogs/alias/locales/id-ID.po index 246d7580b..c5b76cb7a 100644 --- a/redbot/cogs/alias/locales/id-ID.po +++ b/redbot/cogs/alias/locales/id-ID.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,136 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: id_ID\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "" + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "Awalan tidak ditemukan." -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "" -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "" -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "" -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "Alias tersebut tidak ditemukan." -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "" -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "" -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "Tidak ada alias pada server ini." -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "" -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "" -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "" -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "Tidak ada alias pada bot ini." -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "Alias:" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "" diff --git a/redbot/cogs/alias/locales/it-IT.po b/redbot/cogs/alias/locales/it-IT.po index c8ee6dc7e..2c29a2268 100644 --- a/redbot/cogs/alias/locales/it-IT.po +++ b/redbot/cogs/alias/locales/it-IT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,137 +16,139 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: it_IT\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "Gli argomenti devono essere specificati con un numero." + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "Nessun prefisso trovato." -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." -msgstr "" +msgstr "Gestisci gli alias dei comandi." -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." -msgstr "" +msgstr "Gestisci alias globali." -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." -msgstr "" +msgstr "Aggiungi un alias per un comando." -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." -msgstr "" +msgstr "Hai cercato di creare un nuovo alias con il nome {name}, ma questo nome corrisponde già a un comando su questo bot." -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." -msgstr "" +msgstr "Hai cercato di creare un nuovo alias con il nome {name}, ma questo alias già esiste su questo bot." -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." -msgstr "" +msgstr "Hai cercato di creare un nuovo alias con il nome {name}, ma questo nome non è un nome alias valido. I nomi alias non possono contenere spazi." -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." -msgstr "" +msgstr "È stato creato un nuovo alias con il comando '{name}'." -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." -msgstr "" +msgstr "Aggiungi un alias globale per un comando." -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." -msgstr "" +msgstr "Hai cercato di creare un nuovo alias globale con il nome {name}, ma questo nome corrisponde già a un comando su questo bot." -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." -msgstr "" +msgstr "Hai cercato di creare un nuovo alias globale con il nome {name}, ma questo alias già esiste su questo server." -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." -msgstr "" +msgstr "Hai cercato di creare un nuovo alias globale con il nome {name}, ma questo nome non è un nome alias valido. I nomi alias non possono contenere spazi." -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." -msgstr "" +msgstr "È stato creato un nuovo alias globale con il comando '{name}'." -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." -msgstr "" +msgstr "Prova a eseguire l'aiuto per il comando di base dell'alias." -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" -msgstr "" +msgstr "{prefix}help {command}" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "Non esiste nessun alias con questo nome." -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." -msgstr "" +msgstr "Mostra quale comando viene eseguito dall'alias." -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" -msgstr "" +msgstr "L'alias `{alias_name}` eseguirà il comando `{command}`" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" -msgstr "" +msgstr "Non c'è nessun alias con il nome `{name}`" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." -msgstr "" +msgstr "Elimina un alias esistente su questo server." -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "Non ci sono alias su questo server." -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." -msgstr "" +msgstr "L'alias con il nome `{name}` è stato eliminato con successo." -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." -msgstr "" +msgstr "L'alias con il nome `{name}` non è stato trovato." -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." -msgstr "" +msgstr "Elimina un alias globale esistente." -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." -msgstr "Non ci sono nessun alias su questo bot." +msgstr "Non ci sono alias su questo bot." -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." -msgstr "" +msgstr "Elenca gli alias disponibili su questo server." -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "Alias:" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." -msgstr "" +msgstr "Elenca gli alias globali disponibili su questo server." diff --git a/redbot/cogs/alias/locales/ja-JP.po b/redbot/cogs/alias/locales/ja-JP.po index b112bf878..a81536ce2 100644 --- a/redbot/cogs/alias/locales/ja-JP.po +++ b/redbot/cogs/alias/locales/ja-JP.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,136 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: ja_JP\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "" + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "プレフィックスが見つかりません。" -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "" -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "" -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "" -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "そのようなエイリアスはありません。" -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "" -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "" -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "このサーバにエイリアスはありません。" -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "" -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "" -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "" -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "このボットにはエイリアスはありません。" -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "アリアス:" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "" diff --git a/redbot/cogs/alias/locales/ko-KR.po b/redbot/cogs/alias/locales/ko-KR.po index 8e284bad4..e3ae289bb 100644 --- a/redbot/cogs/alias/locales/ko-KR.po +++ b/redbot/cogs/alias/locales/ko-KR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,136 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: ko_KR\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "" + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "프리픽스를 찾을 수 없어요." -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "" -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "" -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "" -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "그런 별칭은 등록되어 있지 않아요." -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "" -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "" -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "이 서버에 등록된 별칭이 없어요." -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "" -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "" -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "" -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "이 봇에 등록된 별칭이 없어요." -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "등록된 별칭 리스트 :" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "" diff --git a/redbot/cogs/alias/locales/lol-US.po b/redbot/cogs/alias/locales/lol-US.po index 65de532ee..6251f23e7 100644 --- a/redbot/cogs/alias/locales/lol-US.po +++ b/redbot/cogs/alias/locales/lol-US.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: LOLCAT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,136 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: lol_US\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "" + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "Nu prifix findz." -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "Mange da command aliasez." -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "Mange da global aliasez." -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "Addz an alias 4 command." -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "" -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "Nu such aliaz existz." -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "" -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "" -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "Serverz hav nu aliazes." -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "" -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "" -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "" -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "Ther no aliazes :(" -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "Aliazes:" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "" diff --git a/redbot/cogs/alias/locales/nl-NL.po b/redbot/cogs/alias/locales/nl-NL.po index 8430f04e5..edda0e8e8 100644 --- a/redbot/cogs/alias/locales/nl-NL.po +++ b/redbot/cogs/alias/locales/nl-NL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,142 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: nl_NL\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " -msgstr "Maak aliases aan voor een command.\n\n" -" Aliases zijn een alternatieve naam voor snelkoppelingen. Deze\n" -" kunnen zich gedragen als een lambda (argumenten opslaan voor herhaald gebruik)\n" -" of zo simpel als een command: \"x y z\".\n" -" Wanneer ze worden uitgevoerd, accepteren aliassen aanvullende argumenten\n" -" en voeg ze toe aan de opgeslagen alias.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " +msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "" + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "Geen prefix gevonden." -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "Beheer commandaliassen." -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "Beheer globale aliassen." -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "Voeg een alias toe voor een opdracht." -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "Je hebt geprobeerd een nieuwe alias te maken met de naam {name}, maar die naam is al een opdracht voor deze bot." -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "Je hebt geprobeerd een nieuwe alias te maken met de naam {name}, maar die alias bestaat al op deze server." -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "Je hebt geprobeerd een nieuwe alias te maken met de naam {name}, maar die naam is een ongeldige aliasnaam. Aliasnamen mogen geen spaties bevatten." -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "Er is een nieuwe alias gemaakt met de trigger `{name}`." -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "Voeg een globale alias toe voor een opdracht." -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "Je hebt geprobeerd om een ​​nieuwe globale alias te maken met de naam {name}, maar die naam is al een opdracht op deze bot." -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "Je hebt geprobeerd een nieuwe globale alias te maken met de naam {name}, maar die alias bestaat al op deze server." -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "Je hebt geprobeerd een nieuwe algemene alias te maken met de naam {name}, maar die naam is een ongeldige aliasnaam. Aliasnamen mogen geen spaties bevatten." -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "Er is een nieuwe globale alias gemaakt met de trigger `{name}`." -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "Probeer hulp uit te voeren voor de basisopdracht van de alias." -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "{prefix}help {command}" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "Deze alias bestaat niet." -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "Laat zien welk commando de alias uitvoert." -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "De `{alias_name}` alias voert het commando `{command}` uit" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "Er is geen alias met de naam'{name}'" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "Verwijder een bestaande alias op deze server." -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "Er zijn geen aliases in deze server." -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "Alias ​​met de naam `{name}` is succesvol verwijderd." -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "Alias ​​met naam `{name}` is niet gevonden." -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "Een bestaande globale alias verwijderen." -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "Er zijn geen aliases op deze bot." -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "Maak een lijst van de beschikbare aliassen op deze server." -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "Aliassen:" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "Maak een lijst van de beschikbare globale aliassen op deze bot." diff --git a/redbot/cogs/alias/locales/no-NO.po b/redbot/cogs/alias/locales/no-NO.po index e057b974d..292a8d81c 100644 --- a/redbot/cogs/alias/locales/no-NO.po +++ b/redbot/cogs/alias/locales/no-NO.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Norwegian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,138 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: no_NO\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " -msgstr "Opprett aliaser for kommandoer.\n\n" -"Aliaser er alternative navn snarveier for kommandoer. De kan brukes både som en lambda (lagring av argumenter for gjentatt bruk) eller som en snarvei for å si \"x y z\"\n\n" -"Aliaser vil godta hvilke som helst tilleggsargumenter og legge dem til det lagrede aliaset når de blir kjørt. " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " +msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "Argumenter må spesifiseres med et nummer." + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "Ingen prefiks funnet." -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "Administrer kommando aliaser." -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "Administrer globale aliaser." -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "Legg til et alias for en kommando." -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "Du forsøkte å opprette et nytt alias med navnet {name} men navnet er allerede en kommando på denne boten." -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "Du forsøkte å opprette et nytt alias med navnet {name} men aliaset finnes allerede på denne serveren." -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "Du forsøkte å opprette et nytt alias med navnet {name} men navnet er et ugyldig aliasnavn. Aliasnavn kan ikke inneholde mellomrom." -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "Et nytt alias med utløseren \"{name}\" har blitt opprettet." -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "Legg til et globalt alias for en kommando." -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "Du forsøkte å opprette et nytt globalt alias med navnet {navn} men navnet er allerede en kommando på denne boten." -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "Du forsøkte å opprette et nytt alias med navnet {navn} men aliaset finnes allerede på denne serveren." -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "Du forsøkte å opprette et nytt globalt alias med navnet {name} men navnet er et ugyldig aliasnavn. Aliasnavn kan ikke inneholde mellomrom." -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "Et nytt globalt alias med utløseren '{name}' har blitt opprettet." -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "" -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "Ingen slike alias finnes." -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "" -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "" -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "Det er ingen aliaser på denne serveren." -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "" -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "" -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "" -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "Det er ingen aliaser på denne boten." -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "Aliaser:" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "" diff --git a/redbot/cogs/alias/locales/pl-PL.po b/redbot/cogs/alias/locales/pl-PL.po index 587659aeb..ab5315419 100644 --- a/redbot/cogs/alias/locales/pl-PL.po +++ b/redbot/cogs/alias/locales/pl-PL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,136 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: pl_PL\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "" + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "Nie znaleziono prefiksu." -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "" -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "" -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "" -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" -msgstr "" +msgstr "{prefix}help {command}" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "Taki alias nie istnieje." -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "" -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "" -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "Nie ma aliasów na tym serwerze." -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "" -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "" -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "" -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "Nie ma żadnych aliasów dla tego bota." -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "Aliasy:" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "" diff --git a/redbot/cogs/alias/locales/pt-BR.po b/redbot/cogs/alias/locales/pt-BR.po index 4f881f4b3..d6845397a 100644 --- a/redbot/cogs/alias/locales/pt-BR.po +++ b/redbot/cogs/alias/locales/pt-BR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese, Brazilian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,136 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: pt_BR\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "" + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "Nenhum prefixo encontrado." -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "" -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "" -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "" -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "Alias inexistente." -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "" -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "" -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "Não há nenhum alias neste servidor." -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "" -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "" -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "" -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "Não há nenhum alias nesse bot." -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "Alias:" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "" diff --git a/redbot/cogs/alias/locales/pt-PT.po b/redbot/cogs/alias/locales/pt-PT.po index adae8999d..6743a13f8 100644 --- a/redbot/cogs/alias/locales/pt-PT.po +++ b/redbot/cogs/alias/locales/pt-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,136 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: pt_PT\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "" + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "" -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "" -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "" -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "" -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "" -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "" -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "" -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "" -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "" -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "" -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "" diff --git a/redbot/cogs/alias/locales/ro-RO.po b/redbot/cogs/alias/locales/ro-RO.po new file mode 100644 index 000000000..0e8034b0e --- /dev/null +++ b/redbot/cogs/alias/locales/ro-RO.po @@ -0,0 +1,154 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:09\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Romanian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /cogs/alias/locales/messages.pot\n" +"Language: ro_RO\n" + +#: redbot/cogs/alias/alias.py:35 +#, docstring +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " +msgstr "" + +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "" + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 +msgid "No prefix found." +msgstr "" + +#: redbot/cogs/alias/alias.py:231 +#, docstring +msgid "Manage command aliases." +msgstr "" + +#: redbot/cogs/alias/alias.py:236 +#, docstring +msgid "Manage global aliases." +msgstr "" + +#: redbot/cogs/alias/alias.py:243 +#, docstring +msgid "Add an alias for a command." +msgstr "" + +#: redbot/cogs/alias/alias.py:248 +msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." +msgstr "" + +#: redbot/cogs/alias/alias.py:259 +msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." +msgstr "" + +#: redbot/cogs/alias/alias.py:270 +msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." +msgstr "" + +#: redbot/cogs/alias/alias.py:289 +msgid "A new alias with the trigger `{name}` has been created." +msgstr "" + +#: redbot/cogs/alias/alias.py:295 +#, docstring +msgid "Add a global alias for a command." +msgstr "" + +#: redbot/cogs/alias/alias.py:300 +msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." +msgstr "" + +#: redbot/cogs/alias/alias.py:311 +msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." +msgstr "" + +#: redbot/cogs/alias/alias.py:322 +msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." +msgstr "" + +#: redbot/cogs/alias/alias.py:338 +msgid "A new global alias with the trigger `{name}` has been created." +msgstr "" + +#: redbot/cogs/alias/alias.py:346 +#, docstring +msgid "Try to execute help for the base command of the alias." +msgstr "" + +#: redbot/cogs/alias/alias.py:355 +msgid "{prefix}help {command}" +msgstr "" + +#: redbot/cogs/alias/alias.py:360 +msgid "No such alias exists." +msgstr "" + +#: redbot/cogs/alias/alias.py:365 +#, docstring +msgid "Show what command the alias executes." +msgstr "" + +#: redbot/cogs/alias/alias.py:370 +msgid "The `{alias_name}` alias will execute the command `{command}`" +msgstr "" + +#: redbot/cogs/alias/alias.py:375 +msgid "There is no alias with the name `{name}`" +msgstr "" + +#: redbot/cogs/alias/alias.py:381 +#, docstring +msgid "Delete an existing alias on this server." +msgstr "" + +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 +msgid "There are no aliases on this server." +msgstr "" + +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 +msgid "Alias with the name `{name}` was successfully deleted." +msgstr "" + +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 +msgid "Alias with name `{name}` was not found." +msgstr "" + +#: redbot/cogs/alias/alias.py:399 +#, docstring +msgid "Delete an existing global alias." +msgstr "" + +#: redbot/cogs/alias/alias.py:404 +msgid "There are no aliases on this bot." +msgstr "" + +#: redbot/cogs/alias/alias.py:417 +#, docstring +msgid "List the available aliases on this server." +msgstr "" + +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 +msgid "Aliases:" +msgstr "" + +#: redbot/cogs/alias/alias.py:428 +#, docstring +msgid "List the available global aliases on this bot." +msgstr "" + diff --git a/redbot/cogs/alias/locales/ru-RU.po b/redbot/cogs/alias/locales/ru-RU.po index 2be47b159..835bcd513 100644 --- a/redbot/cogs/alias/locales/ru-RU.po +++ b/redbot/cogs/alias/locales/ru-RU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 05:52\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,142 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: ru_RU\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " -msgstr "Создать псевдонимы для команд.\n\n" -" Псевдонимы - это альтернативные сочетания имен для команд.\n" -" Они могут действовать как лямбда (хранение аргументов для\n" -" многократного использования) или просто как ярлык «а б в».\n\n" -" При запуске псевдонимы принимают любые дополнительные\n" -" аргументы и добавляют их к сохраненному псевдониму.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " +msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "Аргументы должны быть указаны с числом." + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "Аргументы должны быть последовательными. Отсутствующие аргументы: " + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "Префикс не найден." -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "Управление псевдонимами команд." -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "Управление глобальными псевдонимами." -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "Добавить псевдоним для команды." -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." -msgstr "Вы попытались создать новый псевдоним с именем {name}, но это имя уже является командой для этого бота." +msgstr "Вы попытались создать новый псевдоним {name}, но это имя уже является командой для этого бота." -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." -msgstr "Вы попытались создать новый псевдоним с именем {name}, но этот псевдоним уже существует на этом сервере." +msgstr "Вы пытались создать новый псевдоним {name}, но этот псевдоним уже существует на этом сервере." -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." -msgstr "Вы попытались создать новый псевдоним с именем {name}, но это имя является недопустимым псевдонимом. Имена псевдонимов могут не содержать пробелов." +msgstr "Вы попытались создать новый псевдоним {name}, но это имя является недопустимым псевдонимом. Имена псевдонимов не могут содержать пробелов." -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "Новый псевдоним с триггером `{name}` был создан." -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "Добавить глобальный псевдоним для команды." -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." -msgstr "Вы попытались создать новый глобальный псевдоним с именем {name}, но это имя уже является командой для этого бота." +msgstr "Вы попытались создать новый глобальный псевдоним {name}, но это имя уже является командой для этого бота." -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." -msgstr "Вы попытались создать новый глобальный псевдоним с именем {name}, но этот псевдоним уже существует на этом сервере." +msgstr "Вы попытались создать новый глобальный псевдоним {name}, но этот псевдоним уже существует на этом сервере." -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." -msgstr "Вы попытались создать новый глобальный псевдоним с именем {name}, но это имя является недопустимым псевдонимом. Имена псевдонимов могут не содержать пробелов." +msgstr "Вы попытались создать новый глобальный псевдоним {name}, но это имя является недопустимым псевдонимом. Имена псевдонимов не могут содержать пробелов." -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "Новый глобальный псевдоним с триггером `{name}` был создан." -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." -msgstr "Попробуйте выполнить справку для базовой команды псевдонима." +msgstr "Попробуйте вызвать справку для базовой команды псевдонима." -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "{prefix}help {command}" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." -msgstr "Псевдоним не найден." +msgstr "Псевдоним не существует." -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "Показать, какую команду выполняет псевдоним." -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "Псевдоним `{alias_name}` будет выполнять команду `{command}`" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "Нет псевдонима с именем `{name}`" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "Удалить существующий псевдоним на этом сервере." -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "На этом сервере нет псевдонимов." -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "Псевдоним с именем `{name}` был успешно удален." -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "Псевдоним с именем `{name}` не найден." -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "Удалить существующий глобальный псевдоним." -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "У этого бота нет псевдонимов." -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "Список доступных псевдонимов на этом сервере." -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "Псевдонимы:" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "Список доступных глобальных псевдонимов для этого бота." diff --git a/redbot/cogs/alias/locales/sk-SK.po b/redbot/cogs/alias/locales/sk-SK.po index f5c14f9c4..d2445185e 100644 --- a/redbot/cogs/alias/locales/sk-SK.po +++ b/redbot/cogs/alias/locales/sk-SK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Slovak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,136 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: sk_SK\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "" + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "" -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "" -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "" -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "" -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "" -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "" -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "" -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "" -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "" -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "" -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "" diff --git a/redbot/cogs/alias/locales/sv-SE.po b/redbot/cogs/alias/locales/sv-SE.po index d456d95d9..7048f3f9f 100644 --- a/redbot/cogs/alias/locales/sv-SE.po +++ b/redbot/cogs/alias/locales/sv-SE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,136 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: sv_SE\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "" + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "Inget prefix hittat." -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "" -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "" -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "" -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "Detta alias existerar inte." -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "" -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "" -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "Det finns inga alias på denna server." -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "" -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "" -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "" -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "Det finns inga alias för denna bot." -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "Alias:" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "" diff --git a/redbot/cogs/alias/locales/tr-TR.po b/redbot/cogs/alias/locales/tr-TR.po index eb73c99a9..f633269bf 100644 --- a/redbot/cogs/alias/locales/tr-TR.po +++ b/redbot/cogs/alias/locales/tr-TR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,136 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: tr_TR\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "" + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "Öneki bulundu." -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "Komut diğer adları yönetmek." -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "Küresel diğer adları yönetmek." -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "Bir komut için bir diğer ad ekleyin." -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "Adı {name} ile yeni bir diğer ad oluşturmak çalıştı, ancak bu adı zaten bu bot bir komutudur." -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "Adı {name} ile yeni bir diğer ad oluşturmak çalıştı, ancak bu diğer adı bu sunucuda zaten vardır." -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "Adı {name} ile yeni bir diğer ad oluşturmak çalıştı ama o ismi geçersiz diğer ad. Diğer ad ad adlar boşluk içeremez." -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "Yeni bir takma ad tetikleyici '{name}' ile oluşturuldu." -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "Bir komut için küresel bir diğer ad ekleyin." -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "Yeni bir küresel diğer adı ile ad {name} oluşturmak çalıştı, ancak bu adı zaten bu bot bir komutudur." -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "Adı {name} ile yeni bir diğer ad oluşturmak çalıştı, ancak bu adı zaten bu bot bir komutudur." -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "Yeni bir küresel diğer adı ile ad {name} oluşturmaya çalıştı ama o ismi geçersiz diğer ad. Diğer ad ad adlar boşluk içeremez." -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "Yeni bir küresel diğer ad tetikleyici '{name}' ile oluşturuldu." -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "Diğer temel komutunun yardımını yürütmek deneyin." -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "{prefix}yardımcı {command}" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "Böyle bir takma var yok." -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "Takma adın çalıştırıldığı komutu gösterin." -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "'{alias_name}' diğer ad komut '{command} ' idam edecek" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "Hiç diğer ad ad '{name} ' ile olduğunu" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "Bu sunucuda varolan bir diğer adı silin." -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "Bu sunucuda hiçbir diğer adları vardır." -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "`{name}`adlı takma ad başarıyla silindi." -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "{Name} `adlı takma ad bulunamadı." -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "Mevcut bir global takma adı silin." -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "Bu botta takma adlar yok." -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "Bu sunucudaki kullanılabilir diğer adları listeleyin." -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "Takma adlar:" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "Bu botta mevcut küresel takma adları listeleyiniz." diff --git a/redbot/cogs/alias/locales/zh-CN.po b/redbot/cogs/alias/locales/zh-CN.po index 494d998f5..07772e024 100644 --- a/redbot/cogs/alias/locales/zh-CN.po +++ b/redbot/cogs/alias/locales/zh-CN.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,136 +16,138 @@ msgstr "" "X-Crowdin-File: /cogs/alias/locales/messages.pot\n" "Language: zh_CN\n" -#: redbot/cogs/alias/alias.py:18 +#: redbot/cogs/alias/alias.py:35 #, docstring -msgid "Create aliases for commands.\n\n" -" Aliases are alternative names shortcuts for commands. They\n" -" can act as both a lambda (storing arguments for repeated use)\n" -" or as simply a shortcut to saying \"x y z\".\n\n" -" When run, aliases will accept any additional arguments\n" -" and append them to the stored alias.\n" -" " +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " msgstr "" -#: redbot/cogs/alias/alias.py:130 +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "" + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 msgid "No prefix found." msgstr "找不到前缀" -#: redbot/cogs/alias/alias.py:179 +#: redbot/cogs/alias/alias.py:231 #, docstring msgid "Manage command aliases." msgstr "" -#: redbot/cogs/alias/alias.py:184 +#: redbot/cogs/alias/alias.py:236 #, docstring msgid "Manage global aliases." msgstr "" -#: redbot/cogs/alias/alias.py:191 +#: redbot/cogs/alias/alias.py:243 #, docstring msgid "Add an alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:196 +#: redbot/cogs/alias/alias.py:248 msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:207 +#: redbot/cogs/alias/alias.py:259 msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:218 +#: redbot/cogs/alias/alias.py:270 msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:234 +#: redbot/cogs/alias/alias.py:289 msgid "A new alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:240 +#: redbot/cogs/alias/alias.py:295 #, docstring msgid "Add a global alias for a command." msgstr "" -#: redbot/cogs/alias/alias.py:245 +#: redbot/cogs/alias/alias.py:300 msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." msgstr "" -#: redbot/cogs/alias/alias.py:256 +#: redbot/cogs/alias/alias.py:311 msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." msgstr "" -#: redbot/cogs/alias/alias.py:267 +#: redbot/cogs/alias/alias.py:322 msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." msgstr "" -#: redbot/cogs/alias/alias.py:280 +#: redbot/cogs/alias/alias.py:338 msgid "A new global alias with the trigger `{name}` has been created." msgstr "" -#: redbot/cogs/alias/alias.py:288 +#: redbot/cogs/alias/alias.py:346 #, docstring msgid "Try to execute help for the base command of the alias." msgstr "" -#: redbot/cogs/alias/alias.py:297 +#: redbot/cogs/alias/alias.py:355 msgid "{prefix}help {command}" msgstr "" -#: redbot/cogs/alias/alias.py:302 +#: redbot/cogs/alias/alias.py:360 msgid "No such alias exists." msgstr "不存在该别名。" -#: redbot/cogs/alias/alias.py:307 +#: redbot/cogs/alias/alias.py:365 #, docstring msgid "Show what command the alias executes." msgstr "" -#: redbot/cogs/alias/alias.py:312 +#: redbot/cogs/alias/alias.py:370 msgid "The `{alias_name}` alias will execute the command `{command}`" msgstr "" -#: redbot/cogs/alias/alias.py:317 +#: redbot/cogs/alias/alias.py:375 msgid "There is no alias with the name `{name}`" msgstr "" -#: redbot/cogs/alias/alias.py:323 +#: redbot/cogs/alias/alias.py:381 #, docstring msgid "Delete an existing alias on this server." msgstr "" -#: redbot/cogs/alias/alias.py:328 redbot/cogs/alias/alias.py:364 -#: redbot/cogs/alias/alias.py:375 +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 msgid "There are no aliases on this server." msgstr "在这个服务器上没有别名。" -#: redbot/cogs/alias/alias.py:333 redbot/cogs/alias/alias.py:351 +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 msgid "Alias with the name `{name}` was successfully deleted." msgstr "" -#: redbot/cogs/alias/alias.py:336 redbot/cogs/alias/alias.py:354 +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 msgid "Alias with name `{name}` was not found." msgstr "" -#: redbot/cogs/alias/alias.py:341 +#: redbot/cogs/alias/alias.py:399 #, docstring msgid "Delete an existing global alias." msgstr "" -#: redbot/cogs/alias/alias.py:346 +#: redbot/cogs/alias/alias.py:404 msgid "There are no aliases on this bot." msgstr "这个机器人上没有别名。" -#: redbot/cogs/alias/alias.py:359 +#: redbot/cogs/alias/alias.py:417 #, docstring msgid "List the available aliases on this server." msgstr "" -#: redbot/cogs/alias/alias.py:360 redbot/cogs/alias/alias.py:371 +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 msgid "Aliases:" msgstr "别名:" -#: redbot/cogs/alias/alias.py:370 +#: redbot/cogs/alias/alias.py:428 #, docstring msgid "List the available global aliases on this bot." msgstr "" diff --git a/redbot/cogs/alias/locales/zh-TW.po b/redbot/cogs/alias/locales/zh-TW.po new file mode 100644 index 000000000..3aa21cfbe --- /dev/null +++ b/redbot/cogs/alias/locales/zh-TW.po @@ -0,0 +1,154 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Chinese Traditional\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /cogs/alias/locales/messages.pot\n" +"Language: zh_TW\n" + +#: redbot/cogs/alias/alias.py:35 +#, docstring +msgid "Create aliases for commands.\\n\\n Aliases are alternative names shortcuts for commands. They\\n can act as both a lambda (storing arguments for repeated use)\\n or as simply a shortcut to saying \\\"x y z\\\".\\n\\n When run, aliases will accept any additional arguments\\n and append them to the stored alias.\\n " +msgstr "" + +#: redbot/cogs/alias/alias.py:107 +msgid "Arguments must be specified with a number." +msgstr "" + +#: redbot/cogs/alias/alias.py:114 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/alias/alias.py:164 +msgid "No prefix found." +msgstr "" + +#: redbot/cogs/alias/alias.py:231 +#, docstring +msgid "Manage command aliases." +msgstr "" + +#: redbot/cogs/alias/alias.py:236 +#, docstring +msgid "Manage global aliases." +msgstr "" + +#: redbot/cogs/alias/alias.py:243 +#, docstring +msgid "Add an alias for a command." +msgstr "" + +#: redbot/cogs/alias/alias.py:248 +msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot." +msgstr "" + +#: redbot/cogs/alias/alias.py:259 +msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server." +msgstr "" + +#: redbot/cogs/alias/alias.py:270 +msgid "You attempted to create a new alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." +msgstr "" + +#: redbot/cogs/alias/alias.py:289 +msgid "A new alias with the trigger `{name}` has been created." +msgstr "" + +#: redbot/cogs/alias/alias.py:295 +#, docstring +msgid "Add a global alias for a command." +msgstr "" + +#: redbot/cogs/alias/alias.py:300 +msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot." +msgstr "" + +#: redbot/cogs/alias/alias.py:311 +msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server." +msgstr "" + +#: redbot/cogs/alias/alias.py:322 +msgid "You attempted to create a new global alias with the name {name} but that name is an invalid alias name. Alias names may not contain spaces." +msgstr "" + +#: redbot/cogs/alias/alias.py:338 +msgid "A new global alias with the trigger `{name}` has been created." +msgstr "" + +#: redbot/cogs/alias/alias.py:346 +#, docstring +msgid "Try to execute help for the base command of the alias." +msgstr "" + +#: redbot/cogs/alias/alias.py:355 +msgid "{prefix}help {command}" +msgstr "" + +#: redbot/cogs/alias/alias.py:360 +msgid "No such alias exists." +msgstr "" + +#: redbot/cogs/alias/alias.py:365 +#, docstring +msgid "Show what command the alias executes." +msgstr "" + +#: redbot/cogs/alias/alias.py:370 +msgid "The `{alias_name}` alias will execute the command `{command}`" +msgstr "" + +#: redbot/cogs/alias/alias.py:375 +msgid "There is no alias with the name `{name}`" +msgstr "" + +#: redbot/cogs/alias/alias.py:381 +#, docstring +msgid "Delete an existing alias on this server." +msgstr "" + +#: redbot/cogs/alias/alias.py:386 redbot/cogs/alias/alias.py:422 +#: redbot/cogs/alias/alias.py:433 +msgid "There are no aliases on this server." +msgstr "" + +#: redbot/cogs/alias/alias.py:391 redbot/cogs/alias/alias.py:409 +msgid "Alias with the name `{name}` was successfully deleted." +msgstr "" + +#: redbot/cogs/alias/alias.py:394 redbot/cogs/alias/alias.py:412 +msgid "Alias with name `{name}` was not found." +msgstr "" + +#: redbot/cogs/alias/alias.py:399 +#, docstring +msgid "Delete an existing global alias." +msgstr "" + +#: redbot/cogs/alias/alias.py:404 +msgid "There are no aliases on this bot." +msgstr "" + +#: redbot/cogs/alias/alias.py:417 +#, docstring +msgid "List the available aliases on this server." +msgstr "" + +#: redbot/cogs/alias/alias.py:418 redbot/cogs/alias/alias.py:429 +msgid "Aliases:" +msgstr "" + +#: redbot/cogs/alias/alias.py:428 +#, docstring +msgid "List the available global aliases on this bot." +msgstr "" + diff --git a/redbot/cogs/audio/locales/ar-SA.po b/redbot/cogs/audio/locales/ar-SA.po index 4e7147f7a..e119eca0d 100644 --- a/redbot/cogs/audio/locales/ar-SA.po +++ b/redbot/cogs/audio/locales/ar-SA.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,971 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: ar_SA\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." msgstr "" -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" msgstr "" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "" -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "" -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." msgstr "" -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." msgstr "" -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." msgstr "" -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." msgstr "" -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "" - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "" - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." msgstr "" -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "" -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "" -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "" + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "" -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." +msgid "Instructions to set the Spotify API tokens." msgstr "" -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "" - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "" - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "" - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "" -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "" -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "" -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "" -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "" -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "" -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "" -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "" -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "" -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "" -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "" -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "" -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "" -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "" -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "" -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "" -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "" -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "" -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." +msgid "Pause or resume a playing track." msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "" - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "" - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "" -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "" -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "" -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." msgstr "" -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." msgstr "" -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." msgstr "" -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." msgstr "" -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." msgstr "" -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." msgstr "" -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." msgstr "" -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." msgstr "" -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." msgstr "" -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." msgstr "" -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." msgstr "" -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." msgstr "" -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." msgstr "" -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "" -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "" -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "" -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "" -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "" -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "" -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " +msgid "List the songs in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "" -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "" -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "" -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "" -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" +msgid "Make Red sing one of her songs." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." +msgid "Skip to the next track, or to a given track number." msgstr "" -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "" -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr "" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "" -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "" -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "" -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "" -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "" -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "" -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "" -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "" -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "" -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "" -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "" -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "" diff --git a/redbot/cogs/audio/locales/bg-BG.po b/redbot/cogs/audio/locales/bg-BG.po index 49685e1e0..d33dbb82b 100644 --- a/redbot/cogs/audio/locales/bg-BG.po +++ b/redbot/cogs/audio/locales/bg-BG.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Bulgarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,971 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: bg_BG\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." msgstr "" -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" msgstr "" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "" -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "" -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." msgstr "" -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." msgstr "" -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." msgstr "" -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." msgstr "" -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "" - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "" - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." msgstr "" -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "" -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "" -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "" + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "" -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." +msgid "Instructions to set the Spotify API tokens." msgstr "" -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "" - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "" - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "" - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "" -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "" -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "" -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "" -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "" -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "" -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "" -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "" -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "" -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "" -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "" -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "" -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "" -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "" -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "" -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "" -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "" -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "" -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." +msgid "Pause or resume a playing track." msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "" - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "" - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "" -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "" -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "" -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." msgstr "" -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." msgstr "" -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." msgstr "" -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." msgstr "" -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." msgstr "" -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." msgstr "" -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." msgstr "" -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." msgstr "" -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." msgstr "" -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." msgstr "" -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." msgstr "" -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." msgstr "" -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." msgstr "" -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "" -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "" -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "" -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "" -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "" -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "" -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " +msgid "List the songs in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "" -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "" -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "" -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "" -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" +msgid "Make Red sing one of her songs." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." +msgid "Skip to the next track, or to a given track number." msgstr "" -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "" -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr "" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "" -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "" -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "" -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "" -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "" -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "" -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "" -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "" -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "" -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "" -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "" -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "" diff --git a/redbot/cogs/audio/locales/cs-CZ.po b/redbot/cogs/audio/locales/cs-CZ.po new file mode 100644 index 000000000..6d1a3303b --- /dev/null +++ b/redbot/cogs/audio/locales/cs-CZ.po @@ -0,0 +1,1290 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: cs\n" +"X-Crowdin-File: /cogs/audio/locales/messages.pot\n" +"Language: cs_CZ\n" + +#: redbot/cogs/audio/audio.py:47 +#, docstring +msgid "Play audio through voice channels." +msgstr "" + +#: redbot/cogs/audio/audio.py:260 +msgid "music in {} servers" +msgstr "" + +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "" + +#: redbot/cogs/audio/audio.py:331 +msgid "Queue ended." +msgstr "" + +#: redbot/cogs/audio/audio.py:350 +msgid "Track Error" +msgstr "" + +#: redbot/cogs/audio/audio.py:355 +msgid "Skipping..." +msgstr "" + +#: redbot/cogs/audio/audio.py:363 +#, docstring +msgid "Music configuration options." +msgstr "" + +#: redbot/cogs/audio/audio.py:369 +#, docstring +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 +msgid "Please set a role to use with DJ mode. Enter the role name or ID now." +msgstr "" + +#: redbot/cogs/audio/audio.py:400 +msgid "Response timed out, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 +#, docstring +msgid "Auto-disconnection after x seconds while stopped. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 +msgid "Can't be less than zero." +msgstr "" + +#: redbot/cogs/audio/audio.py:418 +msgid "Empty disconnect disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:423 +msgid "Empty disconnect timer set to {num_seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:434 +#, docstring +msgid "Set a price for queueing tracks for non-mods. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:439 +msgid "Jukebox mode disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:444 +msgid "Track queueing command price set to {price} {currency}." +msgstr "" + +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 +#, docstring +msgid "Toggle track announcement and other bot messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:563 +msgid "Verbose mode on: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "" + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:589 +#, docstring +msgid "Show the current settings." +msgstr "" + +#: redbot/cogs/audio/audio.py:604 +msgid "Server Settings" +msgstr "" + +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 +#, docstring +msgid "Instructions to set the Spotify API tokens." +msgstr "" + +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" +msgstr "" + +#: redbot/cogs/audio/audio.py:665 +#, docstring +msgid "Enable/disable tracks' titles as status." +msgstr "" + +#: redbot/cogs/audio/audio.py:669 +msgid "Song titles as status: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 +#, docstring +msgid "Audio stats." +msgstr "" + +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 +msgid "Nothing playing." +msgstr "" + +#: redbot/cogs/audio/audio.py:758 +msgid "Not connected anywhere." +msgstr "" + +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" +msgstr "" + +#: redbot/cogs/audio/audio.py:779 +#, docstring +msgid "Bump a track number to the top of the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:788 +msgid "You must be in the voice channel to bump a track." +msgstr "" + +#: redbot/cogs/audio/audio.py:792 +msgid "You need the DJ role to bump tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 +msgid "Song number must be greater than 1 and within the queue limit." +msgstr "" + +#: redbot/cogs/audio/audio.py:810 +msgid "Moved {track} to the top of the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:817 +#, docstring +msgid "Disconnect from the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:826 +msgid "You need the DJ role to disconnect." +msgstr "" + +#: redbot/cogs/audio/audio.py:830 +msgid "There are other people listening to music." +msgstr "" + +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 +#, docstring +msgid "Local playback commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:1104 +#, docstring +msgid "Play all songs in a localtracks folder." +msgstr "" + +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 +#, docstring +msgid "Play a local track." +msgstr "" + +#: redbot/cogs/audio/audio.py:1126 +msgid "No local track folders found." +msgstr "" + +#: redbot/cogs/audio/audio.py:1169 +#, docstring +msgid "Search for songs across all localtracks folders." +msgstr "" + +#: redbot/cogs/audio/audio.py:1174 +msgid "No album folders found." +msgstr "" + +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 +msgid "No matches." +msgstr "" + +#: redbot/cogs/audio/audio.py:1269 +msgid "No localtracks folder." +msgstr "" + +#: redbot/cogs/audio/audio.py:1278 +#, docstring +msgid "Now playing." +msgstr "" + +#: redbot/cogs/audio/audio.py:1298 +msgid "Requested by: **{track.requester}**" +msgstr "" + +#: redbot/cogs/audio/audio.py:1308 +msgid "Nothing." +msgstr "" + +#: redbot/cogs/audio/audio.py:1368 +#, docstring +msgid "Pause or resume a playing track." +msgstr "" + +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." +msgstr "" + +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:1401 +msgid "Track Paused" +msgstr "" + +#: redbot/cogs/audio/audio.py:1407 +msgid "Track Resumed" +msgstr "" + +#: redbot/cogs/audio/audio.py:1417 +#, docstring +msgid "Queue percentage." +msgstr "" + +#: redbot/cogs/audio/audio.py:1443 +msgid "Nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:1465 +msgid "Queued and playing tracks:" +msgstr "" + +#: redbot/cogs/audio/audio.py:1474 +#, docstring +msgid "Play a URL or search for a track." +msgstr "" + +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 +msgid "I don't have permission to connect to your channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 +msgid "Connect to a voice channel first." +msgstr "" + +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 +msgid "Connection to Lavalink has not yet been established." +msgstr "" + +#: redbot/cogs/audio/audio.py:1508 +msgid "You need the DJ role to queue tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:1519 +msgid "You must be in the voice channel to use the play command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1525 +msgid "No tracks to play." +msgstr "" + +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 +msgid "Nothing found." +msgstr "" + +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 +msgid "Playlist Enqueued" +msgstr "" + +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1695 +msgid "{time} until start of playlist playback: starts at #{position} in queue" +msgstr "" + +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 +msgid "Track Enqueued" +msgstr "" + +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 +msgid "{time} until track playback: #{position} in queue" +msgstr "" + +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 +msgid "#{position} in queue" +msgstr "" + +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 +#, docstring +msgid "Playlist configuration options." +msgstr "" + +#: redbot/cogs/audio/audio.py:1876 +#, docstring +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 +msgid "You are not the author of that playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1898 +msgid "{track} is already in {playlist}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 +msgid "No playlist with that name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1914 +msgid "{track} appended to {playlist}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1920 +msgid "{num} tracks appended to {playlist}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 +#, docstring +msgid "Create an empty playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 +msgid "You need the DJ role to save playlists." +msgstr "" + +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 +msgid "Playlist name already exists, try again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:2017 +msgid "Empty playlist {name} created." +msgstr "" + +#: redbot/cogs/audio/audio.py:2021 +#, docstring +msgid "Delete a saved playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2033 +msgid "{name} playlist deleted." +msgstr "" + +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 +#, docstring +msgid "Retrieve information from a saved playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:2126 +#, docstring +msgid "List saved playlists." +msgstr "" + +#: redbot/cogs/audio/audio.py:2129 +msgid "No saved playlists." +msgstr "" + +#: redbot/cogs/audio/audio.py:2141 +msgid "Tracks: {num}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2166 +msgid "Playlists for {server_name}:" +msgstr "" + +#: redbot/cogs/audio/audio.py:2170 +msgid "Page {page_num}/{total_pages} | {num} playlists" +msgstr "" + +#: redbot/cogs/audio/audio.py:2179 +#, docstring +msgid "Save the queue to a playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 +msgid "Please enter a name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2227 +msgid "Playlist {name} saved from current queue: {num} tracks added." +msgstr "" + +#: redbot/cogs/audio/audio.py:2234 +#, docstring +msgid "Remove a track from a playlist by url." +msgstr "" + +#: redbot/cogs/audio/audio.py:2248 +msgid "URL not in playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2252 +msgid "No tracks left, removing playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2259 +msgid "{num} entries have been removed from the {playlist_name} playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2266 +msgid "The track has been removed from the {playlist_name} playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2273 +#, docstring +msgid "Save a playlist from a url." +msgstr "" + +#: redbot/cogs/audio/audio.py:2285 +msgid "Playlist {name} saved: {num} tracks added." +msgstr "" + +#: redbot/cogs/audio/audio.py:2292 +#, docstring +msgid "Load a playlist into the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2336 +#, docstring +msgid "Convert a Red v2 playlist file to a playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2342 +msgid "Please upload the playlist file. Any other message will cancel this operation." +msgstr "" + +#: redbot/cogs/audio/audio.py:2350 +msgid "No file detected, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:2354 +msgid "Upload cancelled." +msgstr "" + +#: redbot/cogs/audio/audio.py:2358 +msgid "Only playlist files can be uploaded." +msgstr "" + +#: redbot/cogs/audio/audio.py:2363 +msgid "Not a valid playlist file." +msgstr "" + +#: redbot/cogs/audio/audio.py:2379 +msgid "A playlist already exists with this name." +msgstr "" + +#: redbot/cogs/audio/audio.py:2407 +msgid "No tracks found." +msgstr "" + +#: redbot/cogs/audio/audio.py:2413 +msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." +msgstr "" + +#: redbot/cogs/audio/audio.py:2418 +msgid "Added {num} tracks from the {playlist_name} playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2422 +msgid "Playlist Saved" +msgstr "" + +#: redbot/cogs/audio/audio.py:2433 +msgid "You need the DJ role to use playlists." +msgstr "" + +#: redbot/cogs/audio/audio.py:2471 +msgid "You must be in the voice channel to use the playlist command." +msgstr "" + +#: redbot/cogs/audio/audio.py:2525 +#, docstring +msgid "Skip to the start of the previously played track." +msgstr "" + +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 +msgid "You need the DJ role to skip tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 +msgid "You must be in the voice channel to skip the music." +msgstr "" + +#: redbot/cogs/audio/audio.py:2543 +msgid "Turn shuffle off to use this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:2545 +msgid "No previous track." +msgstr "" + +#: redbot/cogs/audio/audio.py:2562 +msgid "Replaying Track" +msgstr "" + +#: redbot/cogs/audio/audio.py:2571 +#, docstring +msgid "List the songs in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2622 +msgid "**Currently livestreaming:**" +msgstr "" + +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 +msgid "Requested by: **{user}**" +msgstr "" + +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 +msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" +msgstr "" + +#: redbot/cogs/audio/audio.py:2693 +msgid "Repeat" +msgstr "" + +#: redbot/cogs/audio/audio.py:2695 +msgid "Shuffle" +msgstr "" + +#: redbot/cogs/audio/audio.py:2740 +msgid "Matching Tracks:" +msgstr "" + +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 +msgid "Page {page_num}/{total_pages}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 +#, docstring +msgid "Toggle repeat." +msgstr "" + +#: redbot/cogs/audio/audio.py:2835 +msgid "You need the DJ role to toggle repeat." +msgstr "" + +#: redbot/cogs/audio/audio.py:2843 +msgid "You must be in the voice channel to toggle repeat." +msgstr "" + +#: redbot/cogs/audio/audio.py:2849 +msgid "Repeat tracks: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:2857 +#, docstring +msgid "Remove a specific track number from the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2863 +msgid "Nothing queued." +msgstr "" + +#: redbot/cogs/audio/audio.py:2866 +msgid "You need the DJ role to remove tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2871 +msgid "You must be in the voice channel to manage the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2887 +msgid "Removed {track} from the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2894 +#, docstring +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:2958 +msgid "You must be in the voice channel to enqueue tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3003 +msgid "{time} until start of search playback: starts at #{position} in queue" +msgstr "" + +#: redbot/cogs/audio/audio.py:3169 +msgid "Tracks Found:" +msgstr "" + +#: redbot/cogs/audio/audio.py:3170 +msgid "search results" +msgstr "" + +#: redbot/cogs/audio/audio.py:3173 +msgid "Folders Found:" +msgstr "" + +#: redbot/cogs/audio/audio.py:3174 +msgid "local folders" +msgstr "" + +#: redbot/cogs/audio/audio.py:3176 +msgid "Files Found:" +msgstr "" + +#: redbot/cogs/audio/audio.py:3177 +msgid "local tracks" +msgstr "" + +#: redbot/cogs/audio/audio.py:3195 +#, docstring +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." +msgstr "" + +#: redbot/cogs/audio/audio.py:3206 +msgid "You must be in the voice channel to use seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3211 +msgid "You need the DJ role to use seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 +msgid "There are other people listening - vote to skip instead." +msgstr "" + +#: redbot/cogs/audio/audio.py:3221 +msgid "Can't seek on a stream." +msgstr "" + +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 +msgid "Moved {num_seconds}s to 00:00:00" +msgstr "" + +#: redbot/cogs/audio/audio.py:3241 +msgid "Moved {num_seconds}s to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 +#, docstring +msgid "Toggle shuffle." +msgstr "" + +#: redbot/cogs/audio/audio.py:3265 +msgid "You need the DJ role to toggle shuffle." +msgstr "" + +#: redbot/cogs/audio/audio.py:3273 +msgid "You must be in the voice channel to toggle shuffle." +msgstr "" + +#: redbot/cogs/audio/audio.py:3279 +msgid "Shuffle tracks: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:3287 +#, docstring +msgid "Make Red sing one of her songs." +msgstr "" + +#: redbot/cogs/audio/audio.py:3303 +#, docstring +msgid "Skip to the next track, or to a given track number." +msgstr "" + +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 +msgid "I removed your vote to skip." +msgstr "" + +#: redbot/cogs/audio/audio.py:3329 +msgid "You voted to skip." +msgstr "" + +#: redbot/cogs/audio/audio.py:3342 +msgid "Vote threshold met." +msgstr "" + +#: redbot/cogs/audio/audio.py:3345 +msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" +msgstr "" + +#: redbot/cogs/audio/audio.py:3425 +msgid "Currently livestreaming {track}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3432 +msgid "{time} left on {track}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 +msgid "Track Skipped" +msgstr "" + +#: redbot/cogs/audio/audio.py:3493 +#, docstring +msgid "Stop playback and clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:3503 +msgid "You must be in the voice channel to stop the music." +msgstr "" + +#: redbot/cogs/audio/audio.py:3514 +msgid "You need the DJ role to stop the music." +msgstr "" + +#: redbot/cogs/audio/audio.py:3516 +msgid "Stopping..." +msgstr "" + +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 +#, docstring +msgid "Set the volume, 1% - 150%." +msgstr "" + +#: redbot/cogs/audio/audio.py:3571 +msgid "Current Volume:" +msgstr "" + +#: redbot/cogs/audio/audio.py:3583 +msgid "You must be in the voice channel to change the volume." +msgstr "" + +#: redbot/cogs/audio/audio.py:3589 +msgid "You need the DJ role to change the volume." +msgstr "" + +#: redbot/cogs/audio/audio.py:3602 +msgid "Volume:" +msgstr "" + +#: redbot/cogs/audio/audio.py:3613 +#, docstring +msgid "Lavalink server configuration options." +msgstr "" + +#: redbot/cogs/audio/audio.py:3618 +#, docstring +msgid "Toggle using external lavalink servers." +msgstr "" + +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 +msgid "External lavalink server: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:3642 +#, docstring +msgid "Set the lavalink server host." +msgstr "" + +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 +msgid "Host set to {host}." +msgstr "" + +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 +msgid "External lavalink server set to True." +msgstr "" + +#: redbot/cogs/audio/audio.py:3657 +#, docstring +msgid "Set the lavalink server password." +msgstr "" + +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 +msgid "Server password set to {password}." +msgstr "" + +#: redbot/cogs/audio/audio.py:3675 +#, docstring +msgid "Set the lavalink REST server port." +msgstr "" + +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 +msgid "REST port set to {port}." +msgstr "" + +#: redbot/cogs/audio/audio.py:3691 +#, docstring +msgid "Set the lavalink websocket server port." +msgstr "" + +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 +msgid "Websocket port set to {port}." +msgstr "" + +#: redbot/cogs/audio/audio.py:3801 +msgid "Not enough {currency} ({required_credits} required)." +msgstr "" + diff --git a/redbot/cogs/audio/locales/da-DK.po b/redbot/cogs/audio/locales/da-DK.po index 065069bd9..fa716bc74 100644 --- a/redbot/cogs/audio/locales/da-DK.po +++ b/redbot/cogs/audio/locales/da-DK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,971 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: da_DK\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." msgstr "" -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" msgstr "" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "" -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "" -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." msgstr "" -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." msgstr "" -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." msgstr "" -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." msgstr "" -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "" - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "" - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." msgstr "" -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "" -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "" -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "" + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "" -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." +msgid "Instructions to set the Spotify API tokens." msgstr "" -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "" - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "" - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "" - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "" -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "" -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "" -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "" -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "" -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "" -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "" -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "" -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "" -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "" -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "" -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "" -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "" -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "" -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "" -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "" -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "" -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "" -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." +msgid "Pause or resume a playing track." msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "" - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "" - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "" -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "" -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "" -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." msgstr "" -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." msgstr "" -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." msgstr "" -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." msgstr "" -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." msgstr "" -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." msgstr "" -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." msgstr "" -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." msgstr "" -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." msgstr "" -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." msgstr "" -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." msgstr "" -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." msgstr "" -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." msgstr "" -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "" -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "" -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "" -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "" -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "" -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "" -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " +msgid "List the songs in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "" -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "" -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "" -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "" -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" +msgid "Make Red sing one of her songs." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." +msgid "Skip to the next track, or to a given track number." msgstr "" -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "" -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr "" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "" -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "" -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "" -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "" -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "" -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "" -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "" -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "" -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "" -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "" -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "" -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "" diff --git a/redbot/cogs/audio/locales/de-DE.po b/redbot/cogs/audio/locales/de-DE.po index a8073dc55..940139d7a 100644 --- a/redbot/cogs/audio/locales/de-DE.po +++ b/redbot/cogs/audio/locales/de-DE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,979 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: de_DE\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." msgstr "Spiele Audio über Sprachkanäle ab." -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "Jetzt läuft" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "Länge des Tracks: {length} | Angefordert von: {user}" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" msgstr "Musik in {} Servern" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "Jetzt läuft" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "Länge des Tracks: {length} | Angefordert von: {user}" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "Warteschlange beendet." -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "Track-Fehler" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "Überspringe..." -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "Musik Konfigurationsoptionen." -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " -msgstr "Schalte DJ Mode um.\n\n" -" DJ Mode erlaubt Benutzern mit der DJ Rolle die Audio Befehle zu nutzen. " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " +msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "Automatischer Disconnect beim Playlistende: {true_or_false}." + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." msgstr "Bitte wähle eine Rolle für den DJ Mode. Gib den Rollen Namen oder die ID jetzt ein." -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." msgstr "Zeitüberschreitung der Antwort, versuch es später erneut." -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "DJ Rolle aktiviert: {true_or_false}." + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "Auto-Disconnect nach x Sekunden wenn gestoppt. 0 zum deaktivieren." -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." msgstr "Kann nicht weniger als Null sein." -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." -msgstr "Leerer Kanal Disconnect deaktiviert." +msgstr "Trennung bei leerem Kanal deaktiviert." -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." msgstr "Leerer Kanal Disconnect Timer gesetzt auf {num_seconds}." -#: redbot/cogs/audio/audio.py:307 +#: redbot/cogs/audio/audio.py:434 +#, docstring +msgid "Set a price for queueing tracks for non-mods. 0 to disable." +msgstr "Lege einen Preis für Nicht-Mods fest, um Lieder einzureihen. 0 zum Deaktivieren." + +#: redbot/cogs/audio/audio.py:439 +msgid "Jukebox mode disabled." +msgstr "Jukebox Modus deaktiviert." + +#: redbot/cogs/audio/audio.py:444 +msgid "Track queueing command price set to {price} {currency}." +msgstr "Der Preis für das Hinzufügen eines Titels in die Warteschlange wurde auf {price} {currency} gesetzt." + +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "Der Pfad für Lokale Musik wurde zu dem standart Pfad zurückgesetzt." + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "{local_path} sieht nicht wie ein gültiges Verzeichnis aus." + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "Das angegebene Verzeichnis besitzt keine {filelist}, Das Verzeichnis wird gespeichert, aber bitte Kontrollieren das Verzeichnis bevor du versuchst lokale Lieder abzuspielen oder deine Lavalink.jar zu starten." + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "Lokaler Pfad gesetzt zu: {local_path}." + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "Maximale Track länge deaktiviert." + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "Maximale Track länge gesetzt zu: {seconds}." + +#: redbot/cogs/audio/audio.py:559 +#, docstring +msgid "Toggle track announcement and other bot messages." +msgstr "Titel-Ankündigung und andere Bot-Nachrichten umschalten." + +#: redbot/cogs/audio/audio.py:563 +msgid "Verbose mode on: {true_or_false}." +msgstr "Ausführlicher Modus eingeschaltet: {true_or_false}." + +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "Kommerzielle Links nur: {true_or_false}." + +#: redbot/cogs/audio/audio.py:582 #, docstring msgid "Set the role to use for DJ mode." msgstr "Wähle die Rolle die für den DJ Mode genutzt wird." -#: redbot/cogs/audio/audio.py:310 +#: redbot/cogs/audio/audio.py:585 msgid "DJ role set to: {role.name}." msgstr "DJ Rolle gesetzt auf: {role.name}." -#: redbot/cogs/audio/audio.py:315 -#, docstring -msgid "Set a price for queueing tracks for non-mods. 0 to disable." -msgstr "Setze einen Preis um Lieder einzureihen für Nicht-Mods. 0 zum deaktivieren." - -#: redbot/cogs/audio/audio.py:320 -msgid "Jukebox mode disabled." -msgstr "Jukebox Modus deaktiviert." - -#: redbot/cogs/audio/audio.py:325 -msgid "Track queueing command price set to {price} {currency}." -msgstr "Der Preis für das Hinzufügen eines Tracks in die Warteschlange wurde auf {price} {currency} gesetzt." - -#: redbot/cogs/audio/audio.py:336 -#, docstring -msgid "Toggle track announcement and other bot messages." -msgstr "Track-Ankündigung und andere Bot-Nachrichten umschalten." - -#: redbot/cogs/audio/audio.py:340 -msgid "Verbose mode on: {true_or_false}." -msgstr "Ausführlichen Modus auf: {true_or_false}." - -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." -msgstr "Zeige aktuelle Einstellungen an" +msgstr "Zeige die aktuellen Einstellungen an." -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "Server Einstellungen" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" -msgstr "Disconnect timer: [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" -msgstr "DJ Rolle: [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" -msgstr "Jukebox: [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" -msgstr "Befehlspreis: [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" -msgstr "Wiederholung: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song benachrichtigen Msgs: [{notify}]\n" -"Songs als Status: [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" -msgstr "Miniaturansichten: [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" -msgstr "Abstimmung überspringen: [{vote_enabled}]\n" -"Skip Prozentsatz: [%{vote_percent}]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" -msgstr "---Lavalink Einstellungen---\n" -"Cog Version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"Externer Server: [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." -msgstr "Zeigt ein Vorschaubild auf Audionachrichten an." +msgid "Instructions to set the Spotify API tokens." +msgstr "Anleitung um die Spotify API tokens einzurichten." -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." -msgstr "Miniaturansicht: {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" +msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "Prozentsatz benötigt für Nicht-Mods, um Tracks zu überspringen. 0 um zu deaktivieren." - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "Voting deaktiviert. Alle Benutzer können Queue Management Befehle verwenden." - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "Stimmen-Anteil auf {percent} % festgelegt." - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." -msgstr "Aktivieren/Deaktivieren Track-Titel als Status." +msgstr "Aktiviert/Deaktiviert Titel als Status." -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "Titel als Status: {true_or_false}." -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "Zeige Miniaturbilder bei Audio-Mitteilungen an." + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "Miniaturansicht: {true_or_false}." + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "Benötigte Stimmen in Prozent für Nicht-Mods, um Titel zu überspringen. 0 um zum Deaktivieren." + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "Abstimmung deaktiviert. Alle Benutzer können Warteschlangen Management Befehle verwenden." + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "Stimmen-Anteil auf {percent} % festgelegt." + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "Anleitung um den YouTube API key einzurichten." + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "Audio-Statistiken." -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." -msgstr "Nichts spielt." +msgstr "Keine Wiedergabe." -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." -msgstr "Nicht überall verbunden." +msgstr "Keine Verbindungen." -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" -msgstr "Verbunden in {num} Server:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" +msgstr "Spielt in {num}/{total} Serverm:" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "Befördert einen Track mit einer bestimmten Nummer an die Spitze der Warteschlange." -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." -msgstr "Du musst dich in dem Sprackkanal des Bot's befinden, um die Reihenfolge der Warteschlange zu verändern." +msgstr "Du musst dich in dem Sprachkanal befinden, um einen Titel an den Anfang der Warteschlange zu schieben." -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." -msgstr "Du benötigst die DJ-Rolle, um die Warteschlange zu verändern." +msgstr "Du benötigst die DJ Rolle, um Titel an den Anfang zu schieben." -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "Die Track Nummer muss zwischen 1 und der Anzahl an Tracks in der Warteschlange liegen." -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "{track} wurde an die Spitze der Warteschlange gesetzt." -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." -msgstr "Verlasse den Sprachkanal." +msgstr "Verbindung zum Sprachkanal trennen." -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." -msgstr "Du benötigst die DJ-Rolle, um die Verbindung zu trennen." +msgstr "Du benötigst die DJ Rolle, um die Verbindung zu trennen." -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "Es gerade andere Leute, die Musik hören." -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "Bitte den Befehl mit einem kürzeren Namen erneut versuchen." + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "Befehle zur lokalen Wiedergabe." -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "Spielt alle Tracks ab, welche sich in einem Lokalen Ordner befinden." -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "Kein Lokaler Musikordner mit dem Namen {name}." + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "Spielt einen Lokalen Track ab." -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "Es wurde kein lokaler Track-Ordner gefunden." -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "Sucht nach Tracks in allen lokalen Ordnern." -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." -msgstr "Es wurde kein Album-Ordner gefunden." +msgstr "Keine Album-Ordner gefunden." -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." -msgstr "Keine Übereinstimmungen." +msgstr "Keine Treffer." -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "Es existiert kein Lokaler Track-Ordner." -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "Aktuelle Wiedergabe." -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "Hinzugefügt von: **{track.requester}**" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "Nichts." -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." -msgstr "Wiedergabe anhalten, zum fortsetzen `[p]resume`." +msgid "Pause or resume a playing track." +msgstr "Pausiere oder setze ein spielendes Lied fort." -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." -msgstr "Du musst dich in dem Sprackkanal des Bot's befinden, um die Wiedergabe zu pausieren." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." +msgstr "Du musst im Voice Channel sein um zu pausieren oder fortzusetzen." -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." -msgstr "Du benötigst die DJ-Rolle, um die Wiedergabe zu pausieren." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." +msgstr "Du brachst die DJ Rolle um zu pausieren oder um fortzusetzen." -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" -msgstr "Track angehalten." +msgstr "Titel pausiert" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" -msgstr "Track wird fortgesetzt." +msgstr "Titel wird fortgesetzt" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "Track ist pausiert." - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "Track wird wiedergegeben." - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." -msgstr "Anteile in Warteschlange (in Prozent)." +msgstr "Position in Warteschlange (in Prozent)." -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "Die Warteschlange ist leer." -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" -msgstr "" +msgstr "Eingereihte und spielende Titel:" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." +msgstr "Spiele eine URL ab oder suche nach einem Titel." + +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "Dieser Link ist nicht erlaubt." + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." -msgstr "" +msgstr "Ich habe keine Berechtigung, um mich zu deinem Kanal zu verbinden." -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." -msgstr "" +msgstr "Verbinde dich zuerst mit einem Sprachkanal." -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." -msgstr "" +msgstr "Verbindung zu Lavalink wurde noch nicht hergestellt." -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." -msgstr "" +msgstr "Du benötigst die DJ Rolle um Titel einzureihen." -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." -msgstr "" +msgstr "Du musst dich in dem Sprachkanal befinden, um den play Befehl zu verwenden." -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." +msgstr "Keine Titel zum Abspielen." + +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "Warte bis die Playlist fertig geladen hat." + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." +msgstr "Nichts gefunden." + +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "Das sieht nicht nach einem gültigen Spotify Code oder einer gültigen URL aus." + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" -msgstr "" +msgstr "Wiedergabeliste eingereiht" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:958 -msgid "{time} until start of playlist playback: starts at #{position} in queue" -msgstr "" - -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 -msgid "Track Enqueued" -msgstr "" - -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 -msgid "{time} until track playback: #{position} in queue" -msgstr "" - -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 -msgid "#{position} in queue" -msgstr "" - -#: redbot/cogs/audio/audio.py:997 -#, docstring -msgid "Playlist configuration options." -msgstr "" - -#: redbot/cogs/audio/audio.py:1002 -#, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " -msgstr "" - -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 -msgid "You are not the author of that playlist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1024 -msgid "{track} is already in {playlist}." -msgstr "" - -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 -msgid "No playlist with that name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1040 -msgid "{track} appended to {playlist}." -msgstr "" - -#: redbot/cogs/audio/audio.py:1046 -msgid "{num} tracks appended to {playlist}." -msgstr "" - -#: redbot/cogs/audio/audio.py:1053 -#, docstring -msgid "Create an empty playlist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 -msgid "You need the DJ role to save playlists." -msgstr "" - -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 -msgid "Playlist name already exists, try again with a different name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1067 -msgid "Empty playlist {name} created." -msgstr "" - -#: redbot/cogs/audio/audio.py:1071 -#, docstring -msgid "Delete a saved playlist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1083 -msgid "{name} playlist deleted." -msgstr "" - -#: redbot/cogs/audio/audio.py:1087 -#, docstring -msgid "Retrieve information from a saved playlist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" -msgstr "" - -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" -msgstr "" - -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" -msgstr "" - -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 -#, docstring -msgid "List saved playlists." -msgstr "" - -#: redbot/cogs/audio/audio.py:1118 -msgid "No saved playlists." -msgstr "" - -#: redbot/cogs/audio/audio.py:1130 -msgid "Tracks: {num}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" -msgstr "" - -#: redbot/cogs/audio/audio.py:1155 -msgid "Playlists for {server_name}:" -msgstr "" - -#: redbot/cogs/audio/audio.py:1159 -msgid "Page {page_num}/{total_pages} | {num} playlists" -msgstr "" - -#: redbot/cogs/audio/audio.py:1168 -#, docstring -msgid "Save the queue to a playlist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1189 -msgid "Please enter a name for this playlist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 -msgid "Playlist {name} saved from current queue: {num} tracks added." -msgstr "" - -#: redbot/cogs/audio/audio.py:1221 -#, docstring -msgid "Remove a track from a playlist by url." -msgstr "" - -#: redbot/cogs/audio/audio.py:1235 -msgid "URL not in playlist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1239 -msgid "No tracks left, removing playlist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1246 -msgid "{num} entries have been removed from the {playlist_name} playlist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1253 -msgid "The track has been removed from the {playlist_name} playlist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1260 -#, docstring -msgid "Save a playlist from a url." -msgstr "" - -#: redbot/cogs/audio/audio.py:1272 -msgid "Playlist {name} saved: {num} tracks added." -msgstr "" - -#: redbot/cogs/audio/audio.py:1279 -#, docstring -msgid "Load a playlist into the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 -#, docstring -msgid "Convert a Red v2 playlist file to a playlist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1315 -msgid "Please upload the playlist file. Any other message will cancel this operation." -msgstr "" - -#: redbot/cogs/audio/audio.py:1323 -msgid "No file detected, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1327 -msgid "Upload cancelled." -msgstr "" - -#: redbot/cogs/audio/audio.py:1331 -msgid "Only playlist files can be uploaded." -msgstr "" - -#: redbot/cogs/audio/audio.py:1336 -msgid "Not a valid playlist file." -msgstr "" - -#: redbot/cogs/audio/audio.py:1352 -msgid "A playlist already exists with this name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 -msgid "No tracks found." -msgstr "" - -#: redbot/cogs/audio/audio.py:1383 -msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." -msgstr "" - -#: redbot/cogs/audio/audio.py:1388 -msgid "Added {num} tracks from the {playlist_name} playlist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1392 -msgid "Playlist Saved" -msgstr "" - -#: redbot/cogs/audio/audio.py:1403 -msgid "You need the DJ role to use playlists." -msgstr "" - -#: redbot/cogs/audio/audio.py:1432 -msgid "You must be in the voice channel to use the playlist command." -msgstr "" - -#: redbot/cogs/audio/audio.py:1464 -#, docstring -msgid "Skip to the start of the previously played track." -msgstr "" - -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 -msgid "You need the DJ role to skip tracks." -msgstr "" - -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 -msgid "You must be in the voice channel to skip the music." -msgstr "" - -#: redbot/cogs/audio/audio.py:1482 -msgid "Turn shuffle off to use this command." -msgstr "" - -#: redbot/cogs/audio/audio.py:1484 -msgid "No previous track." -msgstr "" - -#: redbot/cogs/audio/audio.py:1501 -msgid "Replaying Track" -msgstr "" - -#: redbot/cogs/audio/audio.py:1509 -#, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " -msgstr "" - -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 -msgid "**Currently livestreaming:**" -msgstr "" - -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 -msgid "Playing: " -msgstr "" - -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" -msgstr "" - -#: redbot/cogs/audio/audio.py:1577 -msgid "Requested by: **{user}**" -msgstr "" - -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" -msgstr "" - -#: redbot/cogs/audio/audio.py:1615 -msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" -msgstr "" - -#: redbot/cogs/audio/audio.py:1624 -msgid "Repeat" -msgstr "" - -#: redbot/cogs/audio/audio.py:1626 -msgid "Shuffle" -msgstr "" - -#: redbot/cogs/audio/audio.py:1683 -msgid "Matching Tracks:" -msgstr "" - -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 -msgid "Page {page_num}/{total_pages}" -msgstr "" +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" +msgstr "Es wurden {num} Tracks zu der Playlist hinzugefügt.{maxlength_msg}" #: redbot/cogs/audio/audio.py:1695 +msgid "{time} until start of playlist playback: starts at #{position} in queue" +msgstr "{time} bis zum Start der Wiedergabeliste: beginnt bei #{position} in der Warteschlange" + +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "Der Track überschreitet die maximale Länge." + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "Nichts Gefunden. Kontrolliere deine Lavalink logs für Details." + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 +msgid "Track Enqueued" +msgstr "Titel eingereiht" + +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 +msgid "{time} until track playback: #{position} in queue" +msgstr "{time} bis zur Wiedergabe des Titels: #{position} in der Warteschlange" + +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 +msgid "#{position} in queue" +msgstr "#{position} in der Warteschlange" + +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "Bitte warten, füge Titel hinzu..." + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "Die Verbindung wurde zurückgesetzt beim Laden der Playlist." + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "Lade Titel {num}/{total}..." + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "Ungefähre Zeit verbleibend: {seconds}" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring -msgid "Toggle repeat." -msgstr "" +msgid "Playlist configuration options." +msgstr "Einstellungen der Wiedergabeliste-Optionen." -#: redbot/cogs/audio/audio.py:1701 -msgid "You need the DJ role to toggle repeat." -msgstr "" - -#: redbot/cogs/audio/audio.py:1712 -msgid "You must be in the voice channel to toggle repeat." -msgstr "" - -#: redbot/cogs/audio/audio.py:1715 -msgid "Repeat tracks: {true_or_false}." -msgstr "" - -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Remove a specific track number from the queue." +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1727 -msgid "Nothing queued." -msgstr "" +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 +msgid "You are not the author of that playlist." +msgstr "Du bist nicht der Ersteller dieser Wiedergabeliste." -#: redbot/cogs/audio/audio.py:1730 -msgid "You need the DJ role to remove tracks." -msgstr "" +#: redbot/cogs/audio/audio.py:1898 +msgid "{track} is already in {playlist}." +msgstr "{track} ist bereits in {playlist}." -#: redbot/cogs/audio/audio.py:1735 -msgid "You must be in the voice channel to manage the queue." -msgstr "" +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 +msgid "No playlist with that name." +msgstr "Es gibt keine Wiedergabeliste mit diesem Namen." -#: redbot/cogs/audio/audio.py:1751 -msgid "Removed {track} from the queue." -msgstr "" +#: redbot/cogs/audio/audio.py:1914 +msgid "{track} appended to {playlist}." +msgstr "{track} angehängt an {playlist}." -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:1920 +msgid "{num} tracks appended to {playlist}." +msgstr "{num} Titel an {playlist} angehangen." + +#: redbot/cogs/audio/audio.py:1928 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Copy a playlist from one server to another." +msgstr "Kopiere eine Playlist von einem Server zum anderen." + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "Ungültige Server ID vom Quell Server." + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "Ungültige Server ID für den Ziel Server." + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "Keine Playlist mit dem Namen gefunden in {from_guild_name}." + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "Playlist {name} kopiert von {from_guild_name} zu {to_guild_name}." + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1814 -msgid "You must be in the voice channel to enqueue tracks." +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "Versuche den Playlist kopier Befehl erneut mit einem kürzeren Namen." + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "Playlist Name existiert bereits in {to_guild_name}, versuche den Befehl erneut mit einem anderen Namen." + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "Kein Name der Wiedergabeliste angegeben, versuche es später erneut." + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." -msgstr "" - -#: redbot/cogs/audio/audio.py:1837 -msgid "{time} until start of search playback: starts at #{position} in queue" -msgstr "" - -#: redbot/cogs/audio/audio.py:1997 -msgid "Tracks Found:" -msgstr "" - -#: redbot/cogs/audio/audio.py:1998 -msgid "search results" -msgstr "" - -#: redbot/cogs/audio/audio.py:2001 -msgid "Folders Found:" -msgstr "" - -#: redbot/cogs/audio/audio.py:2002 -msgid "local folders" -msgstr "" - -#: redbot/cogs/audio/audio.py:2004 -msgid "Files Found:" -msgstr "" - -#: redbot/cogs/audio/audio.py:2005 -msgid "local tracks" -msgstr "" - -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:2003 #, docstring -msgid "Seek ahead or behind on a track by seconds." -msgstr "" +msgid "Create an empty playlist." +msgstr "Erstelle eine leere Wiedergabeliste." -#: redbot/cogs/audio/audio.py:2031 -msgid "You must be in the voice channel to use seek." -msgstr "" +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 +msgid "You need the DJ role to save playlists." +msgstr "Du benötigst die DJ Rolle, um Wiedergabelisten zu speichern." -#: redbot/cogs/audio/audio.py:2036 -msgid "You need the DJ role to use seek." -msgstr "" +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 +msgid "Playlist name already exists, try again with a different name." +msgstr "Wiedergabeliste mit diesem Namen existiert bereits, versuche es erneut mit einem anderen Namen." -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 -msgid "There are other people listening - vote to skip instead." -msgstr "" +#: redbot/cogs/audio/audio.py:2017 +msgid "Empty playlist {name} created." +msgstr "Leere Wiedergabeliste {name} erstellt." -#: redbot/cogs/audio/audio.py:2046 -msgid "Can't seek on a stream." -msgstr "" - -#: redbot/cogs/audio/audio.py:2052 -msgid "Moved {num_seconds}s to 00:00:00" -msgstr "" - -#: redbot/cogs/audio/audio.py:2057 -msgid "Moved {num_seconds}s to {time}" -msgstr "" - -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:2021 #, docstring -msgid "Toggle shuffle." -msgstr "" +msgid "Delete a saved playlist." +msgstr "Lösche eine gespeicherte Wiedergabeliste." -#: redbot/cogs/audio/audio.py:2072 -msgid "You need the DJ role to toggle shuffle." -msgstr "" +#: redbot/cogs/audio/audio.py:2033 +msgid "{name} playlist deleted." +msgstr "{name} Wiedergabeliste gelöscht." -#: redbot/cogs/audio/audio.py:2083 -msgid "You must be in the voice channel to toggle shuffle." -msgstr "" - -#: redbot/cogs/audio/audio.py:2086 -msgid "Shuffle tracks: {true_or_false}." -msgstr "" - -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:2039 #, docstring -msgid "Make Red sing one of her songs" +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "Die Playlist hat keine Lieder." + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "Diese Wiedergabeliste existiert nicht." + +#: redbot/cogs/audio/audio.py:2076 #, docstring -msgid "Skip to the next track." +msgid "Retrieve information from a saved playlist." +msgstr "Informationen aus einer gespeicherten Wiedergabeliste abrufen." + +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" +msgstr "Autor: {author_name} | {num} Lied(er)" + #: redbot/cogs/audio/audio.py:2126 -msgid "I removed your vote to skip." -msgstr "" +#, docstring +msgid "List saved playlists." +msgstr "Liste gespeicherte Wiedergabelisten auf." #: redbot/cogs/audio/audio.py:2129 -msgid "You voted to skip." -msgstr "" +msgid "No saved playlists." +msgstr "Keine gespeicherten Wiedergabelisten." + +#: redbot/cogs/audio/audio.py:2141 +msgid "Tracks: {num}" +msgstr "Titel: {num}" #: redbot/cogs/audio/audio.py:2142 -msgid "Vote threshold met." +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:2145 -msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" -msgstr "" +#: redbot/cogs/audio/audio.py:2166 +msgid "Playlists for {server_name}:" +msgstr "Wiedergabelisten für {server_name}:" -#: redbot/cogs/audio/audio.py:2228 -msgid "Currently livestreaming {track}" -msgstr "" +#: redbot/cogs/audio/audio.py:2170 +msgid "Page {page_num}/{total_pages} | {num} playlists" +msgstr "Seite {page_num}/{total_pages} | {num} Wiedergabelisten" -#: redbot/cogs/audio/audio.py:2235 -msgid "{time} left on {track}" -msgstr "" - -#: redbot/cogs/audio/audio.py:2253 -msgid "Track Skipped" -msgstr "" - -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:2179 #, docstring -msgid "Stop playback and clear the queue." -msgstr "" +msgid "Save the queue to a playlist." +msgstr "Speichert die Warteschlange als eine Wiedergabeliste." -#: redbot/cogs/audio/audio.py:2271 -msgid "You must be in the voice channel to stop the music." -msgstr "" +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "Die Warteschlange ist leer." -#: redbot/cogs/audio/audio.py:2282 -msgid "You need the DJ role to stop the music." -msgstr "" +#: redbot/cogs/audio/audio.py:2202 +msgid "Please enter a name for this playlist." +msgstr "Bitte einen Namen für die Wiedergabeliste eingeben." -#: redbot/cogs/audio/audio.py:2284 -msgid "Stopping..." -msgstr "" +#: redbot/cogs/audio/audio.py:2227 +msgid "Playlist {name} saved from current queue: {num} tracks added." +msgstr "Wiedergabeliste {name} aus aktueller Warteschlange gespeichert: {num} Titel hinzugefügt." -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:2234 #, docstring -msgid "Set the volume, 1% - 150%." -msgstr "" +msgid "Remove a track from a playlist by url." +msgstr "Entferne einen Titel von einer Wiedergabeliste anhand einer URL." -#: redbot/cogs/audio/audio.py:2300 -msgid "Current Volume:" -msgstr "" +#: redbot/cogs/audio/audio.py:2248 +msgid "URL not in playlist." +msgstr "URL ist nicht in der Wiedergabeliste." -#: redbot/cogs/audio/audio.py:2312 -msgid "You must be in the voice channel to change the volume." -msgstr "" +#: redbot/cogs/audio/audio.py:2252 +msgid "No tracks left, removing playlist." +msgstr "Keine Titel mehr übrig, entferne Wiedergabeliste." -#: redbot/cogs/audio/audio.py:2318 -msgid "You need the DJ role to change the volume." -msgstr "" +#: redbot/cogs/audio/audio.py:2259 +msgid "{num} entries have been removed from the {playlist_name} playlist." +msgstr "{num} Einträge wurden aus der Wiedergabeliste {playlist_name} entfernt." -#: redbot/cogs/audio/audio.py:2331 -msgid "Volume:" -msgstr "" +#: redbot/cogs/audio/audio.py:2266 +msgid "The track has been removed from the {playlist_name} playlist." +msgstr "Der Titel wurde aus der Wiedergabeliste {playlist_name} entfernt." -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:2273 #, docstring -msgid "Lavalink server configuration options." -msgstr "" +msgid "Save a playlist from a url." +msgstr "Wiedergabeliste aus einer URL erstellen." -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:2285 +msgid "Playlist {name} saved: {num} tracks added." +msgstr "Wiedergabeliste {name} gespeichert: {num} Titel hinzugefügt." + +#: redbot/cogs/audio/audio.py:2292 #, docstring -msgid "Toggle using external lavalink servers." -msgstr "" +msgid "Load a playlist into the queue." +msgstr "Lade eine Wiedergabeliste in die Warteschlange." -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 -msgid "External lavalink server: {true_or_false}." -msgstr "" - -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:2336 #, docstring -msgid "Set the lavalink server host." -msgstr "" +msgid "Convert a Red v2 playlist file to a playlist." +msgstr "Konvertiere eine Red v2 Wiedergabeliste Datei zu einer Wiedergabeliste." -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 -msgid "Host set to {host}." -msgstr "" +#: redbot/cogs/audio/audio.py:2342 +msgid "Please upload the playlist file. Any other message will cancel this operation." +msgstr "Bitte lade die Wiedergabeliste Datei hoch. Weitere Nachrichten werden diesen Vorgang abbrechen." -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 -msgid "External lavalink server set to True." -msgstr "" +#: redbot/cogs/audio/audio.py:2350 +msgid "No file detected, try again later." +msgstr "Keine Datei erkannt, versuche es später erneut." -#: redbot/cogs/audio/audio.py:2388 -#, docstring -msgid "Set the lavalink server password." -msgstr "" +#: redbot/cogs/audio/audio.py:2354 +msgid "Upload cancelled." +msgstr "Upload abgebrochen." -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 -msgid "Server password set to {password}." -msgstr "" +#: redbot/cogs/audio/audio.py:2358 +msgid "Only playlist files can be uploaded." +msgstr "Nur Wiedergabeliste Dateien können hochgeladen werden." -#: redbot/cogs/audio/audio.py:2406 -#, docstring -msgid "Set the lavalink REST server port." -msgstr "" +#: redbot/cogs/audio/audio.py:2363 +msgid "Not a valid playlist file." +msgstr "Keine gültige Wiedergabeliste Datei." -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 -msgid "REST port set to {port}." -msgstr "" +#: redbot/cogs/audio/audio.py:2379 +msgid "A playlist already exists with this name." +msgstr "Eine Wiedergabeliste mit diesem Namen existiert bereits." + +#: redbot/cogs/audio/audio.py:2407 +msgid "No tracks found." +msgstr "Keine Titel gefunden." + +#: redbot/cogs/audio/audio.py:2413 +msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." +msgstr "{num} Titel aus der {playlist_name} Wiedergabeliste hinzugefügt. {num_bad} Titel konnten nicht geladen werden." + +#: redbot/cogs/audio/audio.py:2418 +msgid "Added {num} tracks from the {playlist_name} playlist." +msgstr "{num} Titel aus der {playlist_name} Wiedergabeliste hinzugefügt." #: redbot/cogs/audio/audio.py:2422 +msgid "Playlist Saved" +msgstr "Wiedergabeliste gespeichert" + +#: redbot/cogs/audio/audio.py:2433 +msgid "You need the DJ role to use playlists." +msgstr "Du benötigst die DJ Rolle, um Wiedergabelisten zu verwenden." + +#: redbot/cogs/audio/audio.py:2471 +msgid "You must be in the voice channel to use the playlist command." +msgstr "Du musst dich in dem Sprachkanal befinden, um den Wiedergabelisten Befehl zu verwenden." + +#: redbot/cogs/audio/audio.py:2525 +#, docstring +msgid "Skip to the start of the previously played track." +msgstr "Zum Anfang des zuvor abgespielten Titels springen." + +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 +msgid "You need the DJ role to skip tracks." +msgstr "Du benötigst die DJ Rolle um Titel zu überspringen." + +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 +msgid "You must be in the voice channel to skip the music." +msgstr "Du musst dich in dem Sprachkanal befinden, um Titel zu überspringen." + +#: redbot/cogs/audio/audio.py:2543 +msgid "Turn shuffle off to use this command." +msgstr "Schalte die zufällige Wiedergabe aus, um diesen Befehl zu verwenden." + +#: redbot/cogs/audio/audio.py:2545 +msgid "No previous track." +msgstr "Kein vorheriger Titel." + +#: redbot/cogs/audio/audio.py:2562 +msgid "Replaying Track" +msgstr "Titel wird wiederholt" + +#: redbot/cogs/audio/audio.py:2571 +#, docstring +msgid "List the songs in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2622 +msgid "**Currently livestreaming:**" +msgstr "**Aktueller Livestream:**" + +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 +msgid "Playing: " +msgstr "Gerade läuft: " + +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 +msgid "Requested by: **{user}**" +msgstr "Angefragt von: **{user}**" + +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 +msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" +msgstr "Seite {page_num}/{total_pages} | {num_tracks} Titel, {num_remaining} verbleibend" + +#: redbot/cogs/audio/audio.py:2693 +msgid "Repeat" +msgstr "Wiederholen" + +#: redbot/cogs/audio/audio.py:2695 +msgid "Shuffle" +msgstr "Zufällige Wiedergabe" + +#: redbot/cogs/audio/audio.py:2740 +msgid "Matching Tracks:" +msgstr "Passende Titel:" + +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 +msgid "Page {page_num}/{total_pages}" +msgstr "Seite {page_num}/{total_pages}" + +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "Leert die Playlist." + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "Du brauchst die DJ Rolle um die Playlist zu leeren." + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "Die Playlist wurde geleert." + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "Entfernt Lieder von der Playlist, wenn der Autor nicht im Voice Channel ist." + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "Du brauchst die DJ Rolle um die Playlist zu leeren." + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "0 Lieder entfernt." + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "Es wurden Lieder entfernt die von Leuten außerhalb des Voice Channels angefordert wurden: {removed_tracks}." + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 +#, docstring +msgid "Toggle repeat." +msgstr "Wiederholung umschalten." + +#: redbot/cogs/audio/audio.py:2835 +msgid "You need the DJ role to toggle repeat." +msgstr "Du benötigst die DJ Rolle um Wiederholung umzuschalten." + +#: redbot/cogs/audio/audio.py:2843 +msgid "You must be in the voice channel to toggle repeat." +msgstr "Du musst dich in dem Sprachkanal befinden, um Wiederholung umzuschalten." + +#: redbot/cogs/audio/audio.py:2849 +msgid "Repeat tracks: {true_or_false}." +msgstr "Titel wiederholen: {true_or_false}." + +#: redbot/cogs/audio/audio.py:2857 +#, docstring +msgid "Remove a specific track number from the queue." +msgstr "Entferne einen bestimmten Titel aus der Warteschlange." + +#: redbot/cogs/audio/audio.py:2863 +msgid "Nothing queued." +msgstr "Nichts eingereiht." + +#: redbot/cogs/audio/audio.py:2866 +msgid "You need the DJ role to remove tracks." +msgstr "Du benötigst die DJ Rolle um Titel zu entfernen." + +#: redbot/cogs/audio/audio.py:2871 +msgid "You must be in the voice channel to manage the queue." +msgstr "Du musst dich in dem Sprachkanal befinden, um die Warteschlange zu verwalten." + +#: redbot/cogs/audio/audio.py:2887 +msgid "Removed {track} from the queue." +msgstr "{track} aus der Warteschlange entfernt." + +#: redbot/cogs/audio/audio.py:2894 +#, docstring +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:2958 +msgid "You must be in the voice channel to enqueue tracks." +msgstr "Du musst dich in dem Sprachkanal befinden, um Titel einzureihen." + +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3003 +msgid "{time} until start of search playback: starts at #{position} in queue" +msgstr "{time} bis zum Start der Wiedergabesuche: startet an #{position} in der Warteschlange" + +#: redbot/cogs/audio/audio.py:3169 +msgid "Tracks Found:" +msgstr "Titel gefunden:" + +#: redbot/cogs/audio/audio.py:3170 +msgid "search results" +msgstr "Suchergebnisse" + +#: redbot/cogs/audio/audio.py:3173 +msgid "Folders Found:" +msgstr "Ordner gefunden:" + +#: redbot/cogs/audio/audio.py:3174 +msgid "local folders" +msgstr "lokale Ordner" + +#: redbot/cogs/audio/audio.py:3176 +msgid "Files Found:" +msgstr "Dateien gefunden:" + +#: redbot/cogs/audio/audio.py:3177 +msgid "local tracks" +msgstr "lokale Titel" + +#: redbot/cogs/audio/audio.py:3195 +#, docstring +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." +msgstr "" + +#: redbot/cogs/audio/audio.py:3206 +msgid "You must be in the voice channel to use seek." +msgstr "Du musst dich in dem Sprachkanal befinden, um Spulen zu können." + +#: redbot/cogs/audio/audio.py:3211 +msgid "You need the DJ role to use seek." +msgstr "Du benötigst die DJ Rolle, um zu Spulen." + +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 +msgid "There are other people listening - vote to skip instead." +msgstr "Es hören andere Leute zu - stimme stattdessen zum Überspringen ab." + +#: redbot/cogs/audio/audio.py:3221 +msgid "Can't seek on a stream." +msgstr "Ein Stream kann nicht gespult werden." + +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 +msgid "Moved {num_seconds}s to 00:00:00" +msgstr "Verschiebe {num_seconds}s nach 00:00:00" + +#: redbot/cogs/audio/audio.py:3241 +msgid "Moved {num_seconds}s to {time}" +msgstr "Verschiebe {num_seconds}s nach {time}" + +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 +#, docstring +msgid "Toggle shuffle." +msgstr "Schalte zufällige Wiedergabe um." + +#: redbot/cogs/audio/audio.py:3265 +msgid "You need the DJ role to toggle shuffle." +msgstr "Du benötigst die DJ Rolle, um zufällige Wiedergabe umzuschalten." + +#: redbot/cogs/audio/audio.py:3273 +msgid "You must be in the voice channel to toggle shuffle." +msgstr "Du musst dich in dem Sprachkanal befinden, um zufällige Wiedergabe umzuschalten." + +#: redbot/cogs/audio/audio.py:3279 +msgid "Shuffle tracks: {true_or_false}." +msgstr "Zufällige Wiedergabe: {true_or_false}." + +#: redbot/cogs/audio/audio.py:3287 +#, docstring +msgid "Make Red sing one of her songs." +msgstr "" + +#: redbot/cogs/audio/audio.py:3303 +#, docstring +msgid "Skip to the next track, or to a given track number." +msgstr "Überspringe zum nächsten Lied oder geben eine Nummer für ein Lied an." + +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "Kann ohne DJ Rolle nicht auf einen bestimmten Track im Abstimmmodus überspringen." + +#: redbot/cogs/audio/audio.py:3326 +msgid "I removed your vote to skip." +msgstr "Ich habe deine Stimme zum Überspringen entfernt." + +#: redbot/cogs/audio/audio.py:3329 +msgid "You voted to skip." +msgstr "Du hast für das Überspringen gestimmt." + +#: redbot/cogs/audio/audio.py:3342 +msgid "Vote threshold met." +msgstr "Abstimmungsschwelle erreicht." + +#: redbot/cogs/audio/audio.py:3345 +msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" +msgstr " Abstimmungen: {num_votes}/{num_members} ({cur_percent}% von {required_percent}% erforderlich)" + +#: redbot/cogs/audio/audio.py:3425 +msgid "Currently livestreaming {track}" +msgstr "Livestreame derzeit {track}" + +#: redbot/cogs/audio/audio.py:3432 +msgid "{time} left on {track}" +msgstr "{time} Zeit übrig von {track}" + +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "Die Nummer, des Liedes, muss größer oder gleich 1 sein." + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "Kann nicht auf einen Track überspringen, während der Shuffle Modus aktiviert ist." + +#: redbot/cogs/audio/audio.py:3470 +msgid "Track Skipped" +msgstr "Titel übersprungen" + +#: redbot/cogs/audio/audio.py:3493 +#, docstring +msgid "Stop playback and clear the queue." +msgstr "Stoppe Wiedergabe und leere die Warteschlange." + +#: redbot/cogs/audio/audio.py:3503 +msgid "You must be in the voice channel to stop the music." +msgstr "Du musst dich in dem Sprachkanal befinden, um die Wiedergabe zu stoppen." + +#: redbot/cogs/audio/audio.py:3514 +msgid "You need the DJ role to stop the music." +msgstr "Du benötigst die DJ Rolle, um die Wiedergabe zu stoppen." + +#: redbot/cogs/audio/audio.py:3516 +msgid "Stopping..." +msgstr "Stoppe..." + +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 +#, docstring +msgid "Set the volume, 1% - 150%." +msgstr "Setze die Lautstärke, 1% - 150%." + +#: redbot/cogs/audio/audio.py:3571 +msgid "Current Volume:" +msgstr "Aktuelle Lautstärke:" + +#: redbot/cogs/audio/audio.py:3583 +msgid "You must be in the voice channel to change the volume." +msgstr "Du musst dich in dem Sprachkanal befinden, um die Lautstärke zu verändern." + +#: redbot/cogs/audio/audio.py:3589 +msgid "You need the DJ role to change the volume." +msgstr "Du benötigst die DJ Rolle, um die Lautstärke zu ändern." + +#: redbot/cogs/audio/audio.py:3602 +msgid "Volume:" +msgstr "Lautstärke:" + +#: redbot/cogs/audio/audio.py:3613 +#, docstring +msgid "Lavalink server configuration options." +msgstr "Lavalink Server Konfigurationsoptionen." + +#: redbot/cogs/audio/audio.py:3618 +#, docstring +msgid "Toggle using external lavalink servers." +msgstr "Schalte Benutzung von externem Lavalink Server um." + +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 +msgid "External lavalink server: {true_or_false}." +msgstr "Externer Lavalink Server: {true_or_false}." + +#: redbot/cogs/audio/audio.py:3642 +#, docstring +msgid "Set the lavalink server host." +msgstr "Lege den Lavalink Server Host fest." + +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 +msgid "Host set to {host}." +msgstr "Host gesetzt auf {host}." + +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 +msgid "External lavalink server set to True." +msgstr "Externer Lavalink Server gesetzt auf Wahr." + +#: redbot/cogs/audio/audio.py:3657 +#, docstring +msgid "Set the lavalink server password." +msgstr "Lege das Lavalink Server Passwort fest." + +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 +msgid "Server password set to {password}." +msgstr "Server Passwort auf {password} gesetzt." + +#: redbot/cogs/audio/audio.py:3675 +#, docstring +msgid "Set the lavalink REST server port." +msgstr "Lege den Lavalink REST Server Port fest." + +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 +msgid "REST port set to {port}." +msgstr "REST Port auf {port} gesetzt." + +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." -msgstr "" +msgstr "Lege den Lavalink Websocket Server Port fest." -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." -msgstr "" +msgstr "Websocket Port auf {port} gesetzt." -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." -msgstr "" +msgstr "Nicht genug {currency} ({required_credits} erforderlich)." diff --git a/redbot/cogs/audio/locales/el-GR.po b/redbot/cogs/audio/locales/el-GR.po index 9c31265d8..ace3dbd52 100644 --- a/redbot/cogs/audio/locales/el-GR.po +++ b/redbot/cogs/audio/locales/el-GR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,971 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: el_GR\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." msgstr "" -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" msgstr "" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "" -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "" -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." msgstr "" -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." msgstr "" -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." msgstr "" -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." msgstr "" -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "" - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "" - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." msgstr "" -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "" -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "" -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "" + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "" -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." +msgid "Instructions to set the Spotify API tokens." msgstr "" -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "" - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "" - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "" - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "" -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "" -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "" -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "" -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "" -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "" -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "" -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "" -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "" -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "" -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "" -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "" -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "" -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "" -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "" -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "" -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "" -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "" -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." +msgid "Pause or resume a playing track." msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "" - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "" - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "" -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "" -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "" -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." msgstr "" -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." msgstr "" -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." msgstr "" -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." msgstr "" -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." msgstr "" -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." msgstr "" -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." msgstr "" -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." msgstr "" -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." msgstr "" -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." msgstr "" -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." msgstr "" -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." msgstr "" -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." msgstr "" -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "" -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "" -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "" -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "" -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "" -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "" -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " +msgid "List the songs in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "" -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "" -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "" -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "" -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" +msgid "Make Red sing one of her songs." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." +msgid "Skip to the next track, or to a given track number." msgstr "" -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "" -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr "" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "" -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "" -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "" -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "" -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "" -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "" -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "" -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "" -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "" -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "" -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "" -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "" diff --git a/redbot/cogs/audio/locales/en-PT.po b/redbot/cogs/audio/locales/en-PT.po index a4e5f2dd9..368476580 100644 --- a/redbot/cogs/audio/locales/en-PT.po +++ b/redbot/cogs/audio/locales/en-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Pirate English\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,971 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: en_PT\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." msgstr "" -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" msgstr "" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "" -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "" -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." msgstr "" -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." msgstr "" -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." msgstr "" -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." msgstr "" -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "" - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "" - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." msgstr "" -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "" -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "" -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "" + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "" -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." +msgid "Instructions to set the Spotify API tokens." msgstr "" -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "" - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "" - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "" - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "" -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "" -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "" -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "" -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "" -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "" -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "" -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "" -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "" -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "" -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "" -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "" -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "" -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "" -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "" -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "" -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "" -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "" -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." +msgid "Pause or resume a playing track." msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "" - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "" - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "" -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "" -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "" -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." msgstr "" -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." msgstr "" -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." msgstr "" -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." msgstr "" -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." msgstr "" -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." msgstr "" -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." msgstr "" -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." msgstr "" -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." msgstr "" -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." msgstr "" -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." msgstr "" -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." msgstr "" -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." msgstr "" -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "" -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "" -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "" -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "" -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "" -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "" -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " +msgid "List the songs in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "" -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "" -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "" -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "" -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" +msgid "Make Red sing one of her songs." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." +msgid "Skip to the next track, or to a given track number." msgstr "" -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "" -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr "" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "" -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "" -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "" -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "" -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "" -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "" -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "" -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "" -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "" -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "" -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "" -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "" diff --git a/redbot/cogs/audio/locales/es-ES.po b/redbot/cogs/audio/locales/es-ES.po index 6782ac567..c5a0a5c93 100644 --- a/redbot/cogs/audio/locales/es-ES.po +++ b/redbot/cogs/audio/locales/es-ES.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,971 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: es_ES\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." -msgstr "" +msgstr "Reproducir audio a través de canales de voz." -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" -msgstr "" +msgstr "música en {} servidores" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "Escuchando" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "Longitud de la pista: {length} | Solicitado por: {user}" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." -msgstr "" +msgstr "Cola terminada." -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" -msgstr "" +msgstr "Error de pista" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." -msgstr "" +msgstr "Omitiendo..." -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." -msgstr "" +msgstr "Opciones de configuración de música." -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " -msgstr "" - -#: redbot/cogs/audio/audio.py:265 -msgid "Please set a role to use with DJ mode. Enter the role name or ID now." -msgstr "" - -#: redbot/cogs/audio/audio.py:273 -msgid "Response timed out, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:284 -#, docstring -msgid "Auto-disconnection after x seconds while stopped. 0 to disable." -msgstr "" - -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 -msgid "Can't be less than zero." -msgstr "" - -#: redbot/cogs/audio/audio.py:291 -msgid "Empty disconnect disabled." -msgstr "" - -#: redbot/cogs/audio/audio.py:296 -msgid "Empty disconnect timer set to {num_seconds}." -msgstr "" - -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "" - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "" - -#: redbot/cogs/audio/audio.py:315 -#, docstring -msgid "Set a price for queueing tracks for non-mods. 0 to disable." -msgstr "" - -#: redbot/cogs/audio/audio.py:320 -msgid "Jukebox mode disabled." -msgstr "" - -#: redbot/cogs/audio/audio.py:325 -msgid "Track queueing command price set to {price} {currency}." -msgstr "" - -#: redbot/cogs/audio/audio.py:336 -#, docstring -msgid "Toggle track announcement and other bot messages." -msgstr "" - -#: redbot/cogs/audio/audio.py:340 -msgid "Verbose mode on: {true_or_false}." -msgstr "" - -#: redbot/cogs/audio/audio.py:345 -#, docstring -msgid "Show the current settings." -msgstr "" - -#: redbot/cogs/audio/audio.py:358 -msgid "Server Settings" -msgstr "" - -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" -msgstr "" - -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" -msgstr "" - -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" -msgstr "" - -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" -msgstr "" - -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" -msgstr "" - -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " msgstr "" #: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" +msgid "Auto-disconnection at queue end: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" -msgstr "" - -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:385 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." -msgstr "" +#: redbot/cogs/audio/audio.py:392 +msgid "Please set a role to use with DJ mode. Enter the role name or ID now." +msgstr "Por favor, establezca un rol para usar con el modo DJ. Introduzca el nombre de rol o ID ahora." -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +#: redbot/cogs/audio/audio.py:400 +msgid "Response timed out, try again later." +msgstr "Respuesta expirada, inténtalo de nuevo más tarde." + +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." msgstr "" #: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." +#, docstring +msgid "Auto-disconnection after x seconds while stopped. 0 to disable." +msgstr "Desconexión automática después de x segundos mientras se detuvo. 0 para desactivar." + +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 +msgid "Can't be less than zero." +msgstr "No puede ser menor que cero." + +#: redbot/cogs/audio/audio.py:418 +msgid "Empty disconnect disabled." +msgstr "Desconexion vacia desactivada." + +#: redbot/cogs/audio/audio.py:423 +msgid "Empty disconnect timer set to {num_seconds}." +msgstr "Se ha establecido un temporizador de desconexión en {num_seconds}." + +#: redbot/cogs/audio/audio.py:434 +#, docstring +msgid "Set a price for queueing tracks for non-mods. 0 to disable." +msgstr "Establecer un precio para las pistas de cola para no mods. 0 para deshabilitar." + +#: redbot/cogs/audio/audio.py:439 +msgid "Jukebox mode disabled." +msgstr "Modo Jukebox desactivado." + +#: redbot/cogs/audio/audio.py:444 +msgid "Track queueing command price set to {price} {currency}." +msgstr "Rastrear el precio de comando en cola establecido en {price} {currency}." + +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." msgstr "" -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 +#, docstring +msgid "Toggle track announcement and other bot messages." +msgstr "Alternar anuncio de la pista y otros mensajes de bot." + +#: redbot/cogs/audio/audio.py:563 +msgid "Verbose mode on: {true_or_false}." +msgstr "Modo Verboso en: {true_or_false}." + +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "Establecer el rol a utilizar para el modo DJ." + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "Rol de DJ establecido en: {role.name}." + +#: redbot/cogs/audio/audio.py:589 +#, docstring +msgid "Show the current settings." +msgstr "Mostrar los ajustes actuales." + +#: redbot/cogs/audio/audio.py:604 +msgid "Server Settings" +msgstr "Ajustes del servidor" + +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 +#, docstring +msgid "Instructions to set the Spotify API tokens." +msgstr "" + +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" +msgstr "" + +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "" -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "" -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "" -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "" -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "" -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "" -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "" -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "" -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "" -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "" -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "" -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "" -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "" -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "" -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "" -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "" -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "" -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "" -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." +msgid "Pause or resume a playing track." msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "" - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "" - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "" -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "" -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "" -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." msgstr "" -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." msgstr "" -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." msgstr "" -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." msgstr "" -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." msgstr "" -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." msgstr "" -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." msgstr "" -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." msgstr "" -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." msgstr "" -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." msgstr "" -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." msgstr "" -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." msgstr "" -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." msgstr "" -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "" -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "" -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "" -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "" -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "" -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "" -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " +msgid "List the songs in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "" -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "" -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "" -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "" -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" +msgid "Make Red sing one of her songs." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." +msgid "Skip to the next track, or to a given track number." msgstr "" -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "" -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr "" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "" -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "" -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "" -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "" -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "" -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "" -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "" -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "" -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "" -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "" -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "" -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "" diff --git a/redbot/cogs/audio/locales/fi-FI.po b/redbot/cogs/audio/locales/fi-FI.po index a7ed5f9db..3a8c4f9ce 100644 --- a/redbot/cogs/audio/locales/fi-FI.po +++ b/redbot/cogs/audio/locales/fi-FI.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,971 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: fi_FI\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." msgstr "" -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" msgstr "" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "" -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "" -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." msgstr "" -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." msgstr "" -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." msgstr "" -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." msgstr "" -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "" - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "" - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." msgstr "" -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "" -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "" -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "" + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "" -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." +msgid "Instructions to set the Spotify API tokens." msgstr "" -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "" - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "" - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "" - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "" -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "" -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "" -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "" -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "" -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "" -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "" -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "" -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "" -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "" -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "" -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "" -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "" -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "" -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "" -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "" -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "" -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "" -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." +msgid "Pause or resume a playing track." msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "" - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "" - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "" -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "" -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "" -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." msgstr "" -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." msgstr "" -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." msgstr "" -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." msgstr "" -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." msgstr "" -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." msgstr "" -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." msgstr "" -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." msgstr "" -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." msgstr "" -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." msgstr "" -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." msgstr "" -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." msgstr "" -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." msgstr "" -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "" -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "" -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "" -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "" -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "" -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "" -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " +msgid "List the songs in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "" -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "" -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "" -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "" -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" +msgid "Make Red sing one of her songs." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." +msgid "Skip to the next track, or to a given track number." msgstr "" -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "" -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr "" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "" -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "" -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "" -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "" -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "" -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "" -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "" -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "" -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "" -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "" -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "" -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "" diff --git a/redbot/cogs/audio/locales/fr-FR.po b/redbot/cogs/audio/locales/fr-FR.po index e127d0424..bf7ca681b 100644 --- a/redbot/cogs/audio/locales/fr-FR.po +++ b/redbot/cogs/audio/locales/fr-FR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,989 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: fr_FR\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." -msgstr "Joue de l'audio au travers des salons vocaux." +msgstr "Lire l'audio au travers des salons vocaux." -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 +#: redbot/cogs/audio/audio.py:260 +msgid "music in {} servers" +msgstr "musique dans {} serveurs" + +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 msgid "Now Playing" -msgstr "En cours" +msgstr "Lecture en cours" -#: redbot/cogs/audio/audio.py:177 +#: redbot/cogs/audio/audio.py:304 msgid "Track length: {length} | Requested by: {user}" msgstr "Durée de la piste : {length} | Demandé par {user}" -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 -msgid "music in {} servers" -msgstr "de la musique sur {} serveurs" - -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "Liste terminée." -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "Erreur de la piste" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "Changement de musique ..." -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "Options de configuration pour la musique." -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " -msgstr "Active le mode DJ.\n\n" -" Le mode DJ autorise les utilisateurs avec le rôle DJ d'utiliser les commandes audio.\n" -" " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " +msgstr "Activer/désactiver la fonction de déconnexion automatique du bot dès lors que la lecture est terminée.\\n\\n Ce réglage prends le pas sur [p]audioset emptydisconnect.\\n " -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "Déconnexion automatique à la fin de la file d'attente : {true_or_false}." + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "Active le mode DJ.\\n\\n Le mode DJ autorise les utilisateurs avec le rôle DJ d'utiliser les commandes audio.\\n " + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." msgstr "Définissez s'il vous plaît un rôle à utiliser avec le mode DJ. Entrez maintenant le nom du rôle ou son ID." -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." -msgstr "Expiration de la réponse, réessayez plus tard." +msgstr "Réponse expirée, réessayez plus tard." -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "Rôle DJ activé : {true_or_false}." + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "Déconnexion automatique après x seconds à l'arrêt. 0 pour désactiver." -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." -msgstr "Ne peut être inférieur à zero." +msgstr "Ne peut être inférieur à zéro." -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." msgstr "Déconnexion si aucune lecture désactivé." -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." -msgstr "Délai de déconnexion automatique lorsque tout est vide réglé à {num_seconds}." +msgstr "Délai de déconnexion automatique si aucune lecture réglé à {num_seconds}." -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "Défini le rôle à utiliser pour le mode DJ." - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "Le rôle DJ à été défini sur : {role.name}." - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." -msgstr "Définir un prix pour que les non modérateurs puissent lister des pistes. 0 pour désactiver." +msgstr "Définir un prix pour que les non-modérateurs puissent lister des pistes. 0 pour désactiver." -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." -msgstr "Le mode jukebox à été désactiver." +msgstr "Le mode jukebox à été désactivé." -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "Le prix de la commande de liste est défini à {price}{currency}." -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "Définir le chemin des musiques locales si le fichier Lavalink.jar n'est pas exécuté à partir du dossier de données audio.\\n\\n Laisser le chemin vide pour réinitialiser le chemin à l'origine qui est le répertoire des données audio.\\n " + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "L'emplacement du chemin des musiques locales a été réinitialisé à l'emplacement par défaut." + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "{local_path} ne semble pas être un chemin valide." + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "Le chemin qui a été saisi n'a pas de fichier {filelist} dans cet emplacement. Le chemin sera quand même sauvegardé, mais veuillez vérifier le chemin et l'emplacement du fichier avant de tenter de jouer des pistes locales ou de démarrer votre fichier Lavalink.jar." + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "Chemin de localisation défini à : {local_path}." + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "Longueur max de piste désactivée." + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "Longueur max de piste définie sur {seconds}." + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "Activer/désactiver l’annonce du changement de piste et d’autres messages de bot." -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." -msgstr "Mode détaillé sur: {true_or_false}." +msgstr "Mode détaillé sur : {true_or_false}." -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "Active la restriction de domaine dans l'Audio.\\n\\n Lorsque activé, les utilisateurs pourront jouer des musiques à partir de sites Web et de liens non commerciaux.\\n Lors qu’actif, les utilisateurs sont limités à YouTube, SoundCloud, Mixer, Vimeo, Twitch et Bandcamp." + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "Liens commerciaux seulement : {true_or_false}." + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "Défini le rôle à utiliser pour le mode DJ." + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "Le rôle DJ à été défini sur : {role.name}." + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "Afficher les paramètres actuels." -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "Paramètres du serveur" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" -msgstr "Temps de déconnexion : [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" +msgstr "Déconnexion automatique : [{dc}]\\n" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" -msgstr "Rôle DJ : [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" +msgstr "Temps de déconnexion : [{num_seconds}]\\n" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" -msgstr "Jukebox : [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" +msgstr "Rôle DJ : [{role.name}]\\n" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" -msgstr "Prix de la commande : [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" +msgstr "Jukebox : [{jukebox_name}]\\n" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" -msgstr "Répétition : [{repeat}]\n" -"Aléatoire : [{shuffle}]\n" -"Notif musiques : [{notify}]\n" -"Musiques en statut : [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" +msgstr "Prix de la commande : [{jukebox_price}]\\n" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" -msgstr "Vignettes : [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" +msgstr "Longueur maximale de la piste : [{tracklength}]\\n" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" -msgstr "Votes pour changement : [{vote_enabled}]\n" -"Pourcentage de changement : [{vote_percent}%]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" +msgstr "Répétition : [{repeat}]\\nAléatoire : [{shuffle}]\\nNotif musiques : [{notify}]\\nMusiques en statut : [{status}]\\n" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" -msgstr "---Paramètres de Lavalink---\n" -"Version du Cog : [{version}]\n" -"Version Jar : [{jarbuild}]\n" -"Serveur externe : [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" +msgstr "Vignettes : [{0}]\\n" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "Votes pour changement : [{vote_enabled}]\\nPourcentage de changement : [{vote_percent}%]\\n" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "---Paramètres de Lavalink--- \\nVersion du Cog : [{version}]\\nVersion du fichier Jar : [{jarbuild}]\\nServeur externe : [{use_external_lavalink}]\\n" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "Chemin de localisation des musiques locales : [{localpath}]\\n" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." -msgstr "Activer/désactiver l’affichage d’une vignette sur les messages de l'audio." +msgid "Instructions to set the Spotify API tokens." +msgstr "Instructions pour définir les tokens de l'API Spotify." -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." -msgstr "Affichage des vignettes : {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" +msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "Pourcentage nécessaire pour que les non modérateurs puissent changer de piste. 0 pour désactiver." - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "Votes désactivés. Tout les utilisateurs peuvent maintenant utiliser les commandes de gestion de la file." - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "Pourcentage de vote défini à {percent} %." - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "Activer/désactiver titres des pistes comme statut." -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "Titres de musiques comme statut : {true_or_false}." -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "Activer/désactiver l’affichage d’une vignette sur les messages de l'audio." + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "Affichage des vignettes : {true_or_false}." + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "Pourcentage nécessaire pour que les non-modérateurs puissent changer de piste. 0 pour désactiver." + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "Votes désactivés. Tout les utilisateurs peuvent maintenant utiliser les commandes de gestion de la file." + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "Pourcentage de vote défini à {percent} %." + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "Instructions pour définir la clé de l'API YouTube." + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "Stats de l’audio." -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "Aucune lecture en cours." -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "Connecté nul part." -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" -msgstr "Connecté sur {num} serveurs :" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" +msgstr "Lecture dans {num}/{total} serveurs :" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "Remonte un numéro de piste vers le haut de la liste." -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "Vous devez être dans un salon vocal pour remonter une piste." -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "Vous devez avoir le rôle DJ pour remonter des pistes." -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "Le numéro d'une musique doit être supérieur à 1 et dans la limite de la file." -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "{track} a été déplacé en haut de la liste." -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "Déconnexion du salon vocal." -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "Vous devez avoir le rôle DJ pour pouvoir déconnecter." -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "Il y a d’autres personnes écoutant de la musique." -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "Gestion de l'égaliseur." + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "Supprimer un préréglage eq enregistré." + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "Liste des préréglages eq enregistrés." + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "Aucun préréglage de l'égaliseur enregistré." + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "{num} préréglage(s)" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "Charger un preset eq enregistré." + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "Réinitialiser l'eq à 0 sur toutes les bandes." + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "Les valeurs de l'égaliseur ont été réinitialisées." + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "Enregistrer les paramètres eq actuels dans un préréglage." + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "Veuillez saisir un nom pour ce préréglage d'égaliseur." + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "Aucun nom de préréglage d'égaliseur saisi, essayez à nouveau la commande plus tard." + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "Réessayez la commande avec un nom plus court." + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "Le nom du préréglage existe déjà, voulez-vous le remplacer ?" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "Pas d'enregistrement du préréglage." + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "Réglez une bande d'égalisation avec un numéro de bande ou un nom et une valeur. \\n\\n\\n Les positions de bande sont 1-15 et les valeurs ont une plage de -0,25 à 1,0. \\n Les noms de bande sont 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1,6k, 2,5k, 4k, 6,3k, 10k et 16k Hz.\\n Une valeur de bande à -0,25 la rend nulle alors que +0,25 est double.\\n " + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "Les numéros de bande valides sont de 1 à 15 ou les noms de bande listés dans l'aide de cette commande." + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "Commandes de lecture locale." -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "Lire toutes les chansons dans un dossier localtracks." -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "Aucun dossier de musiques locales nommé {name}." + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "Lire une piste locale." -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "Aucun dossier de pistes locales trouvé." -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "Rechercher des musiques dans tout les dossiers de localtracks." -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "Aucun dossier d'album trouvé." -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "Aucune correspondance." -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "Aucun dossier de localtracks." -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "Lecture en cours." -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "Demandé par : **{track.requester} **" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "Rien." -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." -msgstr "Interrompre et reprendre." +msgid "Pause or resume a playing track." +msgstr "Pause ou reprise de la lecture d'une piste." -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." -msgstr "Vous devez être dans un salon vocal pour mettre en pause la musique." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." +msgstr "Vous devez être dans un salon vocal pour mettre en pause ou reprendre la lecture." -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." -msgstr "Vous devez avoir le rôle DJ pour mettre en pause des pistes." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." +msgstr "Vous devez avoir le rôle DJ pour mettre en pause ou reprendre la lecture." -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "La piste à été mise en pause" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "La piste à repris" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "Piste en pause." - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "La piste est en cours de lecture." - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "Pourcentage de la liste." -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "Rien dans la liste." -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "Dans la liste et en cours de lecture :" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "Joue une URL ou cherche une piste." -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "Cette URL n'est pas autorisée." + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "La connexion à Lavalink a échoué." + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "Veuillez vérifier votre console ou les logs pour plus de détails." + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "Je n'ai pas la permission de me connecter à votre salon." -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "Rejoignez un salon vocal d'abord." -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." -msgstr "" +msgstr "La connexion à Lavalink n'a pas encore été établie." -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." msgstr "Vous devez avoir le rôle DJ pour ajouter des pistes à la liste." -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." msgstr "Vous devez être dans un salon vocal pour utiliser la commande play." -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." msgstr "Aucune piste à jouer." -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "Attendre jusqu'à ce que la playlist finisse de charger." + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." msgstr "Aucun résultat." -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "Cela ne semble pas être une URL ou un code Spotify valide." + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" msgstr "Playlist en file d’attente" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." -msgstr "{num} titres ajoutés à la liste." +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" +msgstr "Ajout de {num} pistes à la file d'attente.{maxlength_msg}" -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" msgstr "{time} avant le début de la lecture de la playlist : commence à #{position} dans la liste" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "Cette piste dépasse la limite maximale." + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "Rien n'a été trouvé. Vérifiez vos logs Lavalink pour plus de détails." + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" msgstr "Piste ajoutée" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" msgstr "{time} avant la lecture de la piste : #{position} dans la file d’attente" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" msgstr "#{position} dans la liste" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "Veuillez patienter, ajout de pistes ..." + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "La connexion a été réinitialisée lors du chargement de la playlist." + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "Chargement de piste {num}/{total} ..." + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "Temps approximatif restant: {seconds}" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "Rien n'a été trouvé.\\nLa clé de l'API YouTube peut être invalide ou vous pouvez être limité sur le service de recherche de YouTube.\\nVérifiez à nouveau la clé de l'API YouTube et suivez les instructions à `{prefix}audioset youtubeapi`." + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." msgstr "Options de configuration des playlists." -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " -msgstr "Ajouter l'URL d'une ou plusieurs musiques musiques, d'une playlist ou une recherche rapide vers une playlist.\n\n" -" Le(s) musique(s) seront ajoutées à la fin de la playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " +msgstr "Ajouter l'URL d'une ou plusieurs musiques musiques, d'une playlist ou une recherche rapide vers une playlist.\\n\\n La(les) musique(s) seront ajoutées à la fin de la playlist.\\n " -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." msgstr "Vous n’êtes pas l’auteur de cette playlist." -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." msgstr "{track} est déjà dans {playlist}." -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." msgstr "Aucune playlist portant ce nom." -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." msgstr "{track} ajouté à {playlist}." -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." msgstr "{num} pistes ajoutées à {playlist}." -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "Copiez une playlist d'un serveur à un autre." + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "ID de serveur invalide pour le serveur source." + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "ID de serveur invalide pour le serveur cible." + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "Aucune playlist avec ce nom dans {from_guild_name}." + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "Playlist {name} copiée de {from_guild_name} à {to_guild_name}." + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "Une playlist avec ce nom existe déjà dans {to_guild_name}.\\nVeuillez entrer un nouveau nom pour cette playlist." + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "Essayez à nouveau la commande de copie de la playlist avec un nom plus court." + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "Ce nom de playlist existe déjà dans {to_guild_name}, essayez à nouveau la commande de copie de la playlist avec un nom différent." + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "Aucun nom de playlist entré, réessayez plus tard." + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "Playlist {name} copiée de {from_guild_name} à {to_guild_name}.\\nNouveau nom de playlist sur {to_guild_name}: {new_name}" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." msgstr "Créer une playlist vide." -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." msgstr "Vous devez avoir le rôle DJ pour sauvegarder les playlists." -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." msgstr "Ce nom de playlist existe déjà, essayez à nouveau avec un nom différent." -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." msgstr "Playlist vide nommée {name} créé." -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." msgstr "Supprimer une playlist enregistrée." -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." msgstr "La playlist {name} à été supprimée." -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "Téléchargez une copie d'une playlist.\\n\\n Ces fichiers peuvent être utilisés avec la commande de téléchargement des playlists `[p]playlist upload`.\\n Les listes de lecture compatibles avec la v2 de Red peuvent être générées en passant par True\\n pour la variable v2." + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "Cette playlist ne contient aucune piste." + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "Cette playlist n'existe pas." + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." msgstr "Récupérer les informations d’une playlist enregistrée." -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" -msgstr "**Playlist personnalisée.**" +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" +msgstr "Infos de la playlist pour {playlist_name} :\\n" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" -msgstr "URL : <{url}>" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" +msgstr "Infos de la playlist pour {playlist_name} :\\nURL: {url}" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" -msgstr "Infos de la playlist pour {playlist_name} :" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" +msgstr "Auteur : {author_name} | {num} piste(s)" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "Auteur : **{author_name}**\n" -"{url}" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "{num} piste(s)" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." msgstr "Liste les playlists enregistrées." -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." msgstr "Aucunes playlists enregistrées." -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" msgstr "Pistes : {num}" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" -msgstr "Auteur : {name}\n" +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" +msgstr "Auteur : {name}\\n" -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "Playlists de {server_name} :" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "Page {page_num}/{total_pages} | {num} playlists" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "Enregistrer la file dans une playlist." -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "Il n'y a rien dans la liste." + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "Veuillez entrer un nom pour cette playlist." -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "Réessayez la commande avec un nom plus court." - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "Aucun nom de playlist entré, réessayez plus tard." - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "Playlist {name} venant de la file actuelle : {num} titres ajoutés." -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." -msgstr "Enlève une piste d'une playlist avec une Url." +msgstr "Supprimer une piste d'une playlist par url." -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." msgstr "L'url n'est pas dans la playlist." -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." -msgstr "Il ne reste plus aucune pistes, retrait de la playlist." +msgstr "Aucune piste restante, suppression de la playlist." -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." msgstr "{num} musiques ont été retirées de la playlist {playlist_name}." -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." msgstr "La piste a été retirée de la playlist {playlist_name}." -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." -msgstr "Enregistrer une playlist depuis une url." +msgstr "Enregistrer une playlist à partir d'une url." -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." msgstr "Playlist {name} enregistrée : {num} titres ajoutés." -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." msgstr "Charger une playlist dans la file." -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "Cette playlist n'existe pas." - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." msgstr "Convertir un fichier de playlist venant de la v2 de Red vers une playlist." -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." msgstr "Envoyez s'il vous plaît le fichier de playlist. Tout autre message annulera cette opération." -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." msgstr "Aucun fichier détecté, réessayez plus tard." -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." msgstr "Transfert annulé." -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." msgstr "Seuls les fichiers de playlist peuvent être transférés." -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." -msgstr "Fichier de playlist non valide." +msgstr "Fichier de playlist invalide." -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." msgstr "Une playlist existe déjà avec ce nom." -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "Veuillez patienter, ajout de pistes ..." - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "Chargement de piste {num}/{total} ..." - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." msgstr "Aucune piste trouvée." -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "{num} pistes de la playlist {playlist_name} ont été ajoutés. {num_bad} piste(s) n’ont pu être chargé." -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "{num} pistes de la playlist {playlist_name} ont été ajoutés." -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "Playlist enregistrée" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "Vous devez avoir le rôle DJ pour utiliser les playlists." -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "Vous devez être dans le salon vocal pour utiliser la commande de playlist." -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "Revient à la piste précédente." -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "Vous devez avoir le rôle DJ pour passer des pistes." -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "Vous devez être dans un salon vocal pour passer une musique." -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "Enlevez l'aléatoire pour utiliser cette commande." -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "Il n'y a pas de piste précédente." -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "Répétition de piste" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " -msgstr "Affiche la file d'attente.\n\n" -" Utilisez [p]queue search pour rechercher dans la file d'attente.\n" -" " +msgid "List the songs in the queue." +msgstr "Lister les musiques dans la file d'attente." -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "Il n'y a rien dans la liste." - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "**Actuellement en streaming :**" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "Lecture en cours : " -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" -msgstr "Demandé par : **{user} **\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" +msgstr "Demandé par : **{user} **\\n" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "Demandé par : **{user} **\\n" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "Demandé par : **{user} **" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" -msgstr "demandé par : **{user} **\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" +msgstr "demandé par : **{user} **\\n" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "demandé par **{user} **\\n" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "demandé par **{user}**\\n" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "Page {page_num}/{total_pages} | {num_tracks} pistes, {num_remaining} restant" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "Répétition" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "Aléatoire" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "Pistes correspondantes :" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "Page {page_num}/{total_pages}" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "Vide la file d'attente." + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "Vous devez avoir le rôle DJ pour effacer la file d'attente." + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "La file d'attente a été effacée." + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "Supprime les musiques de la file d'attente si la personne qui l'a choisi n'est pas dans le salon vocal." + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "Vous devez avoir le rôle DJ pour effacer la file d'attente." + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "0 pistes supprimées." + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "{removed_tracks} pistes supprimées qui avaient été ajoutées par des membres hors du salon vocal." + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "Rechercher dans la file d'attente." + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "Activer la répétition." -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "Vous devez avoir le rôle DJ pour activer la répétition." -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "Vous devez être dans un salon vocal pour activer la répétition." -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "Répétition des pistes : {true_or_false}." -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "Supprime un numéro de piste spécifique de la liste." -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "Rien dans la liste." -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "Vous devez avoir le rôle DJ pour enlever des pistes." -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "Vous devez être dans un salon vocal pour enlever des pistes." -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "{track} a été retirer de la liste." -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " -msgstr "Choisissez une piste avec une recherche.\n\n" -" Utilisez `[p]search list ` pour mettre dans la liste\n" -" toutes les pistes trouvées sur YouTube. `[p]search sc `\n" -" permet de rechercher sur SoundCloud au lieu de YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " +msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "Vous devez être dans un salon vocal pour ajouter des pistes." -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." -msgstr "{num} piste(s) ajoutée(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" +msgstr "{num} piste(s) ajoutée(s).{maxlength_msg}" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "{time} avant le début de la lecture de la recherche : commence à #{position} dans la liste" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "Pistes trouvées :" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "résultats de la recherche" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "Dossiers trouvés :" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "dossiers locaux" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "Fichiers trouvés :" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "titres locaux" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." -msgstr "Revenir en arrière ou avancer une piste en secondes." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." +msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "Vous devez être dans un salon vocal pour utiliser la commande seek." -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "Vous devez avoir le rôle DJ pour utiliser la commande seek." -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "Il existe d’autres personnes en train d'écouter - vote pour passer à la place." -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "Ne peut avancer ou reculer sur un stream." -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "Déplacé de {num_seconds}s à 00:00:00" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "Déplacé de {num_seconds}s à {time}" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "Activer/désactiver l'aléatoire." -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "Vous devez avoir le rôle DJ pour activer l'aléatoire." -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "Vous devez être dans un salon vocal pour activer l'aléatoire." -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "Mélanger les pistes : {true_or_false}." -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" -msgstr "Fait chanter une des chansons de Red" +msgid "Make Red sing one of her songs." +msgstr "Fait chanter une des musiques de Red." -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." -msgstr "Passer à la piste suivante." +msgid "Skip to the next track, or to a given track number." +msgstr "Passez à la piste suivante, ou à un numéro de piste donné." -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "Impossible de passer à une piste spécifique en mode vote sans le rôle DJ." + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "J’ai enlevé votre vote pour passer." -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "Vous avez voté pour passer." -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "Seuil de vote atteint." -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr " Votes : {num_votes}/{num_members} ({cur_percent}%, {required_percent}% requis)" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "Actuellement en streaming {track}" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "{time} restant sur {track}" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "Le numéro de piste doit être égal ou supérieur à 1." + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "Impossible de passer à une piste pendant que l'aléatoire est activé." + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "Piste passée" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "La lecture a été stoppée et la liste vidée." -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "Vous devez être dans un salon vocal pour arrêter la musique." -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "Vous devez avoir le rôle DJ pour arrêter la musique." -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "Arrêt ..." -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "Invoquez le bot dans un salon vocal." + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "Vous avez besoin du rôle DJ pour invoquer le bot." + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "Réglage du volume, 1 % à 150 %." -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "Volume actuel :" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "Vous devez être dans un salon vocal pour changer le volume." -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "Vous devez avoir le rôle DJ pour changer le volume." -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "Volume :" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "Options de configuration du serveur Lavalink." -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "Activer/désactiver l'usage de serveurs externes Lavalink." -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "Serveur externe Lavalink : {true_or_false}." -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "Réinitialisation des paramètres par défaut." - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "Définir l’hôte du serveur lavalink." -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "Hôte défini à {host}." -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "Serveur externe lavalink défini sur True." -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "Définir le mot de passe du serveur lavalink." -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "Mot de passe serveur défini à {password}." -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "Définir le port REST du serveur lavalink." -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "Port REST défini sur {port}." -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "Définir le port du websocket du serveur lavalink." -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "Port websocket défini sur {port}." -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "Pas assez de {currency} ({required_credits} voulu)." diff --git a/redbot/cogs/audio/locales/hu-HU.po b/redbot/cogs/audio/locales/hu-HU.po index 9c2a50f8f..868fbfe29 100644 --- a/redbot/cogs/audio/locales/hu-HU.po +++ b/redbot/cogs/audio/locales/hu-HU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,971 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: hu_HU\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." msgstr "" -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" msgstr "" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "" -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "" -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." msgstr "" -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." msgstr "" -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." msgstr "" -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." msgstr "" -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "" - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "" - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." msgstr "" -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "" -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "" -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "" + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "" -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." +msgid "Instructions to set the Spotify API tokens." msgstr "" -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "" - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "" - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "" - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "" -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "" -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "" -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "" -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "" -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "" -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "" -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "" -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "" -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "" -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "" -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "" -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "" -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "" -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "" -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "" -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "" -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "" -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." +msgid "Pause or resume a playing track." msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "" - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "" - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "" -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "" -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "" -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." msgstr "" -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." msgstr "" -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." msgstr "" -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." msgstr "" -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." msgstr "" -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." msgstr "" -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." msgstr "" -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." msgstr "" -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." msgstr "" -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." msgstr "" -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." msgstr "" -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." msgstr "" -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." msgstr "" -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "" -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "" -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "" -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "" -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "" -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "" -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " +msgid "List the songs in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "" -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "" -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "" -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "" -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" +msgid "Make Red sing one of her songs." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." +msgid "Skip to the next track, or to a given track number." msgstr "" -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "" -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr "" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "" -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "" -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "" -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "" -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "" -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "" -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "" -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "" -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "" -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "" -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "" -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "" diff --git a/redbot/cogs/audio/locales/id-ID.po b/redbot/cogs/audio/locales/id-ID.po index bfe212e4b..d9320b5e1 100644 --- a/redbot/cogs/audio/locales/id-ID.po +++ b/redbot/cogs/audio/locales/id-ID.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,971 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: id_ID\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." msgstr "" -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" msgstr "" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "" -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "" -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." msgstr "" -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." msgstr "" -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." msgstr "" -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." msgstr "" -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "" - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "" - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." msgstr "" -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "" -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "" -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "" + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "" -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." +msgid "Instructions to set the Spotify API tokens." msgstr "" -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "" - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "" - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "" - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "" -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "" -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "" -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "" -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "" -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "" -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "" -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "" -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "" -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "" -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "" -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "" -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "" -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "" -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "" -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "" -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "" -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "" -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." +msgid "Pause or resume a playing track." msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "" - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "" - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "" -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "" -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "" -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." msgstr "" -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." msgstr "" -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." msgstr "" -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." msgstr "" -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." msgstr "" -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." msgstr "" -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." msgstr "" -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." msgstr "" -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." msgstr "" -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." msgstr "" -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." msgstr "" -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." msgstr "" -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." msgstr "" -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "" -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "" -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "" -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "" -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "" -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "" -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " +msgid "List the songs in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "" -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "" -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "" -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "" -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" +msgid "Make Red sing one of her songs." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." +msgid "Skip to the next track, or to a given track number." msgstr "" -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "" -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr "" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "" -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "" -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "" -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "" -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "" -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "" -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "" -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "" -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "" -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "" -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "" -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "" diff --git a/redbot/cogs/audio/locales/it-IT.po b/redbot/cogs/audio/locales/it-IT.po index 6a1ec2563..f07a453cd 100644 --- a/redbot/cogs/audio/locales/it-IT.po +++ b/redbot/cogs/audio/locales/it-IT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,971 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: it_IT\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." msgstr "" -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" msgstr "" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "" -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "" -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." msgstr "" -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." msgstr "" -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." msgstr "" -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." msgstr "" -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "" - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "" - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." msgstr "" -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "" -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "" -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "" + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "" -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." +msgid "Instructions to set the Spotify API tokens." msgstr "" -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "" - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "" - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "" - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "" -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "" -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "" -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "" -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "" -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "" -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "" -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "" -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "" -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "" -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "" -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "" -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "" -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "" -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "" -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "" -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "" -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "" -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." +msgid "Pause or resume a playing track." msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "" - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "" - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "" -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "" -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "" -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." msgstr "" -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." msgstr "" -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." msgstr "" -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." msgstr "" -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." msgstr "" -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." msgstr "" -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." msgstr "" -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." msgstr "" -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." msgstr "" -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." msgstr "" -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." msgstr "" -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." msgstr "" -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." msgstr "" -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "" -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "" -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "" -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "" -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "" -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "" -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " +msgid "List the songs in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "" -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "" -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "" -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "" -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" +msgid "Make Red sing one of her songs." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." +msgid "Skip to the next track, or to a given track number." msgstr "" -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "" -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr "" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "" -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "" -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "" -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "" -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "" -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "" -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "" -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "" -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "" -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "" -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "" -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "" diff --git a/redbot/cogs/audio/locales/ja-JP.po b/redbot/cogs/audio/locales/ja-JP.po index 7c3e07393..8403ae072 100644 --- a/redbot/cogs/audio/locales/ja-JP.po +++ b/redbot/cogs/audio/locales/ja-JP.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,978 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: ja_JP\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." msgstr "音声チャンネルを介して音楽を再生します。" -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "再生中:" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "長さ: {length} | {user} によって追加" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" msgstr "{} つのサーバーで再生中" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "再生中:" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "長さ: {length} | {user} によって追加" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "キューを再生しきりました。" -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "音声ファイルのエラー" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "スキップします..." -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "音楽の再生に関する設定。" -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " -msgstr "DJ モードを切り替え" +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " +msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." msgstr "DJ モードに使用する役職を選択してください。名前またはIDが使用できます。" -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." msgstr "タイムアウトしました。もう一度試してみてください。" -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "再生が終わった x 秒後に音声チャンネルから切断します。無効化するには 0 を指定してください。" -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." msgstr "0 以下を指定することはできません。" -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." msgstr "音声チャンネルに誰もいなくなっても、切断しないようになりました。" -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." msgstr "音声チャンネルから誰もいなくなった {num_seconds} 秒後に切断します。" -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "DJ モードのために使用する役職を設定します。" - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "DJ モードの役職として設定済み: {role.name}" - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." msgstr "役職を持っていないユーザーがキューに追加するためにかかるコストを設定できます。0 を指定すると無効化されます。" -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." msgstr "ジュークボックスモードを無効化します。" -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "キューへ追加するコストを {price} {currency} に設定しました。" -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "曲の通知やその他のメッセージを送信するかどうかを切り替えます。" -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." msgstr "通知モード: {true_or_false}" -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "DJ モードのために使用する役職を設定します。" + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "DJ モードの役職として設定済み: {role.name}" + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "現在の設定を表示します。" -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "サーバー設定" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" -msgstr "切断タイマー: {num_seconds} 秒\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" -msgstr "DJ の役職: {role.name}\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" -msgstr "ジュークボックス: {jukebox_name}\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" -msgstr "コマンドのコスト: {jukebox_price}\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" -msgstr "リピート: {repeat}\n" -"シャッフル再生: {shuffle}\n" -"曲の通知: {notify}\n" -"再生中の項目をステータスへ表示: {status}\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" -msgstr "サムネイル: {0}\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" -msgstr "投票によるスキップ: {vote_enabled}\n" -"スキップが承認される割合: {vote_percent}%\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" -msgstr "--- Lavalink の設定 ---\n" -"Cog のバージョン: {version}\n" -"Jar のビルド: {jarbuild}\n" -"外部のサーバー: {use_external_lavalink}" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." -msgstr "サムネイルを表示するかどうかを切り替えます。" - -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." -msgstr "サムネイルを表示: {true_or_false}" - -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgid "Instructions to set the Spotify API tokens." msgstr "" -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" msgstr "" -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "" - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "" -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "サムネイルを表示するかどうかを切り替えます。" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "サムネイルを表示: {true_or_false}" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "" -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "" -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "" -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "" -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "" -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "" -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "" -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "" -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "" -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "" -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "" -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "" -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "" -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "" -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "" -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "" -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "" -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." +msgid "Pause or resume a playing track." msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "" - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "" - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "" -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "" -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "" -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." msgstr "" -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." msgstr "" -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." msgstr "" -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." msgstr "" -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." msgstr "" -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." msgstr "" -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." msgstr "" -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." msgstr "" -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." msgstr "" -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." msgstr "" -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." msgstr "" -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." msgstr "" -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." msgstr "" -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "" -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "" -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "" -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "" -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "" -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "" -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " +msgid "List the songs in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "" -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "" -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "" -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "" -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" +msgid "Make Red sing one of her songs." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." +msgid "Skip to the next track, or to a given track number." msgstr "" -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "" -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr "" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "" -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "" -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "" -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "" -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "" -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "" -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "" -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "" -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "" -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "" -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "" -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "" diff --git a/redbot/cogs/audio/locales/ko-KR.po b/redbot/cogs/audio/locales/ko-KR.po index 89be8ca55..b6589a965 100644 --- a/redbot/cogs/audio/locales/ko-KR.po +++ b/redbot/cogs/audio/locales/ko-KR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,971 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: ko_KR\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." msgstr "" -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" msgstr "" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "" -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "" -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "음악 구성 옵션들이에요." -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." msgstr "" -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "자동으로 연결을 끊기는 모든 사용자 연결이 끊어진 후 x 초 후에 음악을 중지해요. 0 이면 자동으로 연결을 끊는 걸 비활성화해요" -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." msgstr "" -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." msgstr "" -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." msgstr "" -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "" - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "" - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." msgstr "" -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "" -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "" -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "" + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "현재 설정을 표시할게요." -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." +msgid "Instructions to set the Spotify API tokens." msgstr "" -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "" - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "" - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "" - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "" -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "" -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "" -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "" -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "" -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "" -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "" -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "" -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "" -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "" -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "" -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "" -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "" -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "" -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "" -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "" -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "" -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "" -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." +msgid "Pause or resume a playing track." msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "" - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "" - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "" -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "" -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "" -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." msgstr "" -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." msgstr "" -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." msgstr "" -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." msgstr "" -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." msgstr "" -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." msgstr "" -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." msgstr "" -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." msgstr "" -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." msgstr "" -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." msgstr "" -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." msgstr "" -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." msgstr "" -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." msgstr "" -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "" -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "" -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "" -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "" -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "" -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "" -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " +msgid "List the songs in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "" -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "" -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "" -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "" -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" +msgid "Make Red sing one of her songs." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." +msgid "Skip to the next track, or to a given track number." msgstr "" -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "" -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr "" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "" -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "" -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "" -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "" -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "" -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "" -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "" -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "" -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "" -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "" -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "" -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "" diff --git a/redbot/cogs/audio/locales/lol-US.po b/redbot/cogs/audio/locales/lol-US.po index a9165b4de..6534eb353 100644 --- a/redbot/cogs/audio/locales/lol-US.po +++ b/redbot/cogs/audio/locales/lol-US.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: LOLCAT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,971 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: lol_US\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." msgstr "" -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" msgstr "" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "" -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "" -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." msgstr "" -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." msgstr "" -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." msgstr "" -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." msgstr "" -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "" - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "" - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." msgstr "" -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "" -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "" -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "" + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "" -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." +msgid "Instructions to set the Spotify API tokens." msgstr "" -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "" - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "" - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "" - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "" -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "" -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "" -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "" -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "" -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "" -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "" -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "" -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "" -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "" -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "" -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "" -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "" -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "" -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "" -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "" -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "" -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "" -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." +msgid "Pause or resume a playing track." msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "" - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "" - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "" -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "" -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "" -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." msgstr "" -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." msgstr "" -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." msgstr "" -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." msgstr "" -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." msgstr "" -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." msgstr "" -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." msgstr "" -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." msgstr "" -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." msgstr "" -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." msgstr "" -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." msgstr "" -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." msgstr "" -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." msgstr "" -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "" -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "" -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "" -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "" -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "" -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "" -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " +msgid "List the songs in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "" -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "" -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "" -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "" -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" +msgid "Make Red sing one of her songs." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." +msgid "Skip to the next track, or to a given track number." msgstr "" -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "" -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr "" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "" -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "" -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "" -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "" -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "" -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "" -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "" -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "" -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "" -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "" -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "" -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "" diff --git a/redbot/cogs/audio/locales/nl-NL.po b/redbot/cogs/audio/locales/nl-NL.po index b89f85439..d772fb2bc 100644 --- a/redbot/cogs/audio/locales/nl-NL.po +++ b/redbot/cogs/audio/locales/nl-NL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,980 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: nl_NL\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." msgstr "Speel audio af via spraakkanalen." -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "Nu aan het spelen" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "Track lengte: {length} | Aangevraagd door: {user}" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" msgstr "muziek in {} servers" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "Nu aan het spelen" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "Track lengte: {length} | Aangevraagd door: {user}" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "Wachtrij beëindigd." -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "Track error" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "Overslaan..." -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "Muziek configuratie opties." -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " -msgstr "Overschakelen naar DJ mode.\n\n" -" Met de DJ-modus kunnen gebruikers met de DJ-rol audiocommando's gebruiken.\n" -" " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " +msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." msgstr "Stel een rol in voor gebruik met de DJ-modus. Voer nu de rolnaam of ID in." -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." msgstr "Geen reactie ontvangen, probeer het later opnieuw." -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "Auto-disconnection na x seconden in de stopstand. 0 om uit te schakelen." -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." msgstr "Kan niet minder zijn dan nul." -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." msgstr "Lege verbinding verbreken is uitgeschakeld." -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." msgstr "Lege verbinding verbreken is uingesteld op {num_seconds}." -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "Stel de rol in die moet worden gebruikt voor de DJ-modus." - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "DJ-rol ingesteld op: {role.name}." - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." msgstr "Stel een prijs in voor wachtrijen voor niet-mods. 0 om uit te schakelen." -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." msgstr "Jukebox-modus uitgeschakeld." -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "Trackwachtrijopdracht instellen ingesteld op {price} {currency}." -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "Schakel track aankondigingen en andere bot berichten in of uit." -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." msgstr "Verbose mode op: {true_or_false}." -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "Stel de rol in die moet worden gebruikt voor de DJ-modus." + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "DJ-rol ingesteld op: {role.name}." + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "Laat de huidige instellingen zien." -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "Server instellingen" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" -msgstr "Disconnect timer: [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" -msgstr "DJ Role: [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" -msgstr "Jukebox: [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" -msgstr "Command prijs: [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" -msgstr "Herhaal: [{repeat}] \n" -"Shuffle: [{shuffle}] \n" -"Nummerberichten: [{notify}] \n" -"Nummers als status: [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" -msgstr "Voorbeelden: [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" -msgstr "Stemmen voor overslaan: [{vote_enabled}] \n" -"Percentage om over te slaan: [{vote_percent}%]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" -msgstr "---Lavalink Settings--- \n" -"Cog versie: [{version}] \n" -"Jar build: [{jarbuild}] \n" -"Externe server: [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." -msgstr "Schakelen tussen weergave van een miniatuur op audioboodschappen." +msgid "Instructions to set the Spotify API tokens." +msgstr "" -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." -msgstr "Miniatuurweergave: {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" +msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "Percentage dat nodig is voor niet-mods om tracks over te slaan. 0 om uit te schakelen." - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "Stemmen uitgeschakeld. Alle gebruikers kunnen commando's voor wachtrijbeheer gebruiken." - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "Stempercentage ingesteld op {percent}%." - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "Muziektitel als status aan of uit zetten." -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "Muziektitel als status: {true_or_false}." -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "Schakelen tussen weergave van een miniatuur op audioboodschappen." + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "Miniatuurweergave: {true_or_false}." + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "Percentage dat nodig is voor niet-mods om tracks over te slaan. 0 om uit te schakelen." + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "Stemmen uitgeschakeld. Alle gebruikers kunnen commando's voor wachtrijbeheer gebruiken." + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "Stempercentage ingesteld op {percent}%." + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "Audio statistieken." -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "Er wordt niets uitgevoerd." -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "Nergens verbonden." -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" -msgstr "Verbonden in {num} servers:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" +msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "Zet een nummer bovenaan de wachtrij." -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "Je moet in een spraakkanaal zitten om het nummer bovenaan de wachtrij te zetten." -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "Je hebt de DJ rol nodig om nummers bovenaan de wachtrij te zetten." -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "Het aantal nummers moet groter zijn dan 1 en binnen de wachtrijlimiet." -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "{track} verplaatst naar de bovenkant van de wachtrij." -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "Verbreek de verbinding met het spraakkanaal." -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "Je hebt de DJ rol nodig om de verbinding te verbreken." -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "Er zijn andere mensen die naar muziek luisteren." -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "Probeer het commando opnieuw met een kortere naam." + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "Lokale afspeelopdrachten." -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "Speel alle nummers af in een localtracks-map." -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "Speel een local track af." -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "Geen local track map gevonden." -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "Zoek naar nummer in de algemene lokale tracklijst." -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "Geen albums gevonden." -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "Geen overeenkomsten." -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "Geen lokale track-map gevonden." -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "Nu aan het afspelen." -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "Aangevraagd door: **{track.requester}**" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "Niets." -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." -msgstr "Onderbreken en hervatten." +msgid "Pause or resume a playing track." +msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." -msgstr "Je moet in het spraakkanaal zitten om de muziek op pauze te zetten." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." +msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." -msgstr "Je hebt de DJ rol nodig om muziek op pauze te zetten." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." +msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "Nummer is onderbroken" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "Nummer hervat" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "Nummer is onderbroken." - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "Nummer is aan het afspelen." - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "Wachtrij percentage." -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "Niets in de wachtrij." -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "Wachtrij en nummers die afspelen:" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "Speel een URL af of zoek naar nummers." -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "Ik heb geen toestemming om te verbinden met jouw kanaal." -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "Verbind eerst met een spraakkanaal." -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." -msgstr "" +msgstr "Er is nog geen verbinding gemaakt met Lavalink." -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." -msgstr "" +msgstr "Je heeft de DJ rol nodig om nummers in de wachtrij te zetten." -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." -msgstr "" +msgstr "Je moet in het spraakkanaal zijn om de `play` commando te gebruiken." -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." +msgstr "Geen nummers om af te spelen." + +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." +msgstr "Geen resultaten." + +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" +msgstr "Afspeellijst toegevoegd" + +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" +msgstr "{time} tot het begin van het afspelen van de afspeellijst: begint bij #{position} in de wachtrij" + +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" -msgstr "" +msgstr "Nummer toegevoegd" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" -msgstr "" +msgstr "{time} tot het afspelen volgt: #{position} in de wachtrij" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" +msgstr "#{position} in de wachtrij" + +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "Even geduld, nummers toevoegen..." + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "Nummers laden {num}/{total}..." + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." -msgstr "" +msgstr "Opties voor afspeellijst configuratie." -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." -msgstr "" +msgstr "Je bent niet de auteur van die afspeellijst." -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." -msgstr "" +msgstr "{track} is al in {playlist}." -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." -msgstr "" +msgstr "Geen afspeellijst met die naam." -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." -msgstr "" +msgstr "{track} toegevoegd aan {playlist}." -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." +msgstr "{num} nummers toegevoegd aan {playlist}." + +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "Geen afspeellijst naam ingevoerd, probeer het later opnieuw." + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." -msgstr "" +msgstr "Maak een lege afspeellijst aan." -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." -msgstr "" +msgstr "Je hebt de DJ rol nodig om afspeellijsten op te slaan." -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." -msgstr "" +msgstr "Deze afspeellijst bestaat al, probeer het opnieuw met een andere naam." -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." -msgstr "" +msgstr "Lege afspeellijst `{name}` aangemaakt." -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." -msgstr "" +msgstr "Verwijder een opgeslagen afspeellijst." -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." +msgstr "afspeellijst `{name}` verwijderd." + +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "Die afspeellijst bestaat niet." + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." +msgstr "Haal informatie op van een opgeslagen afspeellijst." + +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" -msgstr "" - -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." -msgstr "" +msgstr "Toon opgeslagen afspeellijsten." -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." -msgstr "" +msgstr "Geen opgeslagen afspeellijsten." -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" +msgstr "Nummers: {num}" + +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" -msgstr "" - -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" -msgstr "" +msgstr "Afspeellijsten voor {server_name}:" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" -msgstr "" +msgstr "Pagina {page_num}/{total_pages} | {num} afspeellijsten" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." +msgstr "Sla de wachtrij op naar een afspeellijst." + +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." -msgstr "" +msgstr "Voer een naam in voor deze afspeellijst." -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." -msgstr "" +msgstr "Afspeellijst `{name}` opgeslagen van de huidige wachtrij: {num} nummers toegevoegd." -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." -msgstr "" +msgstr "Verwijder een track van een afspeellijst via url." -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." -msgstr "" +msgstr "URL niet in de afspeellijst." -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." -msgstr "" +msgstr "Geen nummers meer in de afspeellijst, de afspeellijst wordt verwijderd." -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." -msgstr "" +msgstr "{num} nummers zijn verwijderd van de afspeellijst `{playlist_name}`." -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." -msgstr "" +msgstr "Het nummer is verwijderd van de afspeellijst `{playlist_name}`." -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." -msgstr "" +msgstr "Een afspeellijst opslaan van een url." -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." -msgstr "" +msgstr "Afspeellijst {name} opgeslagen: {num} nummers toegevoegd." -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." -msgstr "" +msgstr "Laad een afspeellijst in de wachtrij." -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." -msgstr "" +msgstr "Converteer een Red v2 afspeellijst naar een Red v3 afspeellijst." -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." -msgstr "" +msgstr "Upload het afspeellijst bestand. Elk ander bericht zal deze bewerking annuleren." -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." -msgstr "" +msgstr "Geen bestand gedetecteerd, probeer het later opnieuw." -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." -msgstr "" +msgstr "Upload geannuleerd." -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." -msgstr "" +msgstr "Alleen afspeellijsten kunnen worden geüpload." -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." -msgstr "" +msgstr "Geen geldig afspeellijst bestand." -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." -msgstr "" +msgstr "Een afspeellijst bestaat al met deze naam." -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." -msgstr "" +msgstr "Geen nummers gevonden." -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "" -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "" -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "" -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "" -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "" -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "" -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " +msgid "List the songs in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "" -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "" -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "" -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "" -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" +msgid "Make Red sing one of her songs." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." +msgid "Skip to the next track, or to a given track number." msgstr "" -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "" -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr "" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "" -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "" -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "" -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "" -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "" -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "" -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "" -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "" -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "" -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "" -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "" -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "" diff --git a/redbot/cogs/audio/locales/no-NO.po b/redbot/cogs/audio/locales/no-NO.po index b061d261f..f74db0f22 100644 --- a/redbot/cogs/audio/locales/no-NO.po +++ b/redbot/cogs/audio/locales/no-NO.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Norwegian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,971 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: no_NO\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." msgstr "" -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" msgstr "" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "" -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "" -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." msgstr "" -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." msgstr "" -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." msgstr "" -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." msgstr "" -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "" - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "" - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." msgstr "" -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "" -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "" -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "" + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "" -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." +msgid "Instructions to set the Spotify API tokens." msgstr "" -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "" - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "" - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "" - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "" -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "" -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "" -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "" -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "" -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "" -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "" -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "" -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "" -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "" -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "" -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "" -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "" -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "" -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "" -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "" -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "" -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "" -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." +msgid "Pause or resume a playing track." msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "" - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "" - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "" -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "" -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "" -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." msgstr "" -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." msgstr "" -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." msgstr "" -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." msgstr "" -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." msgstr "" -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." msgstr "" -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." msgstr "" -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." msgstr "" -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." msgstr "" -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." msgstr "" -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." msgstr "" -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." msgstr "" -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." msgstr "" -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "" -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "" -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "" -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "" -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "" -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "" -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " +msgid "List the songs in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "" -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "" -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "" -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "" -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" +msgid "Make Red sing one of her songs." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." +msgid "Skip to the next track, or to a given track number." msgstr "" -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "" -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr "" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "" -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "" -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "" -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "" -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "" -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "" -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "" -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "" -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "" -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "" -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "" -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "" diff --git a/redbot/cogs/audio/locales/pl-PL.po b/redbot/cogs/audio/locales/pl-PL.po index 5dc781f8b..f4d54c54f 100644 --- a/redbot/cogs/audio/locales/pl-PL.po +++ b/redbot/cogs/audio/locales/pl-PL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,971 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: pl_PL\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." msgstr "" -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" msgstr "" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "" -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "" -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." msgstr "" -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." msgstr "" -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." msgstr "" -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." msgstr "" -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "" - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "" - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." msgstr "" -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "" -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "" -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "" + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "" -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." +msgid "Instructions to set the Spotify API tokens." msgstr "" -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "" - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "" - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "" - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "" -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "" -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "" -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "" -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "" -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "" -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "" -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "" -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "" -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "" -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "" -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "" -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "" -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "" -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "" -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "" -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "" -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "" -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." +msgid "Pause or resume a playing track." msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "" - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "" - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "" -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "" -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "" -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." msgstr "" -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." msgstr "" -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." msgstr "" -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." msgstr "" -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." msgstr "" -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." msgstr "" -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." msgstr "" -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." msgstr "" -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." msgstr "" -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." msgstr "" -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." msgstr "" -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." msgstr "" -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." msgstr "" -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "" -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "" -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "" -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "" -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "" -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "" -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " +msgid "List the songs in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "" -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "" -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "" -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "" -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" +msgid "Make Red sing one of her songs." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." +msgid "Skip to the next track, or to a given track number." msgstr "" -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "" -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr "" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "" -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "" -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "" -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "" -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "" -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "" -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "" -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "" -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "" -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "" -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "" -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "" diff --git a/redbot/cogs/audio/locales/pt-BR.po b/redbot/cogs/audio/locales/pt-BR.po index 1b306c398..3a58ba3e0 100644 --- a/redbot/cogs/audio/locales/pt-BR.po +++ b/redbot/cogs/audio/locales/pt-BR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese, Brazilian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,971 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: pt_BR\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." -msgstr "" +msgstr "Reproduzir áudio através de canais de voz." -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" -msgstr "" +msgstr "música em {} servidores" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "Reproduzindo Agora" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "Tamanho da faixa: {length} | Solicitado por: {user}" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." -msgstr "" +msgstr "Fila terminou." -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" -msgstr "" +msgstr "Erro na faixa" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." -msgstr "" +msgstr "Pulando..." -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." -msgstr "" +msgstr "Opções de configuração de música." -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." -msgstr "" +msgstr "Por favor, defina um cargo para usar com o modo DJ. Digite o nome ou ID do cargo agora." -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." +msgstr "Tempo de resposta excedido, tente novamente mais tarde." + +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." -msgstr "" +msgstr "Desconexão automática após x segundos parados. 0 para desativar." -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." -msgstr "" +msgstr "Não pode ser menor que zero." -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." -msgstr "" +msgstr "Desconexão automática desativada." -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." -msgstr "" +msgstr "Tempo de desconexão automática definido para {num_seconds}." -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "" - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "" - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." -msgstr "" +msgstr "Defina um preço para enfileirar faixas para não-mods. 0 para desativar." -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." -msgstr "" +msgstr "Modo Jukebox desativado." -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "" -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "" -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "Defina o cargo a ser usado para o modo DJ." + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "Cargo DJ definido para: {role.name}." + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "" -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." +msgid "Instructions to set the Spotify API tokens." msgstr "" -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "" - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "" - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "" - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "" -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "" -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "" -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "" -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "" -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "" -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "" -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "" -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "" -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "" -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "" -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "" -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "" -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "" -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "" -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "" -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "" -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "" -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." +msgid "Pause or resume a playing track." msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "" - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "" - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "" -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "" -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "" -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." msgstr "" -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." msgstr "" -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." msgstr "" -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." msgstr "" -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." msgstr "" -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." msgstr "" -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." msgstr "" -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." msgstr "" -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." msgstr "" -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." msgstr "" -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." msgstr "" -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." msgstr "" -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." msgstr "" -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "" -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "" -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "" -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "" -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "" -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "" -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " +msgid "List the songs in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "" -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "" -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "" -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "" -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" +msgid "Make Red sing one of her songs." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." +msgid "Skip to the next track, or to a given track number." msgstr "" -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "" -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr "" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "" -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "" -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "" -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "" -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "" -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "" -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "" -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "" -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "" -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "" -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "" -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "" diff --git a/redbot/cogs/audio/locales/pt-PT.po b/redbot/cogs/audio/locales/pt-PT.po index 3e8e4024e..528e0e946 100644 --- a/redbot/cogs/audio/locales/pt-PT.po +++ b/redbot/cogs/audio/locales/pt-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,971 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: pt_PT\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." msgstr "" -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" msgstr "" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "" -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "" -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." msgstr "" -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." msgstr "" -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." msgstr "" -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." msgstr "" -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "" - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "" - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." msgstr "" -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "" -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "" -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "" + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "" -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." +msgid "Instructions to set the Spotify API tokens." msgstr "" -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "" - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "" - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "" - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "" -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "" -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "" -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "" -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "" -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "" -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "" -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "" -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "" -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "" -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "" -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "" -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "" -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "" -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "" -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "" -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "" -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "" -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." +msgid "Pause or resume a playing track." msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "" - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "" - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "" -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "" -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "" -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." msgstr "" -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." msgstr "" -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." msgstr "" -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." msgstr "" -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." msgstr "" -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." msgstr "" -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." msgstr "" -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." msgstr "" -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." msgstr "" -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." msgstr "" -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." msgstr "" -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." msgstr "" -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." msgstr "" -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "" -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "" -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "" -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "" -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "" -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "" -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " +msgid "List the songs in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "" -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "" -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "" -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "" -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" +msgid "Make Red sing one of her songs." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." +msgid "Skip to the next track, or to a given track number." msgstr "" -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "" -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr "" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "" -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "" -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "" -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "" -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "" -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "" -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "" -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "" -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "" -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "" -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "" -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "" diff --git a/redbot/cogs/audio/locales/ro-RO.po b/redbot/cogs/audio/locales/ro-RO.po new file mode 100644 index 000000000..290bf550b --- /dev/null +++ b/redbot/cogs/audio/locales/ro-RO.po @@ -0,0 +1,1290 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:09\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Romanian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /cogs/audio/locales/messages.pot\n" +"Language: ro_RO\n" + +#: redbot/cogs/audio/audio.py:47 +#, docstring +msgid "Play audio through voice channels." +msgstr "" + +#: redbot/cogs/audio/audio.py:260 +msgid "music in {} servers" +msgstr "" + +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "" + +#: redbot/cogs/audio/audio.py:331 +msgid "Queue ended." +msgstr "" + +#: redbot/cogs/audio/audio.py:350 +msgid "Track Error" +msgstr "" + +#: redbot/cogs/audio/audio.py:355 +msgid "Skipping..." +msgstr "" + +#: redbot/cogs/audio/audio.py:363 +#, docstring +msgid "Music configuration options." +msgstr "" + +#: redbot/cogs/audio/audio.py:369 +#, docstring +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 +msgid "Please set a role to use with DJ mode. Enter the role name or ID now." +msgstr "" + +#: redbot/cogs/audio/audio.py:400 +msgid "Response timed out, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 +#, docstring +msgid "Auto-disconnection after x seconds while stopped. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 +msgid "Can't be less than zero." +msgstr "" + +#: redbot/cogs/audio/audio.py:418 +msgid "Empty disconnect disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:423 +msgid "Empty disconnect timer set to {num_seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:434 +#, docstring +msgid "Set a price for queueing tracks for non-mods. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:439 +msgid "Jukebox mode disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:444 +msgid "Track queueing command price set to {price} {currency}." +msgstr "" + +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 +#, docstring +msgid "Toggle track announcement and other bot messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:563 +msgid "Verbose mode on: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "" + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:589 +#, docstring +msgid "Show the current settings." +msgstr "" + +#: redbot/cogs/audio/audio.py:604 +msgid "Server Settings" +msgstr "" + +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 +#, docstring +msgid "Instructions to set the Spotify API tokens." +msgstr "" + +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" +msgstr "" + +#: redbot/cogs/audio/audio.py:665 +#, docstring +msgid "Enable/disable tracks' titles as status." +msgstr "" + +#: redbot/cogs/audio/audio.py:669 +msgid "Song titles as status: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 +#, docstring +msgid "Audio stats." +msgstr "" + +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 +msgid "Nothing playing." +msgstr "" + +#: redbot/cogs/audio/audio.py:758 +msgid "Not connected anywhere." +msgstr "" + +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" +msgstr "" + +#: redbot/cogs/audio/audio.py:779 +#, docstring +msgid "Bump a track number to the top of the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:788 +msgid "You must be in the voice channel to bump a track." +msgstr "" + +#: redbot/cogs/audio/audio.py:792 +msgid "You need the DJ role to bump tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 +msgid "Song number must be greater than 1 and within the queue limit." +msgstr "" + +#: redbot/cogs/audio/audio.py:810 +msgid "Moved {track} to the top of the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:817 +#, docstring +msgid "Disconnect from the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:826 +msgid "You need the DJ role to disconnect." +msgstr "" + +#: redbot/cogs/audio/audio.py:830 +msgid "There are other people listening to music." +msgstr "" + +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 +#, docstring +msgid "Local playback commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:1104 +#, docstring +msgid "Play all songs in a localtracks folder." +msgstr "" + +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 +#, docstring +msgid "Play a local track." +msgstr "" + +#: redbot/cogs/audio/audio.py:1126 +msgid "No local track folders found." +msgstr "" + +#: redbot/cogs/audio/audio.py:1169 +#, docstring +msgid "Search for songs across all localtracks folders." +msgstr "" + +#: redbot/cogs/audio/audio.py:1174 +msgid "No album folders found." +msgstr "" + +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 +msgid "No matches." +msgstr "" + +#: redbot/cogs/audio/audio.py:1269 +msgid "No localtracks folder." +msgstr "" + +#: redbot/cogs/audio/audio.py:1278 +#, docstring +msgid "Now playing." +msgstr "" + +#: redbot/cogs/audio/audio.py:1298 +msgid "Requested by: **{track.requester}**" +msgstr "" + +#: redbot/cogs/audio/audio.py:1308 +msgid "Nothing." +msgstr "" + +#: redbot/cogs/audio/audio.py:1368 +#, docstring +msgid "Pause or resume a playing track." +msgstr "" + +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." +msgstr "" + +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:1401 +msgid "Track Paused" +msgstr "" + +#: redbot/cogs/audio/audio.py:1407 +msgid "Track Resumed" +msgstr "" + +#: redbot/cogs/audio/audio.py:1417 +#, docstring +msgid "Queue percentage." +msgstr "" + +#: redbot/cogs/audio/audio.py:1443 +msgid "Nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:1465 +msgid "Queued and playing tracks:" +msgstr "" + +#: redbot/cogs/audio/audio.py:1474 +#, docstring +msgid "Play a URL or search for a track." +msgstr "" + +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 +msgid "I don't have permission to connect to your channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 +msgid "Connect to a voice channel first." +msgstr "" + +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 +msgid "Connection to Lavalink has not yet been established." +msgstr "" + +#: redbot/cogs/audio/audio.py:1508 +msgid "You need the DJ role to queue tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:1519 +msgid "You must be in the voice channel to use the play command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1525 +msgid "No tracks to play." +msgstr "" + +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 +msgid "Nothing found." +msgstr "" + +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 +msgid "Playlist Enqueued" +msgstr "" + +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1695 +msgid "{time} until start of playlist playback: starts at #{position} in queue" +msgstr "" + +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 +msgid "Track Enqueued" +msgstr "" + +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 +msgid "{time} until track playback: #{position} in queue" +msgstr "" + +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 +msgid "#{position} in queue" +msgstr "" + +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 +#, docstring +msgid "Playlist configuration options." +msgstr "" + +#: redbot/cogs/audio/audio.py:1876 +#, docstring +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 +msgid "You are not the author of that playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1898 +msgid "{track} is already in {playlist}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 +msgid "No playlist with that name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1914 +msgid "{track} appended to {playlist}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1920 +msgid "{num} tracks appended to {playlist}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 +#, docstring +msgid "Create an empty playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 +msgid "You need the DJ role to save playlists." +msgstr "" + +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 +msgid "Playlist name already exists, try again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:2017 +msgid "Empty playlist {name} created." +msgstr "" + +#: redbot/cogs/audio/audio.py:2021 +#, docstring +msgid "Delete a saved playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2033 +msgid "{name} playlist deleted." +msgstr "" + +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 +#, docstring +msgid "Retrieve information from a saved playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:2126 +#, docstring +msgid "List saved playlists." +msgstr "" + +#: redbot/cogs/audio/audio.py:2129 +msgid "No saved playlists." +msgstr "" + +#: redbot/cogs/audio/audio.py:2141 +msgid "Tracks: {num}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2166 +msgid "Playlists for {server_name}:" +msgstr "" + +#: redbot/cogs/audio/audio.py:2170 +msgid "Page {page_num}/{total_pages} | {num} playlists" +msgstr "" + +#: redbot/cogs/audio/audio.py:2179 +#, docstring +msgid "Save the queue to a playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 +msgid "Please enter a name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2227 +msgid "Playlist {name} saved from current queue: {num} tracks added." +msgstr "" + +#: redbot/cogs/audio/audio.py:2234 +#, docstring +msgid "Remove a track from a playlist by url." +msgstr "" + +#: redbot/cogs/audio/audio.py:2248 +msgid "URL not in playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2252 +msgid "No tracks left, removing playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2259 +msgid "{num} entries have been removed from the {playlist_name} playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2266 +msgid "The track has been removed from the {playlist_name} playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2273 +#, docstring +msgid "Save a playlist from a url." +msgstr "" + +#: redbot/cogs/audio/audio.py:2285 +msgid "Playlist {name} saved: {num} tracks added." +msgstr "" + +#: redbot/cogs/audio/audio.py:2292 +#, docstring +msgid "Load a playlist into the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2336 +#, docstring +msgid "Convert a Red v2 playlist file to a playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2342 +msgid "Please upload the playlist file. Any other message will cancel this operation." +msgstr "" + +#: redbot/cogs/audio/audio.py:2350 +msgid "No file detected, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:2354 +msgid "Upload cancelled." +msgstr "" + +#: redbot/cogs/audio/audio.py:2358 +msgid "Only playlist files can be uploaded." +msgstr "" + +#: redbot/cogs/audio/audio.py:2363 +msgid "Not a valid playlist file." +msgstr "" + +#: redbot/cogs/audio/audio.py:2379 +msgid "A playlist already exists with this name." +msgstr "" + +#: redbot/cogs/audio/audio.py:2407 +msgid "No tracks found." +msgstr "" + +#: redbot/cogs/audio/audio.py:2413 +msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." +msgstr "" + +#: redbot/cogs/audio/audio.py:2418 +msgid "Added {num} tracks from the {playlist_name} playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2422 +msgid "Playlist Saved" +msgstr "" + +#: redbot/cogs/audio/audio.py:2433 +msgid "You need the DJ role to use playlists." +msgstr "" + +#: redbot/cogs/audio/audio.py:2471 +msgid "You must be in the voice channel to use the playlist command." +msgstr "" + +#: redbot/cogs/audio/audio.py:2525 +#, docstring +msgid "Skip to the start of the previously played track." +msgstr "" + +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 +msgid "You need the DJ role to skip tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 +msgid "You must be in the voice channel to skip the music." +msgstr "" + +#: redbot/cogs/audio/audio.py:2543 +msgid "Turn shuffle off to use this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:2545 +msgid "No previous track." +msgstr "" + +#: redbot/cogs/audio/audio.py:2562 +msgid "Replaying Track" +msgstr "" + +#: redbot/cogs/audio/audio.py:2571 +#, docstring +msgid "List the songs in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2622 +msgid "**Currently livestreaming:**" +msgstr "" + +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 +msgid "Requested by: **{user}**" +msgstr "" + +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 +msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" +msgstr "" + +#: redbot/cogs/audio/audio.py:2693 +msgid "Repeat" +msgstr "" + +#: redbot/cogs/audio/audio.py:2695 +msgid "Shuffle" +msgstr "" + +#: redbot/cogs/audio/audio.py:2740 +msgid "Matching Tracks:" +msgstr "" + +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 +msgid "Page {page_num}/{total_pages}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 +#, docstring +msgid "Toggle repeat." +msgstr "" + +#: redbot/cogs/audio/audio.py:2835 +msgid "You need the DJ role to toggle repeat." +msgstr "" + +#: redbot/cogs/audio/audio.py:2843 +msgid "You must be in the voice channel to toggle repeat." +msgstr "" + +#: redbot/cogs/audio/audio.py:2849 +msgid "Repeat tracks: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:2857 +#, docstring +msgid "Remove a specific track number from the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2863 +msgid "Nothing queued." +msgstr "" + +#: redbot/cogs/audio/audio.py:2866 +msgid "You need the DJ role to remove tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2871 +msgid "You must be in the voice channel to manage the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2887 +msgid "Removed {track} from the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2894 +#, docstring +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:2958 +msgid "You must be in the voice channel to enqueue tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3003 +msgid "{time} until start of search playback: starts at #{position} in queue" +msgstr "" + +#: redbot/cogs/audio/audio.py:3169 +msgid "Tracks Found:" +msgstr "" + +#: redbot/cogs/audio/audio.py:3170 +msgid "search results" +msgstr "" + +#: redbot/cogs/audio/audio.py:3173 +msgid "Folders Found:" +msgstr "" + +#: redbot/cogs/audio/audio.py:3174 +msgid "local folders" +msgstr "" + +#: redbot/cogs/audio/audio.py:3176 +msgid "Files Found:" +msgstr "" + +#: redbot/cogs/audio/audio.py:3177 +msgid "local tracks" +msgstr "" + +#: redbot/cogs/audio/audio.py:3195 +#, docstring +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." +msgstr "" + +#: redbot/cogs/audio/audio.py:3206 +msgid "You must be in the voice channel to use seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3211 +msgid "You need the DJ role to use seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 +msgid "There are other people listening - vote to skip instead." +msgstr "" + +#: redbot/cogs/audio/audio.py:3221 +msgid "Can't seek on a stream." +msgstr "" + +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 +msgid "Moved {num_seconds}s to 00:00:00" +msgstr "" + +#: redbot/cogs/audio/audio.py:3241 +msgid "Moved {num_seconds}s to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 +#, docstring +msgid "Toggle shuffle." +msgstr "" + +#: redbot/cogs/audio/audio.py:3265 +msgid "You need the DJ role to toggle shuffle." +msgstr "" + +#: redbot/cogs/audio/audio.py:3273 +msgid "You must be in the voice channel to toggle shuffle." +msgstr "" + +#: redbot/cogs/audio/audio.py:3279 +msgid "Shuffle tracks: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:3287 +#, docstring +msgid "Make Red sing one of her songs." +msgstr "" + +#: redbot/cogs/audio/audio.py:3303 +#, docstring +msgid "Skip to the next track, or to a given track number." +msgstr "" + +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 +msgid "I removed your vote to skip." +msgstr "" + +#: redbot/cogs/audio/audio.py:3329 +msgid "You voted to skip." +msgstr "" + +#: redbot/cogs/audio/audio.py:3342 +msgid "Vote threshold met." +msgstr "" + +#: redbot/cogs/audio/audio.py:3345 +msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" +msgstr "" + +#: redbot/cogs/audio/audio.py:3425 +msgid "Currently livestreaming {track}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3432 +msgid "{time} left on {track}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 +msgid "Track Skipped" +msgstr "" + +#: redbot/cogs/audio/audio.py:3493 +#, docstring +msgid "Stop playback and clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:3503 +msgid "You must be in the voice channel to stop the music." +msgstr "" + +#: redbot/cogs/audio/audio.py:3514 +msgid "You need the DJ role to stop the music." +msgstr "" + +#: redbot/cogs/audio/audio.py:3516 +msgid "Stopping..." +msgstr "" + +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 +#, docstring +msgid "Set the volume, 1% - 150%." +msgstr "" + +#: redbot/cogs/audio/audio.py:3571 +msgid "Current Volume:" +msgstr "" + +#: redbot/cogs/audio/audio.py:3583 +msgid "You must be in the voice channel to change the volume." +msgstr "" + +#: redbot/cogs/audio/audio.py:3589 +msgid "You need the DJ role to change the volume." +msgstr "" + +#: redbot/cogs/audio/audio.py:3602 +msgid "Volume:" +msgstr "" + +#: redbot/cogs/audio/audio.py:3613 +#, docstring +msgid "Lavalink server configuration options." +msgstr "" + +#: redbot/cogs/audio/audio.py:3618 +#, docstring +msgid "Toggle using external lavalink servers." +msgstr "" + +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 +msgid "External lavalink server: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:3642 +#, docstring +msgid "Set the lavalink server host." +msgstr "" + +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 +msgid "Host set to {host}." +msgstr "" + +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 +msgid "External lavalink server set to True." +msgstr "" + +#: redbot/cogs/audio/audio.py:3657 +#, docstring +msgid "Set the lavalink server password." +msgstr "" + +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 +msgid "Server password set to {password}." +msgstr "" + +#: redbot/cogs/audio/audio.py:3675 +#, docstring +msgid "Set the lavalink REST server port." +msgstr "" + +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 +msgid "REST port set to {port}." +msgstr "" + +#: redbot/cogs/audio/audio.py:3691 +#, docstring +msgid "Set the lavalink websocket server port." +msgstr "" + +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 +msgid "Websocket port set to {port}." +msgstr "" + +#: redbot/cogs/audio/audio.py:3801 +msgid "Not enough {currency} ({required_credits} required)." +msgstr "" + diff --git a/redbot/cogs/audio/locales/ru-RU.po b/redbot/cogs/audio/locales/ru-RU.po index aedabccb0..761e72233 100644 --- a/redbot/cogs/audio/locales/ru-RU.po +++ b/redbot/cogs/audio/locales/ru-RU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 05:52\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,981 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: ru_RU\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." -msgstr "Воспроизведение через голосовые каналы." +msgstr "Воспроизведение аудио через голосовые каналы." -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "Сейчас играет" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "Длина трека: {length} | Запрошено: {user}" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" msgstr "музыка на {} серверах" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "Сейчас играет" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "Длина трека: {length} | Запрошено: {user}" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "Очередь закончилась." -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "Ошибка отслеживания" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "Пропуск..." -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "Параметры настройки музыки." -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " -msgstr "Переключить режим DJ.\n\n" -" Режим DJ позволяет пользователям с ролью DJ использовать звуковые команды.\n" -" " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " +msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." -msgstr "Пожалуйста, установите роль для использования в режиме DJ. Введите имя роли или ID сейчас." +msgstr "Пожалуйста, установите роль для использования в режиме диджея. Введите имя роли или ID сейчас." -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." msgstr "Время ожидания ответа истекло, повторите попытку позже." -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "Автоматическое отключение через x секунд, пока остановлено. 0, чтобы отключить." -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." msgstr "Не может быть меньше нуля." -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." msgstr "Пустое отключение отключено." -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." msgstr "Таймер пустого отключения установлен на {num_seconds}." -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "Установите роль для использования режима DJ." - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "Роль DJ установлена на: {role.name}." - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." msgstr "Установите цену для очередей треков для немодераторов. 0, чтобы отключить." -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." msgstr "Режим музыкального автомата отключен." -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "Цена команды отслеживания очередей установлена на {price} {currency}." -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "{local_path} не похож на действительный путь." + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "Переключить объявление трека и другие сообщения бота." -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." msgstr "Подробный режим на: {true_or_false}." -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "Установите роль для использования режима диджея." + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "Роль диджея установлена на: {role.name}." + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "Показать текущие настройки." -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "Настройки сервера" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" -msgstr "Отключить таймер: [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" -msgstr "Роль DJ: [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" -msgstr "Музыкальный автомат: [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" -msgstr "Цена команды: [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" -msgstr "Повторять: [{repeat}]\n" -"Перемешать: [{shuffle}]\n" -"Объявления песен: [{notify}]\n" -"Трансляция в статусе: [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" -msgstr "Миниатюры: [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" -msgstr "Голосование за пропуск: [{vote_enabled}]\n" -"Проголосовало: [{vote_percent}%]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" -msgstr "---Настройки Lavalink---\n" -"Версия плагина: [{version}]\n" -"Сборка Jar: [{jarbuild}]\n" -"Внешний сервер: [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" +msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." -msgstr "Переключить отображение миниатюры на аудио сообщениях." +msgid "Instructions to set the Spotify API tokens." +msgstr "" -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." -msgstr "Отображение миниатюр: {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" +msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "Процент, необходимый для пропуска трека для немодераторов. 0, чтобы отключить." - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "Голосование отключено. Все пользователи могут использовать команды управления очередью." - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "Процент голосов установлен в {percent}%." - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "Включить/отключить названия треков в статусе." -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "Названия песен в статусе: {true_or_false}." -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "Переключить отображение миниатюры на аудио сообщениях." + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "Отображение миниатюр: {true_or_false}." + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "Процент, необходимый для пропуска трека для немодераторов. 0, чтобы отключить." + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "Голосование отключено. Все пользователи могут использовать команды управления очередью." + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "Процент голосов установлен в {percent}%." + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "Аудио статистика." -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "Ничего не воспроизводится." -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "Никуда не подключено." -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" -msgstr "Подключено к {num} серверам:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" +msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "Поднять номер дорожки в начало очереди." -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "Вы должны быть в голосовом канале, чтобы поднять дорожку." -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." -msgstr "Вам нужна роль DJ, чтобы делать треки громче." +msgstr "Вам нужна роль диджея, чтобы делать треки громче." -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "Номер песни должен быть больше 1 и в пределах лимита очереди." -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "{track} перемещен в начало очереди." -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "Отключить от голосового канала." -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." -msgstr "Вам нужна роль DJ, чтобы отключить." +msgstr "Вам нужна роль диджея, чтобы отключиться." -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "Есть другие люди, слушающие музыку." -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "Попробуйте ввести команду еще раз с более коротким именем." + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "Команды локального воспроизведения." -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "Воспроизвести все песни в локальной папке треков." -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "Слушать локальный трек." -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "Папки локальных треков не найдены." -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "Поиск песен по всем локальным папкам." -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." -msgstr "" +msgstr "Папки альбомов не найдены." -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." -msgstr "" +msgstr "Нет совпадений." -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." -msgstr "" +msgstr "Нет локальной папки треков." -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." -msgstr "" +msgstr "Сейчас играет." -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" -msgstr "" +msgstr "Запрошено: **{track.requester}**" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." -msgstr "" +msgstr "Ничего." -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." +msgid "Pause or resume a playing track." msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." -msgstr "Вы должны быть в голосовом канале, чтобы приостановить музыку." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." +msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." -msgstr "Вам нужна роль DJ, чтобы приостановить трек." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." +msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "Трек приостановлен" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "Трек возобновлён" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "" - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "" - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." -msgstr "" +msgstr "Процент очереди." -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." -msgstr "" +msgstr "В очереди ничего нет." -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" -msgstr "" +msgstr "Находящиеся в очереди и воспроизводимые треки:" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." +msgstr "Воспроизвести URL или найти трек." + +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." -msgstr "" +msgstr "У меня нет разрешения на подключение к вашему каналу." -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." -msgstr "" +msgstr "Сначала подключитесь к голосовому каналу." -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." -msgstr "" +msgstr "Соединение с Lavalink еще не установлено." -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." -msgstr "" +msgstr "Вам нужна роль диджея, чтобы ставить треки в очередь." -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." -msgstr "" +msgstr "Вы должны быть в голосовом канале, чтобы использовать команду воспроизведения." -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." +msgstr "Нет треков для воспроизведения." + +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." +msgstr "Ничего не найдено." + +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "Это не похоже на действительный адрес или код Spotify." + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" +msgstr "Плейлист поставлен в очередь" + +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" +msgstr "{time} до начала воспроизведения плейлиста: начинается с #{position} в очереди" + +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" -msgstr "" +msgstr "Трек поставлен в очередь" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" -msgstr "" +msgstr "{time} до воспроизведения трека: #{position} в очереди" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" +msgstr "#{position} в очереди" + +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "Пожалуйста, подождите, треки добавляются..." + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "Загрузка трека {num}/{total}..." + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." -msgstr "" +msgstr "Параметры конфигурации плейлиста." -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." -msgstr "" +msgstr "Вы не являетесь автором этого плейлиста." -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." -msgstr "" +msgstr "{track} уже в {playlist}." -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." -msgstr "" +msgstr "Нет плейлиста с таким именем." -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." -msgstr "" +msgstr "{track} добавлен в {playlist}." -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." +msgstr "{num} треков добавлено в {playlist}." + +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "Имя плейлиста не введено, повторите попытку позже." + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." -msgstr "" +msgstr "Создать пустой плейлист." -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." -msgstr "" +msgstr "Вам нужна роль диджея для сохранения плейлистов." -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." -msgstr "" +msgstr "Название плейлиста уже существует, попробуйте еще раз с другим именем." -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." -msgstr "" +msgstr "Пустой плейлист {name} создан." -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." -msgstr "" +msgstr "Удалить сохраненный список воспроизведения." -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." +msgstr "{name} плейлист удален." + +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "Этот плейлист не существует." + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." +msgstr "Получить информацию из сохраненного плейлиста." + +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" -msgstr "Ссылка: <{url}>" - -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "Автор: **{author_name}**\n" -"{url}" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." -msgstr "" +msgstr "Список сохраненных плейлистов." -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." -msgstr "" +msgstr "Нет сохраненных плейлистов." -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" +msgstr "Треки: {num}" + +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" -msgstr "" - -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "Плейлисты для {server_name}:" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "Страница {page_num}/{total_pages} | {num} плейлист" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "Сохранить очередь в плейлист." -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "Очередь пуста." + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "Пожалуйста, введите имя для этого плейлиста." -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "Попробуйте ввести команду еще раз с более коротким именем." - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "Имя плейлиста не введено, повторите попытку позже." - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "Плейлист {name} сохранен из текущей очереди: {num} треков добавлено." -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." msgstr "Удалить трек из плейлиста по url." -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." -msgstr "" +msgstr "URL отсутствует в плейлисте." -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." -msgstr "" +msgstr "Треков не осталось, удаляя плейлист." -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." -msgstr "" +msgstr "{num} записей были удалены из плейлиста {playlist_name}." -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." -msgstr "" +msgstr "Трек был удален из плейлиста {playlist_name}." -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." -msgstr "" +msgstr "Сохранить плейлист из URL." -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." -msgstr "" +msgstr "Плейлист {name} сохранен: добавлено {num} треков." -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." -msgstr "" +msgstr "Загрузить плейлист в очередь." -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." -msgstr "" +msgstr "Преобразовать файл плейлиста Red v2 в плейлист." -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." -msgstr "" +msgstr "Пожалуйста, загрузите файл плейлиста. Любое другое сообщение отменит эту операцию." -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." -msgstr "" +msgstr "Файл не обнаружен, повторите попытку позже." -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." -msgstr "" +msgstr "Загрузка отменена." -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." -msgstr "" +msgstr "Только файлы плейлиста могут быть загружены." -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." -msgstr "" +msgstr "Недопустимый файл плейлиста." -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." -msgstr "" +msgstr "Плейлист с таким именем уже существует." -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." -msgstr "" +msgstr "Треки не найдены." -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." -msgstr "" +msgstr "Добавлено {num} треков из плейлиста {playlist_name}. Не удалось загрузить {num_bad} трек(ов)." -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1392 -msgid "Playlist Saved" -msgstr "" - -#: redbot/cogs/audio/audio.py:1403 -msgid "You need the DJ role to use playlists." -msgstr "" - -#: redbot/cogs/audio/audio.py:1432 -msgid "You must be in the voice channel to use the playlist command." -msgstr "" - -#: redbot/cogs/audio/audio.py:1464 -#, docstring -msgid "Skip to the start of the previously played track." -msgstr "" - -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 -msgid "You need the DJ role to skip tracks." -msgstr "" - -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 -msgid "You must be in the voice channel to skip the music." -msgstr "" - -#: redbot/cogs/audio/audio.py:1482 -msgid "Turn shuffle off to use this command." -msgstr "" - -#: redbot/cogs/audio/audio.py:1484 -msgid "No previous track." -msgstr "" - -#: redbot/cogs/audio/audio.py:1501 -msgid "Replaying Track" -msgstr "" - -#: redbot/cogs/audio/audio.py:1509 -#, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " -msgstr "" - -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 -msgid "**Currently livestreaming:**" -msgstr "" - -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 -msgid "Playing: " -msgstr "" - -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" -msgstr "" - -#: redbot/cogs/audio/audio.py:1577 -msgid "Requested by: **{user}**" -msgstr "" - -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" -msgstr "" - -#: redbot/cogs/audio/audio.py:1615 -msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" -msgstr "" - -#: redbot/cogs/audio/audio.py:1624 -msgid "Repeat" -msgstr "" - -#: redbot/cogs/audio/audio.py:1626 -msgid "Shuffle" -msgstr "" - -#: redbot/cogs/audio/audio.py:1683 -msgid "Matching Tracks:" -msgstr "" - -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 -msgid "Page {page_num}/{total_pages}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1695 -#, docstring -msgid "Toggle repeat." -msgstr "" - -#: redbot/cogs/audio/audio.py:1701 -msgid "You need the DJ role to toggle repeat." -msgstr "" - -#: redbot/cogs/audio/audio.py:1712 -msgid "You must be in the voice channel to toggle repeat." -msgstr "" - -#: redbot/cogs/audio/audio.py:1715 -msgid "Repeat tracks: {true_or_false}." -msgstr "" - -#: redbot/cogs/audio/audio.py:1721 -#, docstring -msgid "Remove a specific track number from the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1727 -msgid "Nothing queued." -msgstr "" - -#: redbot/cogs/audio/audio.py:1730 -msgid "You need the DJ role to remove tracks." -msgstr "" - -#: redbot/cogs/audio/audio.py:1735 -msgid "You must be in the voice channel to manage the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1751 -msgid "Removed {track} from the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1757 -#, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " -msgstr "" - -#: redbot/cogs/audio/audio.py:1814 -msgid "You must be in the voice channel to enqueue tracks." -msgstr "" - -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." -msgstr "" - -#: redbot/cogs/audio/audio.py:1837 -msgid "{time} until start of search playback: starts at #{position} in queue" -msgstr "" - -#: redbot/cogs/audio/audio.py:1997 -msgid "Tracks Found:" -msgstr "" - -#: redbot/cogs/audio/audio.py:1998 -msgid "search results" -msgstr "" - -#: redbot/cogs/audio/audio.py:2001 -msgid "Folders Found:" -msgstr "" - -#: redbot/cogs/audio/audio.py:2002 -msgid "local folders" -msgstr "" - -#: redbot/cogs/audio/audio.py:2004 -msgid "Files Found:" -msgstr "" - -#: redbot/cogs/audio/audio.py:2005 -msgid "local tracks" -msgstr "" - -#: redbot/cogs/audio/audio.py:2022 -#, docstring -msgid "Seek ahead or behind on a track by seconds." -msgstr "" - -#: redbot/cogs/audio/audio.py:2031 -msgid "You must be in the voice channel to use seek." -msgstr "" - -#: redbot/cogs/audio/audio.py:2036 -msgid "You need the DJ role to use seek." -msgstr "" - -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 -msgid "There are other people listening - vote to skip instead." -msgstr "" - -#: redbot/cogs/audio/audio.py:2046 -msgid "Can't seek on a stream." -msgstr "" - -#: redbot/cogs/audio/audio.py:2052 -msgid "Moved {num_seconds}s to 00:00:00" -msgstr "" - -#: redbot/cogs/audio/audio.py:2057 -msgid "Moved {num_seconds}s to {time}" -msgstr "" - -#: redbot/cogs/audio/audio.py:2068 -#, docstring -msgid "Toggle shuffle." -msgstr "" - -#: redbot/cogs/audio/audio.py:2072 -msgid "You need the DJ role to toggle shuffle." -msgstr "" - -#: redbot/cogs/audio/audio.py:2083 -msgid "You must be in the voice channel to toggle shuffle." -msgstr "" - -#: redbot/cogs/audio/audio.py:2086 -msgid "Shuffle tracks: {true_or_false}." -msgstr "" - -#: redbot/cogs/audio/audio.py:2092 -#, docstring -msgid "Make Red sing one of her songs" -msgstr "" - -#: redbot/cogs/audio/audio.py:2107 -#, docstring -msgid "Skip to the next track." -msgstr "" - -#: redbot/cogs/audio/audio.py:2126 -msgid "I removed your vote to skip." -msgstr "" - -#: redbot/cogs/audio/audio.py:2129 -msgid "You voted to skip." -msgstr "" - -#: redbot/cogs/audio/audio.py:2142 -msgid "Vote threshold met." -msgstr "" - -#: redbot/cogs/audio/audio.py:2145 -msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" -msgstr "" - -#: redbot/cogs/audio/audio.py:2228 -msgid "Currently livestreaming {track}" -msgstr "" - -#: redbot/cogs/audio/audio.py:2235 -msgid "{time} left on {track}" -msgstr "" - -#: redbot/cogs/audio/audio.py:2253 -msgid "Track Skipped" -msgstr "" - -#: redbot/cogs/audio/audio.py:2261 -#, docstring -msgid "Stop playback and clear the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:2271 -msgid "You must be in the voice channel to stop the music." -msgstr "" - -#: redbot/cogs/audio/audio.py:2282 -msgid "You need the DJ role to stop the music." -msgstr "" - -#: redbot/cogs/audio/audio.py:2284 -msgid "Stopping..." -msgstr "" - -#: redbot/cogs/audio/audio.py:2294 -#, docstring -msgid "Set the volume, 1% - 150%." -msgstr "" - -#: redbot/cogs/audio/audio.py:2300 -msgid "Current Volume:" -msgstr "" - -#: redbot/cogs/audio/audio.py:2312 -msgid "You must be in the voice channel to change the volume." -msgstr "" - -#: redbot/cogs/audio/audio.py:2318 -msgid "You need the DJ role to change the volume." -msgstr "" - -#: redbot/cogs/audio/audio.py:2331 -msgid "Volume:" -msgstr "" - -#: redbot/cogs/audio/audio.py:2341 -#, docstring -msgid "Lavalink server configuration options." -msgstr "" - -#: redbot/cogs/audio/audio.py:2346 -#, docstring -msgid "Toggle using external lavalink servers." -msgstr "" - -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 -msgid "External lavalink server: {true_or_false}." -msgstr "" - -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 -#, docstring -msgid "Set the lavalink server host." -msgstr "" - -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 -msgid "Host set to {host}." -msgstr "" - -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 -msgid "External lavalink server set to True." -msgstr "" - -#: redbot/cogs/audio/audio.py:2388 -#, docstring -msgid "Set the lavalink server password." -msgstr "" - -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 -msgid "Server password set to {password}." -msgstr "" - -#: redbot/cogs/audio/audio.py:2406 -#, docstring -msgid "Set the lavalink REST server port." -msgstr "" - -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 -msgid "REST port set to {port}." -msgstr "" +msgstr "Добавлено {num} треков из плейлиста {playlist_name}." #: redbot/cogs/audio/audio.py:2422 +msgid "Playlist Saved" +msgstr "Плейлист сохранен" + +#: redbot/cogs/audio/audio.py:2433 +msgid "You need the DJ role to use playlists." +msgstr "Вам нужна роль диджея, чтобы использовать плейлисты." + +#: redbot/cogs/audio/audio.py:2471 +msgid "You must be in the voice channel to use the playlist command." +msgstr "Вы должны быть в голосовом канале, чтобы использовать команду плейлиста." + +#: redbot/cogs/audio/audio.py:2525 +#, docstring +msgid "Skip to the start of the previously played track." +msgstr "Перейти к началу ранее воспроизведенного трека." + +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 +msgid "You need the DJ role to skip tracks." +msgstr "Вам нужна роль диджея, чтобы пропустить треки." + +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 +msgid "You must be in the voice channel to skip the music." +msgstr "Вы должны быть в голосовом канале, чтобы пропустить музыку." + +#: redbot/cogs/audio/audio.py:2543 +msgid "Turn shuffle off to use this command." +msgstr "Выключите перемешивание, чтобы использовать эту команду." + +#: redbot/cogs/audio/audio.py:2545 +msgid "No previous track." +msgstr "Нет предыдущего трека." + +#: redbot/cogs/audio/audio.py:2562 +msgid "Replaying Track" +msgstr "Воспроизведение дорожки" + +#: redbot/cogs/audio/audio.py:2571 +#, docstring +msgid "List the songs in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2622 +msgid "**Currently livestreaming:**" +msgstr "**Сейчас в прямом эфире:**" + +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 +msgid "Playing: " +msgstr "Воспроизводится: " + +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 +msgid "Requested by: **{user}**" +msgstr "Запрошено: **{user}**" + +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 +msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" +msgstr "Станица {page_num}/{total_pages} | {num_tracks} треков, {num_remaining} осталось" + +#: redbot/cogs/audio/audio.py:2693 +msgid "Repeat" +msgstr "Повтор" + +#: redbot/cogs/audio/audio.py:2695 +msgid "Shuffle" +msgstr "Перемешивание" + +#: redbot/cogs/audio/audio.py:2740 +msgid "Matching Tracks:" +msgstr "Соответствующие треки:" + +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 +msgid "Page {page_num}/{total_pages}" +msgstr "Страница {page_num}/{total_pages}" + +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 +#, docstring +msgid "Toggle repeat." +msgstr "Переключить повтор." + +#: redbot/cogs/audio/audio.py:2835 +msgid "You need the DJ role to toggle repeat." +msgstr "Вам нужна роль диджея для переключения повтора." + +#: redbot/cogs/audio/audio.py:2843 +msgid "You must be in the voice channel to toggle repeat." +msgstr "Вы должны быть в голосовом канале для переключения повтора." + +#: redbot/cogs/audio/audio.py:2849 +msgid "Repeat tracks: {true_or_false}." +msgstr "Повтор треков: {true_or_false}." + +#: redbot/cogs/audio/audio.py:2857 +#, docstring +msgid "Remove a specific track number from the queue." +msgstr "Удалить конкретный номер трека из очереди." + +#: redbot/cogs/audio/audio.py:2863 +msgid "Nothing queued." +msgstr "Ничего не поставлено в очередь." + +#: redbot/cogs/audio/audio.py:2866 +msgid "You need the DJ role to remove tracks." +msgstr "Вам нужна роль диджея для удаления треков." + +#: redbot/cogs/audio/audio.py:2871 +msgid "You must be in the voice channel to manage the queue." +msgstr "Вы должны быть в голосовом канале, чтобы управлять очередью." + +#: redbot/cogs/audio/audio.py:2887 +msgid "Removed {track} from the queue." +msgstr "{track} удален из очереди." + +#: redbot/cogs/audio/audio.py:2894 +#, docstring +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:2958 +msgid "You must be in the voice channel to enqueue tracks." +msgstr "Вы должны быть в голосовом канале, чтобы поставить в очередь треки." + +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3003 +msgid "{time} until start of search playback: starts at #{position} in queue" +msgstr "{time} до начла воспроизведения поискового запроса: начинается с #{position} в очереди" + +#: redbot/cogs/audio/audio.py:3169 +msgid "Tracks Found:" +msgstr "Найденные треки:" + +#: redbot/cogs/audio/audio.py:3170 +msgid "search results" +msgstr "результаты поиска" + +#: redbot/cogs/audio/audio.py:3173 +msgid "Folders Found:" +msgstr "Найденные папки:" + +#: redbot/cogs/audio/audio.py:3174 +msgid "local folders" +msgstr "локальные папки" + +#: redbot/cogs/audio/audio.py:3176 +msgid "Files Found:" +msgstr "Найденные файлы:" + +#: redbot/cogs/audio/audio.py:3177 +msgid "local tracks" +msgstr "локальные треки" + +#: redbot/cogs/audio/audio.py:3195 +#, docstring +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." +msgstr "" + +#: redbot/cogs/audio/audio.py:3206 +msgid "You must be in the voice channel to use seek." +msgstr "Вы должны быть в голосовом канале, чтобы использовать поиск." + +#: redbot/cogs/audio/audio.py:3211 +msgid "You need the DJ role to use seek." +msgstr "Вам нужна роль диджея, чтобы использовать поиск." + +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 +msgid "There are other people listening - vote to skip instead." +msgstr "Есть другие люди, которые слушают - проголосуйте, чтобы пропустить." + +#: redbot/cogs/audio/audio.py:3221 +msgid "Can't seek on a stream." +msgstr "Не могу искать по трансляции." + +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 +msgid "Moved {num_seconds}s to 00:00:00" +msgstr "Перемещено на {num_seconds}с в 00:00:00" + +#: redbot/cogs/audio/audio.py:3241 +msgid "Moved {num_seconds}s to {time}" +msgstr "Перемещено на {num_seconds}с в {time}" + +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 +#, docstring +msgid "Toggle shuffle." +msgstr "Переключить перемешивание." + +#: redbot/cogs/audio/audio.py:3265 +msgid "You need the DJ role to toggle shuffle." +msgstr "Вам нужна роль диджея, чтобы переключить перемешивание." + +#: redbot/cogs/audio/audio.py:3273 +msgid "You must be in the voice channel to toggle shuffle." +msgstr "Вы должны быть в голосовом канале, чтобы переключить перемешивание." + +#: redbot/cogs/audio/audio.py:3279 +msgid "Shuffle tracks: {true_or_false}." +msgstr "Перемешивать треки: {true_or_false}." + +#: redbot/cogs/audio/audio.py:3287 +#, docstring +msgid "Make Red sing one of her songs." +msgstr "" + +#: redbot/cogs/audio/audio.py:3303 +#, docstring +msgid "Skip to the next track, or to a given track number." +msgstr "" + +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "Не удается переключить трек в режиме голосования без роли DJ." + +#: redbot/cogs/audio/audio.py:3326 +msgid "I removed your vote to skip." +msgstr "Я удалила ваш голос для пропуска." + +#: redbot/cogs/audio/audio.py:3329 +msgid "You voted to skip." +msgstr "Вы проголосовали за пропуск." + +#: redbot/cogs/audio/audio.py:3342 +msgid "Vote threshold met." +msgstr "Порог голосования достигнут." + +#: redbot/cogs/audio/audio.py:3345 +msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" +msgstr " Голосов: {num_votes}/{num_members} (необходимо {cur_percent}% из {required_percent}%)" + +#: redbot/cogs/audio/audio.py:3425 +msgid "Currently livestreaming {track}" +msgstr "Сейчас в прямом эфире {track}" + +#: redbot/cogs/audio/audio.py:3432 +msgid "{time} left on {track}" +msgstr "{time} осталось в {track}" + +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "Номер трека должен быть больше или равен 1." + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "Не удается переключить трек, пока включен рандом." + +#: redbot/cogs/audio/audio.py:3470 +msgid "Track Skipped" +msgstr "Трек пропущен" + +#: redbot/cogs/audio/audio.py:3493 +#, docstring +msgid "Stop playback and clear the queue." +msgstr "Остановить воспроизведение и очистить очередь." + +#: redbot/cogs/audio/audio.py:3503 +msgid "You must be in the voice channel to stop the music." +msgstr "Вы должны быть в голосовом канале, чтобы остановить музыку." + +#: redbot/cogs/audio/audio.py:3514 +msgid "You need the DJ role to stop the music." +msgstr "Вам нужна роль диджея, чтобы остановить музыку." + +#: redbot/cogs/audio/audio.py:3516 +msgid "Stopping..." +msgstr "Остановка..." + +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 +#, docstring +msgid "Set the volume, 1% - 150%." +msgstr "Установить громкость, 1% - 150%." + +#: redbot/cogs/audio/audio.py:3571 +msgid "Current Volume:" +msgstr "Текущая громкость:" + +#: redbot/cogs/audio/audio.py:3583 +msgid "You must be in the voice channel to change the volume." +msgstr "Вы должны быть в голосовом канале, чтобы изменить громкость." + +#: redbot/cogs/audio/audio.py:3589 +msgid "You need the DJ role to change the volume." +msgstr "Вам нужна роль диджея, чтобы изменить громкость." + +#: redbot/cogs/audio/audio.py:3602 +msgid "Volume:" +msgstr "Громкость:" + +#: redbot/cogs/audio/audio.py:3613 +#, docstring +msgid "Lavalink server configuration options." +msgstr "Параметры конфигурации сервера Lavalink." + +#: redbot/cogs/audio/audio.py:3618 +#, docstring +msgid "Toggle using external lavalink servers." +msgstr "Переключение с использованием внешних серверов lavalink." + +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 +msgid "External lavalink server: {true_or_false}." +msgstr "Внешний сервер lavalink: {true_or_false}." + +#: redbot/cogs/audio/audio.py:3642 +#, docstring +msgid "Set the lavalink server host." +msgstr "Установить хост сервера lavalink." + +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 +msgid "Host set to {host}." +msgstr "Хост установлен на {host}." + +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 +msgid "External lavalink server set to True." +msgstr "Для внешнего сервера lavalink установлено значение True." + +#: redbot/cogs/audio/audio.py:3657 +#, docstring +msgid "Set the lavalink server password." +msgstr "Установить пароль сервера lavalink." + +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 +msgid "Server password set to {password}." +msgstr "Пароль сервера установлен на {password}." + +#: redbot/cogs/audio/audio.py:3675 +#, docstring +msgid "Set the lavalink REST server port." +msgstr "Установить порт сервера lavalink REST." + +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 +msgid "REST port set to {port}." +msgstr "REST порт установлен на {port}." + +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." -msgstr "" +msgstr "Установить порт сервера веб-сокетов lavalink." -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." -msgstr "" +msgstr "Порт веб-сокета установлен на {port}." -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." -msgstr "" +msgstr "Недостаточно {currency} (требуется {required_credits})." diff --git a/redbot/cogs/audio/locales/sk-SK.po b/redbot/cogs/audio/locales/sk-SK.po index 5b1d54aca..d9b3abe52 100644 --- a/redbot/cogs/audio/locales/sk-SK.po +++ b/redbot/cogs/audio/locales/sk-SK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Slovak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,971 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: sk_SK\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." msgstr "" -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" msgstr "" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "" -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "" -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." msgstr "" -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." msgstr "" -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." msgstr "" -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." msgstr "" -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "" - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "" - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." msgstr "" -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "" -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "" -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "" + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "" -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." +msgid "Instructions to set the Spotify API tokens." msgstr "" -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "" - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "" - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "" - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "" -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "" -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "" -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "" -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "" -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "" -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "" -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "" -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "" -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "" -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "" -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "" -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "" -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "" -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "" -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "" -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "" -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "" -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." +msgid "Pause or resume a playing track." msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "" - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "" - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "" -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "" -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "" -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." msgstr "" -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." msgstr "" -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." msgstr "" -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." msgstr "" -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." msgstr "" -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." msgstr "" -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." msgstr "" -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." msgstr "" -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." msgstr "" -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." msgstr "" -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." msgstr "" -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." msgstr "" -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." msgstr "" -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "" -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "" -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "" -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "" -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "" -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "" -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " +msgid "List the songs in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "" -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "" -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "" -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "" -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" +msgid "Make Red sing one of her songs." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." +msgid "Skip to the next track, or to a given track number." msgstr "" -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "" -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr "" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "" -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "" -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "" -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "" -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "" -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "" -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "" -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "" -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "" -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "" -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "" -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "" diff --git a/redbot/cogs/audio/locales/sv-SE.po b/redbot/cogs/audio/locales/sv-SE.po index 56c4d982c..3701b88e7 100644 --- a/redbot/cogs/audio/locales/sv-SE.po +++ b/redbot/cogs/audio/locales/sv-SE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,971 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: sv_SE\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." msgstr "" -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" msgstr "" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "" -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "" -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." msgstr "" -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." msgstr "" -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." msgstr "" -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." msgstr "" -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "" - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "" - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." msgstr "" -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "" -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "" -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "" + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "" -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." +msgid "Instructions to set the Spotify API tokens." msgstr "" -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "" - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "" - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "" - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "" -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "" -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "" -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "" -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "" -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "" -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "" -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "" -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "" -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "" -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "" -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "" -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "" -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "" -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "" -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "" -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "" -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "" -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." +msgid "Pause or resume a playing track." msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "" - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "" - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "" -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "" -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "" -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." msgstr "" -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." msgstr "" -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." msgstr "" -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." msgstr "" -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." msgstr "" -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." msgstr "" -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." msgstr "" -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." msgstr "" -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." msgstr "" -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." msgstr "" -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." msgstr "" -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." msgstr "" -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." msgstr "" -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "" -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "" -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "" -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "" -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "" -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "" -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " +msgid "List the songs in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "" -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "" -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "" -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "" -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" +msgid "Make Red sing one of her songs." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." +msgid "Skip to the next track, or to a given track number." msgstr "" -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "" -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr "" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "" -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "" -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "" -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "" -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "" -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "" -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "" -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "" -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "" -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "" -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "" -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "" diff --git a/redbot/cogs/audio/locales/tr-TR.po b/redbot/cogs/audio/locales/tr-TR.po index a1d15b1df..b08bad3b2 100644 --- a/redbot/cogs/audio/locales/tr-TR.po +++ b/redbot/cogs/audio/locales/tr-TR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,971 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: tr_TR\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." msgstr "" -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" msgstr "" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "" -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "" -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." msgstr "" -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." msgstr "" -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." msgstr "" -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." msgstr "" -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "" - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "" - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." msgstr "" -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "" -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "" -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "" + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "" -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." +msgid "Instructions to set the Spotify API tokens." msgstr "" -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "" - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "" - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "" - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "" -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "" -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "" -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "" -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "" -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "" -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "" -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "" -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "" -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "" -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "" -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "" -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "" -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "" -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "" -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "" -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "" -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "" -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." +msgid "Pause or resume a playing track." msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "" - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "" - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "" -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "" -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "" -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." msgstr "" -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." msgstr "" -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." msgstr "" -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." msgstr "" -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." msgstr "" -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." msgstr "" -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." msgstr "" -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." msgstr "" -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." msgstr "" -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." msgstr "" -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." msgstr "" -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." msgstr "" -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." msgstr "" -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "" -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "" -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "" -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "" -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "" -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "" -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " +msgid "List the songs in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "" -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "" -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "" -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "" -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" +msgid "Make Red sing one of her songs." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." +msgid "Skip to the next track, or to a given track number." msgstr "" -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "" -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr "" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "" -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "" -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "" -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "" -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "" -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "" -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "" -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "" -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "" -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "" -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "" -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "" diff --git a/redbot/cogs/audio/locales/zh-CN.po b/redbot/cogs/audio/locales/zh-CN.po index 6e5a17916..085cf795f 100644 --- a/redbot/cogs/audio/locales/zh-CN.po +++ b/redbot/cogs/audio/locales/zh-CN.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,971 +16,1275 @@ msgstr "" "X-Crowdin-File: /cogs/audio/locales/messages.pot\n" "Language: zh_CN\n" -#: redbot/cogs/audio/audio.py:38 +#: redbot/cogs/audio/audio.py:47 #, docstring msgid "Play audio through voice channels." msgstr "" -#: redbot/cogs/audio/audio.py:173 redbot/cogs/audio/audio.py:735 -msgid "Now Playing" -msgstr "" - -#: redbot/cogs/audio/audio.py:177 -msgid "Track length: {length} | Requested by: {user}" -msgstr "" - -#: redbot/cogs/audio/audio.py:201 redbot/cogs/audio/audio.py:227 +#: redbot/cogs/audio/audio.py:260 msgid "music in {} servers" msgstr "" -#: redbot/cogs/audio/audio.py:211 +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "" + +#: redbot/cogs/audio/audio.py:331 msgid "Queue ended." msgstr "" -#: redbot/cogs/audio/audio.py:240 +#: redbot/cogs/audio/audio.py:350 msgid "Track Error" msgstr "" -#: redbot/cogs/audio/audio.py:245 +#: redbot/cogs/audio/audio.py:355 msgid "Skipping..." msgstr "" -#: redbot/cogs/audio/audio.py:252 +#: redbot/cogs/audio/audio.py:363 #, docstring msgid "Music configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:258 +#: redbot/cogs/audio/audio.py:369 #, docstring -msgid "Toggle DJ mode.\n\n" -" DJ mode allows users with the DJ role to use audio commands.\n" -" " +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:265 +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 msgid "Please set a role to use with DJ mode. Enter the role name or ID now." msgstr "" -#: redbot/cogs/audio/audio.py:273 +#: redbot/cogs/audio/audio.py:400 msgid "Response timed out, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:284 +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 #, docstring msgid "Auto-disconnection after x seconds while stopped. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:286 redbot/cogs/audio/audio.py:317 -#: redbot/cogs/audio/audio.py:405 +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 msgid "Can't be less than zero." msgstr "" -#: redbot/cogs/audio/audio.py:291 +#: redbot/cogs/audio/audio.py:418 msgid "Empty disconnect disabled." msgstr "" -#: redbot/cogs/audio/audio.py:296 +#: redbot/cogs/audio/audio.py:423 msgid "Empty disconnect timer set to {num_seconds}." msgstr "" -#: redbot/cogs/audio/audio.py:307 -#, docstring -msgid "Set the role to use for DJ mode." -msgstr "" - -#: redbot/cogs/audio/audio.py:310 -msgid "DJ role set to: {role.name}." -msgstr "" - -#: redbot/cogs/audio/audio.py:315 +#: redbot/cogs/audio/audio.py:434 #, docstring msgid "Set a price for queueing tracks for non-mods. 0 to disable." msgstr "" -#: redbot/cogs/audio/audio.py:320 +#: redbot/cogs/audio/audio.py:439 msgid "Jukebox mode disabled." msgstr "" -#: redbot/cogs/audio/audio.py:325 +#: redbot/cogs/audio/audio.py:444 msgid "Track queueing command price set to {price} {currency}." msgstr "" -#: redbot/cogs/audio/audio.py:336 +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 #, docstring msgid "Toggle track announcement and other bot messages." msgstr "" -#: redbot/cogs/audio/audio.py:340 +#: redbot/cogs/audio/audio.py:563 msgid "Verbose mode on: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:345 +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "" + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:589 #, docstring msgid "Show the current settings." msgstr "" -#: redbot/cogs/audio/audio.py:358 +#: redbot/cogs/audio/audio.py:604 msgid "Server Settings" msgstr "" -#: redbot/cogs/audio/audio.py:360 -msgid "Disconnect timer: [{num_seconds}]\n" +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:364 -msgid "DJ Role: [{role.name}]\n" +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:366 -msgid "Jukebox: [{jukebox_name}]\n" +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:367 -msgid "Command price: [{jukebox_price}]\n" +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:368 -msgid "Repeat: [{repeat}]\n" -"Shuffle: [{shuffle}]\n" -"Song notify msgs: [{notify}]\n" -"Songs as status: [{status}]\n" +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:375 -msgid "Thumbnails: [{0}]\n" +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:377 -msgid "Vote skip: [{vote_enabled}]\n" -"Skip percentage: [{vote_percent}%]\n" +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:380 -msgid "---Lavalink Settings---\n" -"Cog version: [{version}]\n" -"Jar build: [{jarbuild}]\n" -"External server: [{use_external_lavalink}]" +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" msgstr "" -#: redbot/cogs/audio/audio.py:393 +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 #, docstring -msgid "Toggle displaying a thumbnail on audio messages." +msgid "Instructions to set the Spotify API tokens." msgstr "" -#: redbot/cogs/audio/audio.py:397 -msgid "Thumbnail display: {true_or_false}." +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" msgstr "" -#: redbot/cogs/audio/audio.py:403 -#, docstring -msgid "Percentage needed for non-mods to skip tracks. 0 to disable." -msgstr "" - -#: redbot/cogs/audio/audio.py:411 -msgid "Voting disabled. All users can use queue management commands." -msgstr "" - -#: redbot/cogs/audio/audio.py:416 -msgid "Vote percentage set to {percent}%." -msgstr "" - -#: redbot/cogs/audio/audio.py:425 +#: redbot/cogs/audio/audio.py:665 #, docstring msgid "Enable/disable tracks' titles as status." msgstr "" -#: redbot/cogs/audio/audio.py:429 +#: redbot/cogs/audio/audio.py:669 msgid "Song titles as status: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:435 +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 #, docstring msgid "Audio stats." msgstr "" -#: redbot/cogs/audio/audio.py:469 redbot/cogs/audio/audio.py:489 -#: redbot/cogs/audio/audio.py:698 redbot/cogs/audio/audio.py:788 -#: redbot/cogs/audio/audio.py:804 redbot/cogs/audio/audio.py:829 -#: redbot/cogs/audio/audio.py:836 redbot/cogs/audio/audio.py:1179 -#: redbot/cogs/audio/audio.py:1466 redbot/cogs/audio/audio.py:1724 -#: redbot/cogs/audio/audio.py:2026 redbot/cogs/audio/audio.py:2063 -#: redbot/cogs/audio/audio.py:2109 redbot/cogs/audio/audio.py:2265 -#: redbot/cogs/audio/audio.py:2304 redbot/cogs/audio/audio.py:2334 +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 msgid "Nothing playing." msgstr "" -#: redbot/cogs/audio/audio.py:473 +#: redbot/cogs/audio/audio.py:758 msgid "Not connected anywhere." msgstr "" -#: redbot/cogs/audio/audio.py:478 -msgid "Connected in {num} servers:" +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" msgstr "" -#: redbot/cogs/audio/audio.py:486 +#: redbot/cogs/audio/audio.py:779 #, docstring msgid "Bump a track number to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:495 +#: redbot/cogs/audio/audio.py:788 msgid "You must be in the voice channel to bump a track." msgstr "" -#: redbot/cogs/audio/audio.py:499 +#: redbot/cogs/audio/audio.py:792 msgid "You need the DJ role to bump tracks." msgstr "" -#: redbot/cogs/audio/audio.py:502 redbot/cogs/audio/audio.py:1739 +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 msgid "Song number must be greater than 1 and within the queue limit." msgstr "" -#: redbot/cogs/audio/audio.py:517 +#: redbot/cogs/audio/audio.py:810 msgid "Moved {track} to the top of the queue." msgstr "" -#: redbot/cogs/audio/audio.py:523 +#: redbot/cogs/audio/audio.py:817 #, docstring msgid "Disconnect from the voice channel." msgstr "" -#: redbot/cogs/audio/audio.py:528 +#: redbot/cogs/audio/audio.py:826 msgid "You need the DJ role to disconnect." msgstr "" -#: redbot/cogs/audio/audio.py:532 +#: redbot/cogs/audio/audio.py:830 msgid "There are other people listening to music." msgstr "" -#: redbot/cogs/audio/audio.py:540 +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 #, docstring msgid "Local playback commands." msgstr "" -#: redbot/cogs/audio/audio.py:545 +#: redbot/cogs/audio/audio.py:1104 #, docstring msgid "Play all songs in a localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:552 +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 #, docstring msgid "Play a local track." msgstr "" -#: redbot/cogs/audio/audio.py:557 +#: redbot/cogs/audio/audio.py:1126 msgid "No local track folders found." msgstr "" -#: redbot/cogs/audio/audio.py:600 +#: redbot/cogs/audio/audio.py:1169 #, docstring msgid "Search for songs across all localtracks folders." msgstr "" -#: redbot/cogs/audio/audio.py:605 +#: redbot/cogs/audio/audio.py:1174 msgid "No album folders found." msgstr "" -#: redbot/cogs/audio/audio.py:612 redbot/cogs/audio/audio.py:1634 +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 msgid "No matches." msgstr "" -#: redbot/cogs/audio/audio.py:688 +#: redbot/cogs/audio/audio.py:1269 msgid "No localtracks folder." msgstr "" -#: redbot/cogs/audio/audio.py:696 +#: redbot/cogs/audio/audio.py:1278 #, docstring msgid "Now playing." msgstr "" -#: redbot/cogs/audio/audio.py:716 +#: redbot/cogs/audio/audio.py:1298 msgid "Requested by: **{track.requester}**" msgstr "" -#: redbot/cogs/audio/audio.py:726 +#: redbot/cogs/audio/audio.py:1308 msgid "Nothing." msgstr "" -#: redbot/cogs/audio/audio.py:785 +#: redbot/cogs/audio/audio.py:1368 #, docstring -msgid "Pause and resume." +msgid "Pause or resume a playing track." msgstr "" -#: redbot/cogs/audio/audio.py:794 -msgid "You must be in the voice channel to pause the music." +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." msgstr "" -#: redbot/cogs/audio/audio.py:800 -msgid "You need the DJ role to pause tracks." +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." msgstr "" -#: redbot/cogs/audio/audio.py:814 +#: redbot/cogs/audio/audio.py:1401 msgid "Track Paused" msgstr "" -#: redbot/cogs/audio/audio.py:821 +#: redbot/cogs/audio/audio.py:1407 msgid "Track Resumed" msgstr "" -#: redbot/cogs/audio/audio.py:826 -msgid "Track is paused." -msgstr "" - -#: redbot/cogs/audio/audio.py:828 -msgid "Track is playing." -msgstr "" - -#: redbot/cogs/audio/audio.py:834 +#: redbot/cogs/audio/audio.py:1417 #, docstring msgid "Queue percentage." msgstr "" -#: redbot/cogs/audio/audio.py:860 +#: redbot/cogs/audio/audio.py:1443 msgid "Nothing in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:882 +#: redbot/cogs/audio/audio.py:1465 msgid "Queued and playing tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:890 +#: redbot/cogs/audio/audio.py:1474 #, docstring msgid "Play a URL or search for a track." msgstr "" -#: redbot/cogs/audio/audio.py:900 redbot/cogs/audio/audio.py:1411 -#: redbot/cogs/audio/audio.py:1795 +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 msgid "I don't have permission to connect to your channel." msgstr "" -#: redbot/cogs/audio/audio.py:906 redbot/cogs/audio/audio.py:1422 -#: redbot/cogs/audio/audio.py:1801 redbot/cogs/audio/audio.py:1889 +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 msgid "Connect to a voice channel first." msgstr "" -#: redbot/cogs/audio/audio.py:909 redbot/cogs/audio/audio.py:1418 -#: redbot/cogs/audio/audio.py:1804 redbot/cogs/audio/audio.py:1892 +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 msgid "Connection to Lavalink has not yet been established." msgstr "" -#: redbot/cogs/audio/audio.py:913 +#: redbot/cogs/audio/audio.py:1508 msgid "You need the DJ role to queue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:922 +#: redbot/cogs/audio/audio.py:1519 msgid "You must be in the voice channel to use the play command." msgstr "" -#: redbot/cogs/audio/audio.py:928 +#: redbot/cogs/audio/audio.py:1525 msgid "No tracks to play." msgstr "" -#: redbot/cogs/audio/audio.py:942 redbot/cogs/audio/audio.py:1450 -#: redbot/cogs/audio/audio.py:1828 redbot/cogs/audio/audio.py:1865 +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 msgid "Nothing found." msgstr "" -#: redbot/cogs/audio/audio.py:953 redbot/cogs/audio/audio.py:1295 +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 msgid "Playlist Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:954 redbot/cogs/audio/audio.py:1296 -msgid "Added {num} tracks to the queue." +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:958 +#: redbot/cogs/audio/audio.py:1695 msgid "{time} until start of playlist playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:980 redbot/cogs/audio/audio.py:1938 +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 msgid "Track Enqueued" msgstr "" -#: redbot/cogs/audio/audio.py:984 redbot/cogs/audio/audio.py:1944 +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 msgid "{time} until track playback: #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:989 redbot/cogs/audio/audio.py:1949 +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 msgid "#{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:997 +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 #, docstring msgid "Playlist configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:1002 +#: redbot/cogs/audio/audio.py:1876 #, docstring -msgid "Add a track URL, playlist link, or quick search to a playlist.\n\n" -" The track(s) will be appended to the end of the playlist.\n" -" " +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1014 redbot/cogs/audio/audio.py:1078 -#: redbot/cogs/audio/audio.py:1228 +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 msgid "You are not the author of that playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1024 +#: redbot/cogs/audio/audio.py:1898 msgid "{track} is already in {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1033 redbot/cogs/audio/audio.py:1082 -#: redbot/cogs/audio/audio.py:1092 redbot/cogs/audio/audio.py:1231 +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 msgid "No playlist with that name." msgstr "" -#: redbot/cogs/audio/audio.py:1040 +#: redbot/cogs/audio/audio.py:1914 msgid "{track} appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1046 +#: redbot/cogs/audio/audio.py:1920 msgid "{num} tracks appended to {playlist}." msgstr "" -#: redbot/cogs/audio/audio.py:1053 +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 #, docstring msgid "Create an empty playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1057 redbot/cogs/audio/audio.py:1172 +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 msgid "You need the DJ role to save playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1061 redbot/cogs/audio/audio.py:1176 -#: redbot/cogs/audio/audio.py:1204 +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 msgid "Playlist name already exists, try again with a different name." msgstr "" -#: redbot/cogs/audio/audio.py:1067 +#: redbot/cogs/audio/audio.py:2017 msgid "Empty playlist {name} created." msgstr "" -#: redbot/cogs/audio/audio.py:1071 +#: redbot/cogs/audio/audio.py:2021 #, docstring msgid "Delete a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1083 +#: redbot/cogs/audio/audio.py:2033 msgid "{name} playlist deleted." msgstr "" -#: redbot/cogs/audio/audio.py:1087 +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 #, docstring msgid "Retrieve information from a saved playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1100 -msgid "**Custom playlist.**" +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1102 -msgid "URL: <{url}>" +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" msgstr "" -#: redbot/cogs/audio/audio.py:1105 -msgid "Playlist info for {playlist_name}:" +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" msgstr "" -#: redbot/cogs/audio/audio.py:1106 -msgid "Author: **{author_name}**\n" -"{url}" -msgstr "" - -#: redbot/cogs/audio/audio.py:1110 -msgid "{num} track(s)" -msgstr "" - -#: redbot/cogs/audio/audio.py:1115 +#: redbot/cogs/audio/audio.py:2126 #, docstring msgid "List saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1118 +#: redbot/cogs/audio/audio.py:2129 msgid "No saved playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1130 +#: redbot/cogs/audio/audio.py:2141 msgid "Tracks: {num}" msgstr "" -#: redbot/cogs/audio/audio.py:1131 -msgid "Author: {name}\n" +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1155 +#: redbot/cogs/audio/audio.py:2166 msgid "Playlists for {server_name}:" msgstr "" -#: redbot/cogs/audio/audio.py:1159 +#: redbot/cogs/audio/audio.py:2170 msgid "Page {page_num}/{total_pages} | {num} playlists" msgstr "" -#: redbot/cogs/audio/audio.py:1168 +#: redbot/cogs/audio/audio.py:2179 #, docstring msgid "Save the queue to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1189 +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 msgid "Please enter a name for this playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1200 -msgid "Try the command again with a shorter name." -msgstr "" - -#: redbot/cogs/audio/audio.py:1207 -msgid "No playlist name entered, try again later." -msgstr "" - -#: redbot/cogs/audio/audio.py:1214 +#: redbot/cogs/audio/audio.py:2227 msgid "Playlist {name} saved from current queue: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1221 +#: redbot/cogs/audio/audio.py:2234 #, docstring msgid "Remove a track from a playlist by url." msgstr "" -#: redbot/cogs/audio/audio.py:1235 +#: redbot/cogs/audio/audio.py:2248 msgid "URL not in playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1239 +#: redbot/cogs/audio/audio.py:2252 msgid "No tracks left, removing playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1246 +#: redbot/cogs/audio/audio.py:2259 msgid "{num} entries have been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1253 +#: redbot/cogs/audio/audio.py:2266 msgid "The track has been removed from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1260 +#: redbot/cogs/audio/audio.py:2273 #, docstring msgid "Save a playlist from a url." msgstr "" -#: redbot/cogs/audio/audio.py:1272 +#: redbot/cogs/audio/audio.py:2285 msgid "Playlist {name} saved: {num} tracks added." msgstr "" -#: redbot/cogs/audio/audio.py:1279 +#: redbot/cogs/audio/audio.py:2292 #, docstring msgid "Load a playlist into the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1304 -msgid "That playlist doesn't exist." -msgstr "" - -#: redbot/cogs/audio/audio.py:1309 +#: redbot/cogs/audio/audio.py:2336 #, docstring msgid "Convert a Red v2 playlist file to a playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1315 +#: redbot/cogs/audio/audio.py:2342 msgid "Please upload the playlist file. Any other message will cancel this operation." msgstr "" -#: redbot/cogs/audio/audio.py:1323 +#: redbot/cogs/audio/audio.py:2350 msgid "No file detected, try again later." msgstr "" -#: redbot/cogs/audio/audio.py:1327 +#: redbot/cogs/audio/audio.py:2354 msgid "Upload cancelled." msgstr "" -#: redbot/cogs/audio/audio.py:1331 +#: redbot/cogs/audio/audio.py:2358 msgid "Only playlist files can be uploaded." msgstr "" -#: redbot/cogs/audio/audio.py:1336 +#: redbot/cogs/audio/audio.py:2363 msgid "Not a valid playlist file." msgstr "" -#: redbot/cogs/audio/audio.py:1352 +#: redbot/cogs/audio/audio.py:2379 msgid "A playlist already exists with this name." msgstr "" -#: redbot/cogs/audio/audio.py:1357 -msgid "Please wait, adding tracks..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1371 -msgid "Loading track {num}/{total}..." -msgstr "" - -#: redbot/cogs/audio/audio.py:1377 +#: redbot/cogs/audio/audio.py:2407 msgid "No tracks found." msgstr "" -#: redbot/cogs/audio/audio.py:1383 +#: redbot/cogs/audio/audio.py:2413 msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." msgstr "" -#: redbot/cogs/audio/audio.py:1388 +#: redbot/cogs/audio/audio.py:2418 msgid "Added {num} tracks from the {playlist_name} playlist." msgstr "" -#: redbot/cogs/audio/audio.py:1392 +#: redbot/cogs/audio/audio.py:2422 msgid "Playlist Saved" msgstr "" -#: redbot/cogs/audio/audio.py:1403 +#: redbot/cogs/audio/audio.py:2433 msgid "You need the DJ role to use playlists." msgstr "" -#: redbot/cogs/audio/audio.py:1432 +#: redbot/cogs/audio/audio.py:2471 msgid "You must be in the voice channel to use the playlist command." msgstr "" -#: redbot/cogs/audio/audio.py:1464 +#: redbot/cogs/audio/audio.py:2525 #, docstring msgid "Skip to the start of the previously played track." msgstr "" -#: redbot/cogs/audio/audio.py:1474 redbot/cogs/audio/audio.py:2121 +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 msgid "You need the DJ role to skip tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1479 redbot/cogs/audio/audio.py:2115 +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 msgid "You must be in the voice channel to skip the music." msgstr "" -#: redbot/cogs/audio/audio.py:1482 +#: redbot/cogs/audio/audio.py:2543 msgid "Turn shuffle off to use this command." msgstr "" -#: redbot/cogs/audio/audio.py:1484 +#: redbot/cogs/audio/audio.py:2545 msgid "No previous track." msgstr "" -#: redbot/cogs/audio/audio.py:1501 +#: redbot/cogs/audio/audio.py:2562 msgid "Replaying Track" msgstr "" -#: redbot/cogs/audio/audio.py:1509 +#: redbot/cogs/audio/audio.py:2571 #, docstring -msgid "List the queue.\n\n" -" Use [p]queue search to search the queue.\n" -" " +msgid "List the songs in the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1514 redbot/cogs/audio/audio.py:1517 -#: redbot/cogs/audio/audio.py:1544 redbot/cogs/audio/audio.py:2221 -#: redbot/cogs/audio/audio.py:2225 redbot/cogs/audio/audio.py:2232 -msgid "There's nothing in the queue." -msgstr "" - -#: redbot/cogs/audio/audio.py:1553 +#: redbot/cogs/audio/audio.py:2622 msgid "**Currently livestreaming:**" msgstr "" -#: redbot/cogs/audio/audio.py:1559 redbot/cogs/audio/audio.py:1569 -#: redbot/cogs/audio/audio.py:1575 +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 msgid "Playing: " msgstr "" -#: redbot/cogs/audio/audio.py:1562 redbot/cogs/audio/audio.py:1570 -msgid "Requested by: **{user}**\n" +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1577 +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 msgid "Requested by: **{user}**" msgstr "" -#: redbot/cogs/audio/audio.py:1595 redbot/cogs/audio/audio.py:1599 -#: redbot/cogs/audio/audio.py:1604 -msgid "requested by **{user}**\n" +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" msgstr "" -#: redbot/cogs/audio/audio.py:1615 +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" msgstr "" -#: redbot/cogs/audio/audio.py:1624 +#: redbot/cogs/audio/audio.py:2693 msgid "Repeat" msgstr "" -#: redbot/cogs/audio/audio.py:1626 +#: redbot/cogs/audio/audio.py:2695 msgid "Shuffle" msgstr "" -#: redbot/cogs/audio/audio.py:1683 +#: redbot/cogs/audio/audio.py:2740 msgid "Matching Tracks:" msgstr "" -#: redbot/cogs/audio/audio.py:1686 redbot/cogs/audio/audio.py:2010 +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 msgid "Page {page_num}/{total_pages}" msgstr "" -#: redbot/cogs/audio/audio.py:1695 +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 #, docstring msgid "Toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1701 +#: redbot/cogs/audio/audio.py:2835 msgid "You need the DJ role to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1712 +#: redbot/cogs/audio/audio.py:2843 msgid "You must be in the voice channel to toggle repeat." msgstr "" -#: redbot/cogs/audio/audio.py:1715 +#: redbot/cogs/audio/audio.py:2849 msgid "Repeat tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:1721 +#: redbot/cogs/audio/audio.py:2857 #, docstring msgid "Remove a specific track number from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1727 +#: redbot/cogs/audio/audio.py:2863 msgid "Nothing queued." msgstr "" -#: redbot/cogs/audio/audio.py:1730 +#: redbot/cogs/audio/audio.py:2866 msgid "You need the DJ role to remove tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1735 +#: redbot/cogs/audio/audio.py:2871 msgid "You must be in the voice channel to manage the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1751 +#: redbot/cogs/audio/audio.py:2887 msgid "Removed {track} from the queue." msgstr "" -#: redbot/cogs/audio/audio.py:1757 +#: redbot/cogs/audio/audio.py:2894 #, docstring -msgid "Pick a track with a search.\n\n" -" Use `[p]search list ` to queue all tracks found\n" -" on YouTube. `[p]search sc ` will search SoundCloud\n" -" instead of YouTube.\n" -" " +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " msgstr "" -#: redbot/cogs/audio/audio.py:1814 +#: redbot/cogs/audio/audio.py:2958 msgid "You must be in the voice channel to enqueue tracks." msgstr "" -#: redbot/cogs/audio/audio.py:1831 -msgid "Queued {num} track(s)." +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" msgstr "" -#: redbot/cogs/audio/audio.py:1837 +#: redbot/cogs/audio/audio.py:3003 msgid "{time} until start of search playback: starts at #{position} in queue" msgstr "" -#: redbot/cogs/audio/audio.py:1997 +#: redbot/cogs/audio/audio.py:3169 msgid "Tracks Found:" msgstr "" -#: redbot/cogs/audio/audio.py:1998 +#: redbot/cogs/audio/audio.py:3170 msgid "search results" msgstr "" -#: redbot/cogs/audio/audio.py:2001 +#: redbot/cogs/audio/audio.py:3173 msgid "Folders Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2002 +#: redbot/cogs/audio/audio.py:3174 msgid "local folders" msgstr "" -#: redbot/cogs/audio/audio.py:2004 +#: redbot/cogs/audio/audio.py:3176 msgid "Files Found:" msgstr "" -#: redbot/cogs/audio/audio.py:2005 +#: redbot/cogs/audio/audio.py:3177 msgid "local tracks" msgstr "" -#: redbot/cogs/audio/audio.py:2022 +#: redbot/cogs/audio/audio.py:3195 #, docstring -msgid "Seek ahead or behind on a track by seconds." +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." msgstr "" -#: redbot/cogs/audio/audio.py:2031 +#: redbot/cogs/audio/audio.py:3206 msgid "You must be in the voice channel to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2036 +#: redbot/cogs/audio/audio.py:3211 msgid "You need the DJ role to use seek." msgstr "" -#: redbot/cogs/audio/audio.py:2042 redbot/cogs/audio/audio.py:2278 +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 msgid "There are other people listening - vote to skip instead." msgstr "" -#: redbot/cogs/audio/audio.py:2046 +#: redbot/cogs/audio/audio.py:3221 msgid "Can't seek on a stream." msgstr "" -#: redbot/cogs/audio/audio.py:2052 +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 msgid "Moved {num_seconds}s to 00:00:00" msgstr "" -#: redbot/cogs/audio/audio.py:2057 +#: redbot/cogs/audio/audio.py:3241 msgid "Moved {num_seconds}s to {time}" msgstr "" -#: redbot/cogs/audio/audio.py:2068 +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 #, docstring msgid "Toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2072 +#: redbot/cogs/audio/audio.py:3265 msgid "You need the DJ role to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2083 +#: redbot/cogs/audio/audio.py:3273 msgid "You must be in the voice channel to toggle shuffle." msgstr "" -#: redbot/cogs/audio/audio.py:2086 +#: redbot/cogs/audio/audio.py:3279 msgid "Shuffle tracks: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2092 +#: redbot/cogs/audio/audio.py:3287 #, docstring -msgid "Make Red sing one of her songs" +msgid "Make Red sing one of her songs." msgstr "" -#: redbot/cogs/audio/audio.py:2107 +#: redbot/cogs/audio/audio.py:3303 #, docstring -msgid "Skip to the next track." +msgid "Skip to the next track, or to a given track number." msgstr "" -#: redbot/cogs/audio/audio.py:2126 +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 msgid "I removed your vote to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2129 +#: redbot/cogs/audio/audio.py:3329 msgid "You voted to skip." msgstr "" -#: redbot/cogs/audio/audio.py:2142 +#: redbot/cogs/audio/audio.py:3342 msgid "Vote threshold met." msgstr "" -#: redbot/cogs/audio/audio.py:2145 +#: redbot/cogs/audio/audio.py:3345 msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" msgstr "" -#: redbot/cogs/audio/audio.py:2228 +#: redbot/cogs/audio/audio.py:3425 msgid "Currently livestreaming {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2235 +#: redbot/cogs/audio/audio.py:3432 msgid "{time} left on {track}" msgstr "" -#: redbot/cogs/audio/audio.py:2253 +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 msgid "Track Skipped" msgstr "" -#: redbot/cogs/audio/audio.py:2261 +#: redbot/cogs/audio/audio.py:3493 #, docstring msgid "Stop playback and clear the queue." msgstr "" -#: redbot/cogs/audio/audio.py:2271 +#: redbot/cogs/audio/audio.py:3503 msgid "You must be in the voice channel to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2282 +#: redbot/cogs/audio/audio.py:3514 msgid "You need the DJ role to stop the music." msgstr "" -#: redbot/cogs/audio/audio.py:2284 +#: redbot/cogs/audio/audio.py:3516 msgid "Stopping..." msgstr "" -#: redbot/cogs/audio/audio.py:2294 +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 #, docstring msgid "Set the volume, 1% - 150%." msgstr "" -#: redbot/cogs/audio/audio.py:2300 +#: redbot/cogs/audio/audio.py:3571 msgid "Current Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2312 +#: redbot/cogs/audio/audio.py:3583 msgid "You must be in the voice channel to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2318 +#: redbot/cogs/audio/audio.py:3589 msgid "You need the DJ role to change the volume." msgstr "" -#: redbot/cogs/audio/audio.py:2331 +#: redbot/cogs/audio/audio.py:3602 msgid "Volume:" msgstr "" -#: redbot/cogs/audio/audio.py:2341 +#: redbot/cogs/audio/audio.py:3613 #, docstring msgid "Lavalink server configuration options." msgstr "" -#: redbot/cogs/audio/audio.py:2346 +#: redbot/cogs/audio/audio.py:3618 #, docstring msgid "Toggle using external lavalink servers." msgstr "" -#: redbot/cogs/audio/audio.py:2357 redbot/cogs/audio/audio.py:2366 +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 msgid "External lavalink server: {true_or_false}." msgstr "" -#: redbot/cogs/audio/audio.py:2361 -msgid "Defaults reset." -msgstr "" - -#: redbot/cogs/audio/audio.py:2373 +#: redbot/cogs/audio/audio.py:3642 #, docstring msgid "Set the lavalink server host." msgstr "" -#: redbot/cogs/audio/audio.py:2377 redbot/cogs/audio/audio.py:2382 +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 msgid "Host set to {host}." msgstr "" -#: redbot/cogs/audio/audio.py:2379 redbot/cogs/audio/audio.py:2395 -#: redbot/cogs/audio/audio.py:2413 redbot/cogs/audio/audio.py:2429 +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 msgid "External lavalink server set to True." msgstr "" -#: redbot/cogs/audio/audio.py:2388 +#: redbot/cogs/audio/audio.py:3657 #, docstring msgid "Set the lavalink server password." msgstr "" -#: redbot/cogs/audio/audio.py:2393 redbot/cogs/audio/audio.py:2399 +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 msgid "Server password set to {password}." msgstr "" -#: redbot/cogs/audio/audio.py:2406 +#: redbot/cogs/audio/audio.py:3675 #, docstring msgid "Set the lavalink REST server port." msgstr "" -#: redbot/cogs/audio/audio.py:2411 redbot/cogs/audio/audio.py:2416 +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 msgid "REST port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2422 +#: redbot/cogs/audio/audio.py:3691 #, docstring msgid "Set the lavalink websocket server port." msgstr "" -#: redbot/cogs/audio/audio.py:2427 redbot/cogs/audio/audio.py:2432 +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 msgid "Websocket port set to {port}." msgstr "" -#: redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:3801 msgid "Not enough {currency} ({required_credits} required)." msgstr "" diff --git a/redbot/cogs/audio/locales/zh-TW.po b/redbot/cogs/audio/locales/zh-TW.po new file mode 100644 index 000000000..064405775 --- /dev/null +++ b/redbot/cogs/audio/locales/zh-TW.po @@ -0,0 +1,1290 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Chinese Traditional\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /cogs/audio/locales/messages.pot\n" +"Language: zh_TW\n" + +#: redbot/cogs/audio/audio.py:47 +#, docstring +msgid "Play audio through voice channels." +msgstr "" + +#: redbot/cogs/audio/audio.py:260 +msgid "music in {} servers" +msgstr "" + +#: redbot/cogs/audio/audio.py:300 redbot/cogs/audio/audio.py:1317 +msgid "Now Playing" +msgstr "" + +#: redbot/cogs/audio/audio.py:304 +msgid "Track length: {length} | Requested by: {user}" +msgstr "" + +#: redbot/cogs/audio/audio.py:331 +msgid "Queue ended." +msgstr "" + +#: redbot/cogs/audio/audio.py:350 +msgid "Track Error" +msgstr "" + +#: redbot/cogs/audio/audio.py:355 +msgid "Skipping..." +msgstr "" + +#: redbot/cogs/audio/audio.py:363 +#, docstring +msgid "Music configuration options." +msgstr "" + +#: redbot/cogs/audio/audio.py:369 +#, docstring +msgid "Toggle the bot auto-disconnecting when done playing.\\n\\n This setting takes precedence over [p]audioset emptydisconnect.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:377 +msgid "Auto-disconnection at queue end: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:385 +#, docstring +msgid "Toggle DJ mode.\\n\\n DJ mode allows users with the DJ role to use audio commands.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:392 +msgid "Please set a role to use with DJ mode. Enter the role name or ID now." +msgstr "" + +#: redbot/cogs/audio/audio.py:400 +msgid "Response timed out, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:405 +msgid "DJ role enabled: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:411 +#, docstring +msgid "Auto-disconnection after x seconds while stopped. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:413 redbot/cogs/audio/audio.py:436 +#: redbot/cogs/audio/audio.py:543 redbot/cogs/audio/audio.py:687 +msgid "Can't be less than zero." +msgstr "" + +#: redbot/cogs/audio/audio.py:418 +msgid "Empty disconnect disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:423 +msgid "Empty disconnect timer set to {num_seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:434 +#, docstring +msgid "Set a price for queueing tracks for non-mods. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:439 +msgid "Jukebox mode disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:444 +msgid "Track queueing command price set to {price} {currency}." +msgstr "" + +#: redbot/cogs/audio/audio.py:455 +#, docstring +msgid "Set the localtracks path if the Lavalink.jar is not run from the Audio data folder.\\n\\n Leave the path blank to reset the path to the default, the Audio data directory.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:463 +msgid "The localtracks path location has been reset to the default location." +msgstr "" + +#: redbot/cogs/audio/audio.py:466 +msgid "This setting is only for bot owners to set a localtracks folder location if the Lavalink.jar is being ran from outside of the Audio data directory.\\nIn the example below, the full path for 'ParentDirectory' must be passed to this command.\\nThe path must not contain spaces.\\n```\\nParentDirectory\\n |__ localtracks (folder)\\n | |__ Awesome Album Name (folder)\\n | |__01 Cool Song.mp3\\n | |__02 Groovy Song.mp3\\n |\\n |__ Lavalink.jar\\n |__ application.yml\\n```\\nThe folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\\nUse this command with no path given to reset it to the default, the Audio data directory for this bot.\\nDo you want to continue to set the provided path for local tracks?" +msgstr "" + +#: redbot/cogs/audio/audio.py:505 +msgid "{local_path} does not seem like a valid path." +msgstr "" + +#: redbot/cogs/audio/audio.py:520 +msgid "The path that was entered does not have {filelist} file in that location. The path will still be saved, but please check the path and the file location before attempting to play local tracks or start your Lavalink.jar." +msgstr "" + +#: redbot/cogs/audio/audio.py:530 +msgid "Localtracks path set to: {local_path}." +msgstr "" + +#: redbot/cogs/audio/audio.py:536 +#, docstring +msgid "Max length of a track to queue in seconds. 0 to disable.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).\\n Invalid input will turn the max length setting off." +msgstr "" + +#: redbot/cogs/audio/audio.py:545 +msgid "Track max length disabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:549 +msgid "Track max length set to {seconds}." +msgstr "" + +#: redbot/cogs/audio/audio.py:559 +#, docstring +msgid "Toggle track announcement and other bot messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:563 +msgid "Verbose mode on: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:569 +#, docstring +msgid "Toggle the domain restriction on Audio.\\n\\n When toggled off, users will be able to play songs from non-commercial websites and links.\\n When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links." +msgstr "" + +#: redbot/cogs/audio/audio.py:576 +msgid "Commercial links only: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:582 +#, docstring +msgid "Set the role to use for DJ mode." +msgstr "" + +#: redbot/cogs/audio/audio.py:585 +msgid "DJ role set to: {role.name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:589 +#, docstring +msgid "Show the current settings." +msgstr "" + +#: redbot/cogs/audio/audio.py:604 +msgid "Server Settings" +msgstr "" + +#: redbot/cogs/audio/audio.py:606 +msgid "Auto-disconnect: [{dc}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:609 +msgid "Disconnect timer: [{num_seconds}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:613 +msgid "DJ Role: [{role.name}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:615 +msgid "Jukebox: [{jukebox_name}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:616 +msgid "Command price: [{jukebox_price}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:618 +msgid "Max track length: [{tracklength}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:621 +msgid "Repeat: [{repeat}]\\nShuffle: [{shuffle}]\\nSong notify msgs: [{notify}]\\nSongs as status: [{status}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:628 +msgid "Thumbnails: [{0}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:630 +msgid "Vote skip: [{vote_enabled}]\\nSkip percentage: [{vote_percent}%]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:633 +msgid "---Lavalink Settings--- \\nCog version: [{version}]\\nJar build: [{jarbuild}]\\nExternal server: [{use_external_lavalink}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:640 +msgid "Localtracks path: [{localpath}]\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:648 +#, docstring +msgid "Instructions to set the Spotify API tokens." +msgstr "" + +#: redbot/cogs/audio/audio.py:649 +msgid "1. Go to Spotify developers and log in with your Spotify account.\\n(https://developer.spotify.com/dashboard/applications)\\n2. Click \\\"Create An App\\\".\\n3. Fill out the form provided with your app name, etc.\\n4. When asked if you're developing commercial integration select \\\"No\\\".\\n5. Accept the terms and conditions.\\n6. Copy your client ID and your client secret into:\\n`{prefix}set api spotify client_id, client_secret,`" +msgstr "" + +#: redbot/cogs/audio/audio.py:665 +#, docstring +msgid "Enable/disable tracks' titles as status." +msgstr "" + +#: redbot/cogs/audio/audio.py:669 +msgid "Song titles as status: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:675 +#, docstring +msgid "Toggle displaying a thumbnail on audio messages." +msgstr "" + +#: redbot/cogs/audio/audio.py:679 +msgid "Thumbnail display: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:685 +#, docstring +msgid "Percentage needed for non-mods to skip tracks. 0 to disable." +msgstr "" + +#: redbot/cogs/audio/audio.py:693 +msgid "Voting disabled. All users can use queue management commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:698 +msgid "Vote percentage set to {percent}%." +msgstr "" + +#: redbot/cogs/audio/audio.py:707 +#, docstring +msgid "Instructions to set the YouTube API key." +msgstr "" + +#: redbot/cogs/audio/audio.py:726 +#, docstring +msgid "Audio stats." +msgstr "" + +#: redbot/cogs/audio/audio.py:754 redbot/cogs/audio/audio.py:782 +#: redbot/cogs/audio/audio.py:819 redbot/cogs/audio/audio.py:847 +#: redbot/cogs/audio/audio.py:914 redbot/cogs/audio/audio.py:932 +#: redbot/cogs/audio/audio.py:956 redbot/cogs/audio/audio.py:1026 +#: redbot/cogs/audio/audio.py:1280 redbot/cogs/audio/audio.py:1371 +#: redbot/cogs/audio/audio.py:1388 redbot/cogs/audio/audio.py:1411 +#: redbot/cogs/audio/audio.py:1419 redbot/cogs/audio/audio.py:2190 +#: redbot/cogs/audio/audio.py:2527 redbot/cogs/audio/audio.py:2860 +#: redbot/cogs/audio/audio.py:3201 redbot/cogs/audio/audio.py:3255 +#: redbot/cogs/audio/audio.py:3305 redbot/cogs/audio/audio.py:3497 +#: redbot/cogs/audio/audio.py:3575 redbot/cogs/audio/audio.py:3605 +msgid "Nothing playing." +msgstr "" + +#: redbot/cogs/audio/audio.py:758 +msgid "Not connected anywhere." +msgstr "" + +#: redbot/cogs/audio/audio.py:764 +msgid "Playing in {num}/{total} servers:" +msgstr "" + +#: redbot/cogs/audio/audio.py:779 +#, docstring +msgid "Bump a track number to the top of the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:788 +msgid "You must be in the voice channel to bump a track." +msgstr "" + +#: redbot/cogs/audio/audio.py:792 +msgid "You need the DJ role to bump tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:795 redbot/cogs/audio/audio.py:2875 +msgid "Song number must be greater than 1 and within the queue limit." +msgstr "" + +#: redbot/cogs/audio/audio.py:810 +msgid "Moved {track} to the top of the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:817 +#, docstring +msgid "Disconnect from the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:826 +msgid "You need the DJ role to disconnect." +msgstr "" + +#: redbot/cogs/audio/audio.py:830 +msgid "There are other people listening to music." +msgstr "" + +#: redbot/cogs/audio/audio.py:845 +#, docstring +msgid "Equalizer management." +msgstr "" + +#: redbot/cogs/audio/audio.py:865 +#, docstring +msgid "Delete a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:887 +#, docstring +msgid "List saved eq presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:890 +msgid "No saved equalizer presets." +msgstr "" + +#: redbot/cogs/audio/audio.py:897 +msgid "{num} preset(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:903 +#, docstring +msgid "Load a saved eq preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:930 +#, docstring +msgid "Reset the eq to 0 across all bands." +msgstr "" + +#: redbot/cogs/audio/audio.py:946 +msgid "Equalizer values have been reset." +msgstr "" + +#: redbot/cogs/audio/audio.py:954 +#, docstring +msgid "Save the current eq settings to a preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:958 +msgid "Please enter a name for this equalizer preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:972 +msgid "No equalizer preset name entered, try the command again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:981 redbot/cogs/audio/audio.py:2213 +msgid "Try the command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:985 +msgid "Preset name already exists, do you want to replace it?" +msgstr "" + +#: redbot/cogs/audio/audio.py:994 +msgid "Not saving preset." +msgstr "" + +#: redbot/cogs/audio/audio.py:1019 +#, docstring +msgid "Set an eq band with a band number or name and value.\\n\\n Band positions are 1-15 and values have a range of -0.25 to 1.0.\\n Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz.\\n Setting a band value to -0.25 nullifies it while +0.25 is double.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1063 +msgid "Valid band numbers are 1-15 or the band names listed in the help for this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1099 +#, docstring +msgid "Local playback commands." +msgstr "" + +#: redbot/cogs/audio/audio.py:1104 +#, docstring +msgid "Play all songs in a localtracks folder." +msgstr "" + +#: redbot/cogs/audio/audio.py:1115 +msgid "No localtracks folder named {name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1121 +#, docstring +msgid "Play a local track." +msgstr "" + +#: redbot/cogs/audio/audio.py:1126 +msgid "No local track folders found." +msgstr "" + +#: redbot/cogs/audio/audio.py:1169 +#, docstring +msgid "Search for songs across all localtracks folders." +msgstr "" + +#: redbot/cogs/audio/audio.py:1174 +msgid "No album folders found." +msgstr "" + +#: redbot/cogs/audio/audio.py:1181 redbot/cogs/audio/audio.py:2816 +msgid "No matches." +msgstr "" + +#: redbot/cogs/audio/audio.py:1269 +msgid "No localtracks folder." +msgstr "" + +#: redbot/cogs/audio/audio.py:1278 +#, docstring +msgid "Now playing." +msgstr "" + +#: redbot/cogs/audio/audio.py:1298 +msgid "Requested by: **{track.requester}**" +msgstr "" + +#: redbot/cogs/audio/audio.py:1308 +msgid "Nothing." +msgstr "" + +#: redbot/cogs/audio/audio.py:1368 +#, docstring +msgid "Pause or resume a playing track." +msgstr "" + +#: redbot/cogs/audio/audio.py:1377 +msgid "You must be in the voice channel pause or resume." +msgstr "" + +#: redbot/cogs/audio/audio.py:1384 +msgid "You need the DJ role to pause or resume tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:1401 +msgid "Track Paused" +msgstr "" + +#: redbot/cogs/audio/audio.py:1407 +msgid "Track Resumed" +msgstr "" + +#: redbot/cogs/audio/audio.py:1417 +#, docstring +msgid "Queue percentage." +msgstr "" + +#: redbot/cogs/audio/audio.py:1443 +msgid "Nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:1465 +msgid "Queued and playing tracks:" +msgstr "" + +#: redbot/cogs/audio/audio.py:1474 +#, docstring +msgid "Play a URL or search for a track." +msgstr "" + +#: redbot/cogs/audio/audio.py:1481 +msgid "That URL is not allowed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1484 redbot/cogs/audio/audio.py:2437 +#: redbot/cogs/audio/audio.py:2928 redbot/cogs/audio/audio.py:3047 +msgid "Connection to Lavalink has failed." +msgstr "" + +#: redbot/cogs/audio/audio.py:1486 redbot/cogs/audio/audio.py:2439 +#: redbot/cogs/audio/audio.py:2930 redbot/cogs/audio/audio.py:3049 +msgid "Please check your console or logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1495 redbot/cogs/audio/audio.py:2449 +#: redbot/cogs/audio/audio.py:2939 redbot/cogs/audio/audio.py:3543 +msgid "I don't have permission to connect to your channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:1501 redbot/cogs/audio/audio.py:2461 +#: redbot/cogs/audio/audio.py:2945 redbot/cogs/audio/audio.py:3056 +#: redbot/cogs/audio/audio.py:3555 +msgid "Connect to a voice channel first." +msgstr "" + +#: redbot/cogs/audio/audio.py:1504 redbot/cogs/audio/audio.py:2457 +#: redbot/cogs/audio/audio.py:2948 redbot/cogs/audio/audio.py:3059 +#: redbot/cogs/audio/audio.py:3558 +msgid "Connection to Lavalink has not yet been established." +msgstr "" + +#: redbot/cogs/audio/audio.py:1508 +msgid "You need the DJ role to queue tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:1519 +msgid "You must be in the voice channel to use the play command." +msgstr "" + +#: redbot/cogs/audio/audio.py:1525 +msgid "No tracks to play." +msgstr "" + +#: redbot/cogs/audio/audio.py:1565 +msgid "The owner needs to set the Spotify client ID, Spotify client secret, and YouTube API key before Spotify URLs or codes can be used. \\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1575 redbot/cogs/audio/audio.py:2493 +msgid "Wait until the playlist has finished loading." +msgstr "" + +#: redbot/cogs/audio/audio.py:1592 redbot/cogs/audio/audio.py:1657 +#: redbot/cogs/audio/audio.py:2499 redbot/cogs/audio/audio.py:2509 +#: redbot/cogs/audio/audio.py:2973 redbot/cogs/audio/audio.py:3027 +msgid "Nothing found." +msgstr "" + +#: redbot/cogs/audio/audio.py:1600 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1639 redbot/cogs/audio/audio.py:1776 +msgid "This doesn't seem to be a valid Spotify URL or code." +msgstr "" + +#: redbot/cogs/audio/audio.py:1688 redbot/cogs/audio/audio.py:2320 +msgid "Playlist Enqueued" +msgstr "" + +#: redbot/cogs/audio/audio.py:1689 redbot/cogs/audio/audio.py:2321 +msgid "Added {num} tracks to the queue.{maxlength_msg}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1695 +msgid "{time} until start of playlist playback: starts at #{position} in queue" +msgstr "" + +#: redbot/cogs/audio/audio.py:1711 redbot/cogs/audio/audio.py:3125 +msgid "Track exceeds maximum length." +msgstr "" + +#: redbot/cogs/audio/audio.py:1717 +msgid "Nothing found. Check your Lavalink logs for details." +msgstr "" + +#: redbot/cogs/audio/audio.py:1732 redbot/cogs/audio/audio.py:3108 +msgid "Track Enqueued" +msgstr "" + +#: redbot/cogs/audio/audio.py:1736 redbot/cogs/audio/audio.py:3114 +msgid "{time} until track playback: #{position} in queue" +msgstr "" + +#: redbot/cogs/audio/audio.py:1741 redbot/cogs/audio/audio.py:3119 +msgid "#{position} in queue" +msgstr "" + +#: redbot/cogs/audio/audio.py:1761 +msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions." +msgstr "" + +#: redbot/cogs/audio/audio.py:1793 redbot/cogs/audio/audio.py:2384 +msgid "Please wait, adding tracks..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1809 +msgid "The connection was reset while loading the playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1826 redbot/cogs/audio/audio.py:2401 +msgid "Loading track {num}/{total}..." +msgstr "" + +#: redbot/cogs/audio/audio.py:1840 +msgid "Approximate time remaining: {seconds}" +msgstr "" + +#: redbot/cogs/audio/audio.py:1850 +msgid "Nothing found.\\nThe YouTube API key may be invalid or you may be rate limited on YouTube's search service.\\nCheck the YouTube API key again and follow the instructions at `{prefix}audioset youtubeapi`." +msgstr "" + +#: redbot/cogs/audio/audio.py:1871 +#, docstring +msgid "Playlist configuration options." +msgstr "" + +#: redbot/cogs/audio/audio.py:1876 +#, docstring +msgid "Add a track URL, playlist link, or quick search to a playlist.\\n\\n The track(s) will be appended to the end of the playlist.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:1888 redbot/cogs/audio/audio.py:2028 +#: redbot/cogs/audio/audio.py:2241 +msgid "You are not the author of that playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1898 +msgid "{track} is already in {playlist}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1907 redbot/cogs/audio/audio.py:2032 +#: redbot/cogs/audio/audio.py:2081 redbot/cogs/audio/audio.py:2244 +msgid "No playlist with that name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1914 +msgid "{track} appended to {playlist}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1920 +msgid "{num} tracks appended to {playlist}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1928 +#, docstring +msgid "Copy a playlist from one server to another." +msgstr "" + +#: redbot/cogs/audio/audio.py:1932 +msgid "Invalid server ID for source server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1934 +msgid "Invalid server ID for target server." +msgstr "" + +#: redbot/cogs/audio/audio.py:1939 +msgid "No playlist with that name in {from_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1950 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}." +msgstr "" + +#: redbot/cogs/audio/audio.py:1962 +msgid "A playlist with that name already exists in {to_guild_name}.\\nPlease enter a new name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:1975 +msgid "Try the playlist copy command again with a shorter name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1980 +msgid "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:1986 redbot/cogs/audio/audio.py:2220 +msgid "No playlist name entered, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:1991 +msgid "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\\nNew playlist name on {to_guild_name}: {new_name}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2003 +#, docstring +msgid "Create an empty playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2007 redbot/cogs/audio/audio.py:2183 +msgid "You need the DJ role to save playlists." +msgstr "" + +#: redbot/cogs/audio/audio.py:2011 redbot/cogs/audio/audio.py:2187 +#: redbot/cogs/audio/audio.py:2217 +msgid "Playlist name already exists, try again with a different name." +msgstr "" + +#: redbot/cogs/audio/audio.py:2017 +msgid "Empty playlist {name} created." +msgstr "" + +#: redbot/cogs/audio/audio.py:2021 +#, docstring +msgid "Delete a saved playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2033 +msgid "{name} playlist deleted." +msgstr "" + +#: redbot/cogs/audio/audio.py:2039 +#, docstring +msgid "Download a copy of a playlist.\\n\\n These files can be used with the [p]playlist upload command.\\n Red v2-compatible playlists can be generated by passing True\\n for the v2 variable." +msgstr "" + +#: redbot/cogs/audio/audio.py:2061 +msgid "That playlist has no tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2063 redbot/cogs/audio/audio.py:2331 +msgid "That playlist doesn't exist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2076 +#, docstring +msgid "Retrieve information from a saved playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2101 +msgid "Playlist info for {playlist_name}:\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2105 +msgid "Playlist info for {playlist_name}:\\nURL: {url}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2116 +msgid "Author: {author_name} | {num} track(s)" +msgstr "" + +#: redbot/cogs/audio/audio.py:2126 +#, docstring +msgid "List saved playlists." +msgstr "" + +#: redbot/cogs/audio/audio.py:2129 +msgid "No saved playlists." +msgstr "" + +#: redbot/cogs/audio/audio.py:2141 +msgid "Tracks: {num}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2142 +msgid "Author: {name}\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2166 +msgid "Playlists for {server_name}:" +msgstr "" + +#: redbot/cogs/audio/audio.py:2170 +msgid "Page {page_num}/{total_pages} | {num} playlists" +msgstr "" + +#: redbot/cogs/audio/audio.py:2179 +#, docstring +msgid "Save the queue to a playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2193 redbot/cogs/audio/audio.py:2590 +#: redbot/cogs/audio/audio.py:2593 redbot/cogs/audio/audio.py:2613 +#: redbot/cogs/audio/audio.py:2756 redbot/cogs/audio/audio.py:2759 +#: redbot/cogs/audio/audio.py:2775 redbot/cogs/audio/audio.py:2778 +#: redbot/cogs/audio/audio.py:2810 redbot/cogs/audio/audio.py:2812 +#: redbot/cogs/audio/audio.py:3418 redbot/cogs/audio/audio.py:3422 +#: redbot/cogs/audio/audio.py:3429 +msgid "There's nothing in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2202 +msgid "Please enter a name for this playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2227 +msgid "Playlist {name} saved from current queue: {num} tracks added." +msgstr "" + +#: redbot/cogs/audio/audio.py:2234 +#, docstring +msgid "Remove a track from a playlist by url." +msgstr "" + +#: redbot/cogs/audio/audio.py:2248 +msgid "URL not in playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2252 +msgid "No tracks left, removing playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2259 +msgid "{num} entries have been removed from the {playlist_name} playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2266 +msgid "The track has been removed from the {playlist_name} playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2273 +#, docstring +msgid "Save a playlist from a url." +msgstr "" + +#: redbot/cogs/audio/audio.py:2285 +msgid "Playlist {name} saved: {num} tracks added." +msgstr "" + +#: redbot/cogs/audio/audio.py:2292 +#, docstring +msgid "Load a playlist into the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2336 +#, docstring +msgid "Convert a Red v2 playlist file to a playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2342 +msgid "Please upload the playlist file. Any other message will cancel this operation." +msgstr "" + +#: redbot/cogs/audio/audio.py:2350 +msgid "No file detected, try again later." +msgstr "" + +#: redbot/cogs/audio/audio.py:2354 +msgid "Upload cancelled." +msgstr "" + +#: redbot/cogs/audio/audio.py:2358 +msgid "Only playlist files can be uploaded." +msgstr "" + +#: redbot/cogs/audio/audio.py:2363 +msgid "Not a valid playlist file." +msgstr "" + +#: redbot/cogs/audio/audio.py:2379 +msgid "A playlist already exists with this name." +msgstr "" + +#: redbot/cogs/audio/audio.py:2407 +msgid "No tracks found." +msgstr "" + +#: redbot/cogs/audio/audio.py:2413 +msgid "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) could not be loaded." +msgstr "" + +#: redbot/cogs/audio/audio.py:2418 +msgid "Added {num} tracks from the {playlist_name} playlist." +msgstr "" + +#: redbot/cogs/audio/audio.py:2422 +msgid "Playlist Saved" +msgstr "" + +#: redbot/cogs/audio/audio.py:2433 +msgid "You need the DJ role to use playlists." +msgstr "" + +#: redbot/cogs/audio/audio.py:2471 +msgid "You must be in the voice channel to use the playlist command." +msgstr "" + +#: redbot/cogs/audio/audio.py:2525 +#, docstring +msgid "Skip to the start of the previously played track." +msgstr "" + +#: redbot/cogs/audio/audio.py:2535 redbot/cogs/audio/audio.py:3317 +msgid "You need the DJ role to skip tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2540 redbot/cogs/audio/audio.py:3311 +msgid "You must be in the voice channel to skip the music." +msgstr "" + +#: redbot/cogs/audio/audio.py:2543 +msgid "Turn shuffle off to use this command." +msgstr "" + +#: redbot/cogs/audio/audio.py:2545 +msgid "No previous track." +msgstr "" + +#: redbot/cogs/audio/audio.py:2562 +msgid "Replaying Track" +msgstr "" + +#: redbot/cogs/audio/audio.py:2571 +#, docstring +msgid "List the songs in the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2622 +msgid "**Currently livestreaming:**" +msgstr "" + +#: redbot/cogs/audio/audio.py:2628 redbot/cogs/audio/audio.py:2638 +#: redbot/cogs/audio/audio.py:2644 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/audio/audio.py:2631 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2639 +msgid "Requested by: **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2646 +msgid "Requested by: **{user}**" +msgstr "" + +#: redbot/cogs/audio/audio.py:2664 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2668 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2673 +msgid "requested by **{user}**\\n" +msgstr "" + +#: redbot/cogs/audio/audio.py:2684 +msgid "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" +msgstr "" + +#: redbot/cogs/audio/audio.py:2693 +msgid "Repeat" +msgstr "" + +#: redbot/cogs/audio/audio.py:2695 +msgid "Shuffle" +msgstr "" + +#: redbot/cogs/audio/audio.py:2740 +msgid "Matching Tracks:" +msgstr "" + +#: redbot/cogs/audio/audio.py:2743 redbot/cogs/audio/audio.py:3182 +msgid "Page {page_num}/{total_pages}" +msgstr "" + +#: redbot/cogs/audio/audio.py:2752 +#, docstring +msgid "Clears the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2764 +msgid "You need the DJ role to clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2766 +msgid "The queue has been cleared." +msgstr "" + +#: redbot/cogs/audio/audio.py:2771 +#, docstring +msgid "Removes songs from the queue if the requester is not in the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2783 +msgid "You need the DJ role to clean the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2794 +msgid "Removed 0 tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2798 +msgid "Removed {removed_tracks} tracks queued by members outside of the voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:2806 +#, docstring +msgid "Search the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2829 +#, docstring +msgid "Toggle repeat." +msgstr "" + +#: redbot/cogs/audio/audio.py:2835 +msgid "You need the DJ role to toggle repeat." +msgstr "" + +#: redbot/cogs/audio/audio.py:2843 +msgid "You must be in the voice channel to toggle repeat." +msgstr "" + +#: redbot/cogs/audio/audio.py:2849 +msgid "Repeat tracks: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:2857 +#, docstring +msgid "Remove a specific track number from the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2863 +msgid "Nothing queued." +msgstr "" + +#: redbot/cogs/audio/audio.py:2866 +msgid "You need the DJ role to remove tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2871 +msgid "You must be in the voice channel to manage the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2887 +msgid "Removed {track} from the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:2894 +#, docstring +msgid "Pick a track with a search.\\n\\n Use `[p]search list ` to queue all tracks found\\n on YouTube. `[p]search sc ` will search SoundCloud\\n instead of YouTube.\\n " +msgstr "" + +#: redbot/cogs/audio/audio.py:2958 +msgid "You must be in the voice channel to enqueue tracks." +msgstr "" + +#: redbot/cogs/audio/audio.py:2997 +msgid "Queued {num} track(s).{maxlength_msg}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3003 +msgid "{time} until start of search playback: starts at #{position} in queue" +msgstr "" + +#: redbot/cogs/audio/audio.py:3169 +msgid "Tracks Found:" +msgstr "" + +#: redbot/cogs/audio/audio.py:3170 +msgid "search results" +msgstr "" + +#: redbot/cogs/audio/audio.py:3173 +msgid "Folders Found:" +msgstr "" + +#: redbot/cogs/audio/audio.py:3174 +msgid "local folders" +msgstr "" + +#: redbot/cogs/audio/audio.py:3176 +msgid "Files Found:" +msgstr "" + +#: redbot/cogs/audio/audio.py:3177 +msgid "local tracks" +msgstr "" + +#: redbot/cogs/audio/audio.py:3195 +#, docstring +msgid "Seek ahead or behind on a track by seconds or a to a specific time.\\n\\n Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`)." +msgstr "" + +#: redbot/cogs/audio/audio.py:3206 +msgid "You must be in the voice channel to use seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3211 +msgid "You need the DJ role to use seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3217 redbot/cogs/audio/audio.py:3510 +msgid "There are other people listening - vote to skip instead." +msgstr "" + +#: redbot/cogs/audio/audio.py:3221 +msgid "Can't seek on a stream." +msgstr "" + +#: redbot/cogs/audio/audio.py:3230 +msgid "Invalid input for the time to seek." +msgstr "" + +#: redbot/cogs/audio/audio.py:3236 +msgid "Moved {num_seconds}s to 00:00:00" +msgstr "" + +#: redbot/cogs/audio/audio.py:3241 +msgid "Moved {num_seconds}s to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3249 +msgid "Moved to {time}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3261 +#, docstring +msgid "Toggle shuffle." +msgstr "" + +#: redbot/cogs/audio/audio.py:3265 +msgid "You need the DJ role to toggle shuffle." +msgstr "" + +#: redbot/cogs/audio/audio.py:3273 +msgid "You must be in the voice channel to toggle shuffle." +msgstr "" + +#: redbot/cogs/audio/audio.py:3279 +msgid "Shuffle tracks: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:3287 +#, docstring +msgid "Make Red sing one of her songs." +msgstr "" + +#: redbot/cogs/audio/audio.py:3303 +#, docstring +msgid "Skip to the next track, or to a given track number." +msgstr "" + +#: redbot/cogs/audio/audio.py:3322 +msgid "Can't skip to a specific track in vote mode without the DJ role." +msgstr "" + +#: redbot/cogs/audio/audio.py:3326 +msgid "I removed your vote to skip." +msgstr "" + +#: redbot/cogs/audio/audio.py:3329 +msgid "You voted to skip." +msgstr "" + +#: redbot/cogs/audio/audio.py:3342 +msgid "Vote threshold met." +msgstr "" + +#: redbot/cogs/audio/audio.py:3345 +msgid " Votes: {num_votes}/{num_members} ({cur_percent}% out of {required_percent}% needed)" +msgstr "" + +#: redbot/cogs/audio/audio.py:3425 +msgid "Currently livestreaming {track}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3432 +msgid "{time} left on {track}" +msgstr "" + +#: redbot/cogs/audio/audio.py:3441 +msgid "Track number must be equal to or greater than 1." +msgstr "" + +#: redbot/cogs/audio/audio.py:3454 +msgid "Can't skip to a track while shuffle is enabled." +msgstr "" + +#: redbot/cogs/audio/audio.py:3470 +msgid "Track Skipped" +msgstr "" + +#: redbot/cogs/audio/audio.py:3493 +#, docstring +msgid "Stop playback and clear the queue." +msgstr "" + +#: redbot/cogs/audio/audio.py:3503 +msgid "You must be in the voice channel to stop the music." +msgstr "" + +#: redbot/cogs/audio/audio.py:3514 +msgid "You need the DJ role to stop the music." +msgstr "" + +#: redbot/cogs/audio/audio.py:3516 +msgid "Stopping..." +msgstr "" + +#: redbot/cogs/audio/audio.py:3531 +#, docstring +msgid "Summon the bot to a voice channel." +msgstr "" + +#: redbot/cogs/audio/audio.py:3535 +msgid "You need the DJ role to summon the bot." +msgstr "" + +#: redbot/cogs/audio/audio.py:3565 +#, docstring +msgid "Set the volume, 1% - 150%." +msgstr "" + +#: redbot/cogs/audio/audio.py:3571 +msgid "Current Volume:" +msgstr "" + +#: redbot/cogs/audio/audio.py:3583 +msgid "You must be in the voice channel to change the volume." +msgstr "" + +#: redbot/cogs/audio/audio.py:3589 +msgid "You need the DJ role to change the volume." +msgstr "" + +#: redbot/cogs/audio/audio.py:3602 +msgid "Volume:" +msgstr "" + +#: redbot/cogs/audio/audio.py:3613 +#, docstring +msgid "Lavalink server configuration options." +msgstr "" + +#: redbot/cogs/audio/audio.py:3618 +#, docstring +msgid "Toggle using external lavalink servers." +msgstr "" + +#: redbot/cogs/audio/audio.py:3625 redbot/cogs/audio/audio.py:3635 +msgid "External lavalink server: {true_or_false}." +msgstr "" + +#: redbot/cogs/audio/audio.py:3642 +#, docstring +msgid "Set the lavalink server host." +msgstr "" + +#: redbot/cogs/audio/audio.py:3646 redbot/cogs/audio/audio.py:3651 +msgid "Host set to {host}." +msgstr "" + +#: redbot/cogs/audio/audio.py:3648 redbot/cogs/audio/audio.py:3664 +#: redbot/cogs/audio/audio.py:3682 redbot/cogs/audio/audio.py:3698 +msgid "External lavalink server set to True." +msgstr "" + +#: redbot/cogs/audio/audio.py:3657 +#, docstring +msgid "Set the lavalink server password." +msgstr "" + +#: redbot/cogs/audio/audio.py:3662 redbot/cogs/audio/audio.py:3668 +msgid "Server password set to {password}." +msgstr "" + +#: redbot/cogs/audio/audio.py:3675 +#, docstring +msgid "Set the lavalink REST server port." +msgstr "" + +#: redbot/cogs/audio/audio.py:3680 redbot/cogs/audio/audio.py:3685 +msgid "REST port set to {port}." +msgstr "" + +#: redbot/cogs/audio/audio.py:3691 +#, docstring +msgid "Set the lavalink websocket server port." +msgstr "" + +#: redbot/cogs/audio/audio.py:3696 redbot/cogs/audio/audio.py:3701 +msgid "Websocket port set to {port}." +msgstr "" + +#: redbot/cogs/audio/audio.py:3801 +msgid "Not enough {currency} ({required_credits} required)." +msgstr "" + diff --git a/redbot/cogs/bank/locales/ar-SA.po b/redbot/cogs/bank/locales/ar-SA.po index adf593074..8a136903c 100644 --- a/redbot/cogs/bank/locales/ar-SA.po +++ b/redbot/cogs/bank/locales/ar-SA.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,62 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: ar_SA\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "" -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "" -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "" -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "" -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "" diff --git a/redbot/cogs/bank/locales/bg-BG.po b/redbot/cogs/bank/locales/bg-BG.po index 3da70d239..3d3c154d7 100644 --- a/redbot/cogs/bank/locales/bg-BG.po +++ b/redbot/cogs/bank/locales/bg-BG.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Bulgarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,62 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: bg_BG\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "" -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "глобален" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "" -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "" -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "" -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "" diff --git a/redbot/cogs/bank/locales/cs-CZ.po b/redbot/cogs/bank/locales/cs-CZ.po new file mode 100644 index 000000000..6bdb788c4 --- /dev/null +++ b/redbot/cogs/bank/locales/cs-CZ.po @@ -0,0 +1,71 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: cs\n" +"X-Crowdin-File: /cogs/bank/locales/messages.pot\n" +"Language: cs_CZ\n" + +#: redbot/cogs/bank/bank.py:62 +#, docstring +msgid "Bank" +msgstr "" + +#: redbot/cogs/bank/bank.py:74 +#, docstring +msgid "Base command for bank settings." +msgstr "" + +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" +msgstr "" + +#: redbot/cogs/bank/bank.py:98 +#, docstring +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " +msgstr "" + +#: redbot/cogs/bank/bank.py:105 +msgid "per-server" +msgstr "" + +#: redbot/cogs/bank/bank.py:105 +msgid "global" +msgstr "" + +#: redbot/cogs/bank/bank.py:108 +msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" +msgstr "" + +#: redbot/cogs/bank/bank.py:115 +msgid "The bank is now {banktype}." +msgstr "" + +#: redbot/cogs/bank/bank.py:120 +#, docstring +msgid "Set the bank's name." +msgstr "" + +#: redbot/cogs/bank/bank.py:122 +msgid "Bank name has been set to: {name}" +msgstr "" + +#: redbot/cogs/bank/bank.py:127 +#, docstring +msgid "Set the name for the bank's currency." +msgstr "" + +#: redbot/cogs/bank/bank.py:129 +msgid "Currency name has been set to: {name}" +msgstr "" + diff --git a/redbot/cogs/bank/locales/da-DK.po b/redbot/cogs/bank/locales/da-DK.po index 2a918aab5..fe540aae2 100644 --- a/redbot/cogs/bank/locales/da-DK.po +++ b/redbot/cogs/bank/locales/da-DK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,62 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: da_DK\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "" -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "" -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "" -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "" -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "" diff --git a/redbot/cogs/bank/locales/de-DE.po b/redbot/cogs/bank/locales/de-DE.po index 00296dffb..f6688b798 100644 --- a/redbot/cogs/bank/locales/de-DE.po +++ b/redbot/cogs/bank/locales/de-DE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,68 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: de_DE\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "Bank" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "Basis Befehl für Bank Einstellungen." -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" -msgstr "Bank Einstellungen:\n\n" -"Bank Name: {bank_name}\n" -"Währung: {currency_name}\n" -"Standard Guthaben: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" +msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " -msgstr "Umschalten ob die Bank Global oder nicht ist.\n\n" -" Wenn die Bank Global is, wird sie zu pro Server.\n" -" Wenn die Bank pro Server ist, wird sie zu Global.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " +msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "per-server" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "Global" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "Dies schaltet die Bank um zu {banktype}, löscht alle Konten im Prozess! Wenn du sicher bist, tippe `{command}`" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "Die Bank ist nun {banktype}." -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "Legt den Namen der Bank fest." -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "Der Name der Bank wurde festgesetzt auf: {name}" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "Lege den Namen für die Währung der Bank fest." -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "Währungs Name wurde gesetzt auf: {name}" diff --git a/redbot/cogs/bank/locales/el-GR.po b/redbot/cogs/bank/locales/el-GR.po index de6dd839c..96ebafa13 100644 --- a/redbot/cogs/bank/locales/el-GR.po +++ b/redbot/cogs/bank/locales/el-GR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,62 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: el_GR\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "" -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "" -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "" -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "" -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "" diff --git a/redbot/cogs/bank/locales/en-PT.po b/redbot/cogs/bank/locales/en-PT.po index ec43fcfb1..004226f3f 100644 --- a/redbot/cogs/bank/locales/en-PT.po +++ b/redbot/cogs/bank/locales/en-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Pirate English\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,62 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: en_PT\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "" -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "global" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "" -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "" -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "" -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "" diff --git a/redbot/cogs/bank/locales/es-ES.po b/redbot/cogs/bank/locales/es-ES.po index 0cb502938..2711e6555 100644 --- a/redbot/cogs/bank/locales/es-ES.po +++ b/redbot/cogs/bank/locales/es-ES.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,62 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: es_ES\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "" -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "por server" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "general" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "" -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "" -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "" -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "" diff --git a/redbot/cogs/bank/locales/fi-FI.po b/redbot/cogs/bank/locales/fi-FI.po index ddde4412e..cf309d20f 100644 --- a/redbot/cogs/bank/locales/fi-FI.po +++ b/redbot/cogs/bank/locales/fi-FI.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,62 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: fi_FI\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "" -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "" -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "" -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "" -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "" diff --git a/redbot/cogs/bank/locales/fr-FR.po b/redbot/cogs/bank/locales/fr-FR.po index bb8188cb6..36c8bb1ad 100644 --- a/redbot/cogs/bank/locales/fr-FR.po +++ b/redbot/cogs/bank/locales/fr-FR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:11\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,68 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: fr_FR\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "Banque" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "Commande de base pour les paramètres de la banque." -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" -msgstr "Paramètres de la banque :\n\n" -"Nom de la banque : {bank_name}\n" -"Devise : {currency_name}\n" -"Solde par défaut : {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" +msgstr "Paramètres de la banque :\\n\\nNom de la banque : {bank_name}\\nDevise : {currency_name}\\nSolde par défaut : {default_balance}" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " -msgstr "Permet de choisir si la banque est globale ou non.\n\n" -" Si la banque est globale, elle deviendra par serveurs.\n" -" Si la banque est par serveurs, elle deviendra globale.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " +msgstr "Permet de choisir si la banque est globale ou non.\\n\\n Si la banque est globale, elle deviendra par serveur.\\n Si la banque est par serveurs, elle deviendra globale.\\n " -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "par serveur" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "global" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "Cela va basculer la banque en : {banktype}, en supprimant tout les comptes durant le processus ! Si vous êtes sûr, tapez `{command}`" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "La banque est désormais : {banktype}." -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "Défini le nom de la banque." -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "Le nom de la banque est maintenant : {name}" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "Défini le nom de la devise de la banque." -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "Le nom de la devise est maintenant : {name}" diff --git a/redbot/cogs/bank/locales/hu-HU.po b/redbot/cogs/bank/locales/hu-HU.po index c8acc6911..0db42b7fc 100644 --- a/redbot/cogs/bank/locales/hu-HU.po +++ b/redbot/cogs/bank/locales/hu-HU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,62 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: hu_HU\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "" -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "globális" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "" -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "" -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "" -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "" diff --git a/redbot/cogs/bank/locales/id-ID.po b/redbot/cogs/bank/locales/id-ID.po index 3e01f7387..cb61d4cb2 100644 --- a/redbot/cogs/bank/locales/id-ID.po +++ b/redbot/cogs/bank/locales/id-ID.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,62 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: id_ID\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "" -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "per-server" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "global" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "" -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "" -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "" -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "" diff --git a/redbot/cogs/bank/locales/it-IT.po b/redbot/cogs/bank/locales/it-IT.po index d1d055704..9e66f55d9 100644 --- a/redbot/cogs/bank/locales/it-IT.po +++ b/redbot/cogs/bank/locales/it-IT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,62 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: it_IT\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "" -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "globale" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "" -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "" -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "" -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "" diff --git a/redbot/cogs/bank/locales/ja-JP.po b/redbot/cogs/bank/locales/ja-JP.po index ebf8fc931..c75298232 100644 --- a/redbot/cogs/bank/locales/ja-JP.po +++ b/redbot/cogs/bank/locales/ja-JP.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,62 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: ja_JP\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "" -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "グローバル" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "" -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "" -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "" -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "" diff --git a/redbot/cogs/bank/locales/ko-KR.po b/redbot/cogs/bank/locales/ko-KR.po index 5505f499e..f90deb1dc 100644 --- a/redbot/cogs/bank/locales/ko-KR.po +++ b/redbot/cogs/bank/locales/ko-KR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,62 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: ko_KR\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "" -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "글로벌" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "" -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "" -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "" -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "" diff --git a/redbot/cogs/bank/locales/lol-US.po b/redbot/cogs/bank/locales/lol-US.po index fa2bc410c..286662c52 100644 --- a/redbot/cogs/bank/locales/lol-US.po +++ b/redbot/cogs/bank/locales/lol-US.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: LOLCAT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,62 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: lol_US\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "" -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "global" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "" -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "" -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "" -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "" diff --git a/redbot/cogs/bank/locales/nl-NL.po b/redbot/cogs/bank/locales/nl-NL.po index 7c26d5815..a9cb4add0 100644 --- a/redbot/cogs/bank/locales/nl-NL.po +++ b/redbot/cogs/bank/locales/nl-NL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,68 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: nl_NL\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "Bank" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "Basisopdracht voor bankinstellingen." -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" -msgstr "Bankinstellingen: \n" -"Banknaam: {bank_name} \n" -"Valuta: {currency_name} \n" -"Standaardsaldo: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" +msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " -msgstr "Wissel of de bank al dan niet globaal is.\n\n" -" Als de bank wereldwijd is, wordt deze per server.\n" -" Als de bank per server is, wordt deze globaal.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " +msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "per-server" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "globaal" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "Hiermee wordt de bank ingesteld op {banktype} en worden alle accounts verwijderd! Als je het zeker weet, type je `{command}`" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "De bank is nu {banktype}." -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "Stel de naam van de bank in." -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "Banknaam is ingesteld op: {name}" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "Stel de valuta in." -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "Valutanaam is ingesteld op: {name}" diff --git a/redbot/cogs/bank/locales/no-NO.po b/redbot/cogs/bank/locales/no-NO.po index 2a63d0a97..1a75c42cc 100644 --- a/redbot/cogs/bank/locales/no-NO.po +++ b/redbot/cogs/bank/locales/no-NO.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Norwegian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,62 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: no_NO\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "" -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "global" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "" -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "" -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "" -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "" diff --git a/redbot/cogs/bank/locales/pl-PL.po b/redbot/cogs/bank/locales/pl-PL.po index 9e0753838..5a57c20cb 100644 --- a/redbot/cogs/bank/locales/pl-PL.po +++ b/redbot/cogs/bank/locales/pl-PL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,62 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: pl_PL\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" -msgstr "" +msgstr "Bank" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "" -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" -msgstr "" +msgstr "na server" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "globalny" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "" -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." -msgstr "" +msgstr "Ustaw nazwę banku." -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "" -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "" diff --git a/redbot/cogs/bank/locales/pt-BR.po b/redbot/cogs/bank/locales/pt-BR.po index 25f746ba7..e7c350ed3 100644 --- a/redbot/cogs/bank/locales/pt-BR.po +++ b/redbot/cogs/bank/locales/pt-BR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese, Brazilian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,62 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: pt_BR\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "" -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "global" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "" -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "" -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "" -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "" diff --git a/redbot/cogs/bank/locales/pt-PT.po b/redbot/cogs/bank/locales/pt-PT.po index 19fdc652b..4893b95b6 100644 --- a/redbot/cogs/bank/locales/pt-PT.po +++ b/redbot/cogs/bank/locales/pt-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,62 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: pt_PT\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "" -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "" -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "" -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "" -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "" diff --git a/redbot/cogs/bank/locales/ro-RO.po b/redbot/cogs/bank/locales/ro-RO.po new file mode 100644 index 000000000..9a4620c14 --- /dev/null +++ b/redbot/cogs/bank/locales/ro-RO.po @@ -0,0 +1,71 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:09\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Romanian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /cogs/bank/locales/messages.pot\n" +"Language: ro_RO\n" + +#: redbot/cogs/bank/bank.py:62 +#, docstring +msgid "Bank" +msgstr "" + +#: redbot/cogs/bank/bank.py:74 +#, docstring +msgid "Base command for bank settings." +msgstr "" + +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" +msgstr "" + +#: redbot/cogs/bank/bank.py:98 +#, docstring +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " +msgstr "" + +#: redbot/cogs/bank/bank.py:105 +msgid "per-server" +msgstr "" + +#: redbot/cogs/bank/bank.py:105 +msgid "global" +msgstr "" + +#: redbot/cogs/bank/bank.py:108 +msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" +msgstr "" + +#: redbot/cogs/bank/bank.py:115 +msgid "The bank is now {banktype}." +msgstr "" + +#: redbot/cogs/bank/bank.py:120 +#, docstring +msgid "Set the bank's name." +msgstr "" + +#: redbot/cogs/bank/bank.py:122 +msgid "Bank name has been set to: {name}" +msgstr "" + +#: redbot/cogs/bank/bank.py:127 +#, docstring +msgid "Set the name for the bank's currency." +msgstr "" + +#: redbot/cogs/bank/bank.py:129 +msgid "Currency name has been set to: {name}" +msgstr "" + diff --git a/redbot/cogs/bank/locales/ru-RU.po b/redbot/cogs/bank/locales/ru-RU.po index a9f43276a..d22c916b4 100644 --- a/redbot/cogs/bank/locales/ru-RU.po +++ b/redbot/cogs/bank/locales/ru-RU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 05:52\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,68 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: ru_RU\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "Банк" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "Базовая команда для настройки банка." -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" -msgstr "Настройки банка:\n\n" -"Название банка: {bank_name}\n" -"Валюта: {currency_name}\n" -"Баланс по умолчанию: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" +msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " -msgstr "Переключить, является ли банк глобальным или нет.\n\n" -" Если банк является глобальным, он станет серверным.\n" -" Если банк является серверным, он станет глобальным.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " +msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" -msgstr "каждый-сервер" +msgstr "серверный" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" -msgstr "глобально" +msgstr "глобальный" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "Это переключит банк на {banktype}, удалив все учетные записи в процессе! Если вы уверены, введите `{command}`" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "Банк теперь {banktype}." -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "Установите имя банка." -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "Название банка было установлено на: {name}" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "Установите название для валюты банка." -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "Название валюты было установлено на: {name}" diff --git a/redbot/cogs/bank/locales/sk-SK.po b/redbot/cogs/bank/locales/sk-SK.po index 749277a2b..1cc3efcef 100644 --- a/redbot/cogs/bank/locales/sk-SK.po +++ b/redbot/cogs/bank/locales/sk-SK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Slovak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,62 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: sk_SK\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "" -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "" -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "" -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "" -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "" diff --git a/redbot/cogs/bank/locales/sv-SE.po b/redbot/cogs/bank/locales/sv-SE.po index 2b80cb170..96c34d3c3 100644 --- a/redbot/cogs/bank/locales/sv-SE.po +++ b/redbot/cogs/bank/locales/sv-SE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,62 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: sv_SE\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "" -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "per-server" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "global" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "" -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "" -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "" -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "" diff --git a/redbot/cogs/bank/locales/tr-TR.po b/redbot/cogs/bank/locales/tr-TR.po index 52b2dce9e..4c9b79c5f 100644 --- a/redbot/cogs/bank/locales/tr-TR.po +++ b/redbot/cogs/bank/locales/tr-TR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,68 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: tr_TR\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "Banka" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "Banka ayarları için temel komut." -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" -msgstr "Banka ayarları:\n\n" -"Banka adı: {bank_name}\n" -"Para Birimi: {currency_name}\n" -"Varsayılan bakiye: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" +msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " -msgstr "Bankanın genel olup olmadığına bakılmaksızın geçiş.\n\n" -" banka genel ise, bu sunucu başına olacak.\n" -" banka sunucu başına ise, küresel olacak.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " +msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "sunucu başına" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "genel" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "Bu bankanın işleminin tüm hesapları silme {banktype}, geçiş yapılır! Emin misin, '{command} ' yazın" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "Banka şimdi {banktype}." -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "Bankanın adını ayarlayın." -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "Banka adı ayarlandı {name}" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "Bankası'nın para birimi için ayarlayın." -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "Para birimi adı ayarla: {name}" diff --git a/redbot/cogs/bank/locales/zh-CN.po b/redbot/cogs/bank/locales/zh-CN.po index 9464dbbed..f0732a9eb 100644 --- a/redbot/cogs/bank/locales/zh-CN.po +++ b/redbot/cogs/bank/locales/zh-CN.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,62 +16,56 @@ msgstr "" "X-Crowdin-File: /cogs/bank/locales/messages.pot\n" "Language: zh_CN\n" -#: redbot/cogs/bank/bank.py:58 +#: redbot/cogs/bank/bank.py:62 #, docstring msgid "Bank" msgstr "" -#: redbot/cogs/bank/bank.py:70 +#: redbot/cogs/bank/bank.py:74 #, docstring msgid "Base command for bank settings." msgstr "" -#: redbot/cogs/bank/bank.py:83 -msgid "Bank settings:\n\n" -"Bank name: {bank_name}\n" -"Currency: {currency_name}\n" -"Default balance: {default_balance}" +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" msgstr "" -#: redbot/cogs/bank/bank.py:94 +#: redbot/cogs/bank/bank.py:98 #, docstring -msgid "Toggle whether the bank is global or not.\n\n" -" If the bank is global, it will become per-server.\n" -" If the bank is per-server, it will become global.\n" -" " +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "per-server" msgstr "" -#: redbot/cogs/bank/bank.py:101 +#: redbot/cogs/bank/bank.py:105 msgid "global" msgstr "全局" -#: redbot/cogs/bank/bank.py:104 +#: redbot/cogs/bank/bank.py:108 msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" msgstr "" -#: redbot/cogs/bank/bank.py:111 +#: redbot/cogs/bank/bank.py:115 msgid "The bank is now {banktype}." msgstr "" -#: redbot/cogs/bank/bank.py:116 +#: redbot/cogs/bank/bank.py:120 #, docstring msgid "Set the bank's name." msgstr "" -#: redbot/cogs/bank/bank.py:118 +#: redbot/cogs/bank/bank.py:122 msgid "Bank name has been set to: {name}" msgstr "" -#: redbot/cogs/bank/bank.py:123 +#: redbot/cogs/bank/bank.py:127 #, docstring msgid "Set the name for the bank's currency." msgstr "" -#: redbot/cogs/bank/bank.py:125 +#: redbot/cogs/bank/bank.py:129 msgid "Currency name has been set to: {name}" msgstr "" diff --git a/redbot/cogs/bank/locales/zh-TW.po b/redbot/cogs/bank/locales/zh-TW.po new file mode 100644 index 000000000..bf02b3075 --- /dev/null +++ b/redbot/cogs/bank/locales/zh-TW.po @@ -0,0 +1,71 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Chinese Traditional\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /cogs/bank/locales/messages.pot\n" +"Language: zh_TW\n" + +#: redbot/cogs/bank/bank.py:62 +#, docstring +msgid "Bank" +msgstr "" + +#: redbot/cogs/bank/bank.py:74 +#, docstring +msgid "Base command for bank settings." +msgstr "" + +#: redbot/cogs/bank/bank.py:87 +msgid "Bank settings:\\n\\nBank name: {bank_name}\\nCurrency: {currency_name}\\nDefault balance: {default_balance}" +msgstr "" + +#: redbot/cogs/bank/bank.py:98 +#, docstring +msgid "Toggle whether the bank is global or not.\\n\\n If the bank is global, it will become per-server.\\n If the bank is per-server, it will become global.\\n " +msgstr "" + +#: redbot/cogs/bank/bank.py:105 +msgid "per-server" +msgstr "" + +#: redbot/cogs/bank/bank.py:105 +msgid "global" +msgstr "" + +#: redbot/cogs/bank/bank.py:108 +msgid "This will toggle the bank to be {banktype}, deleting all accounts in the process! If you're sure, type `{command}`" +msgstr "" + +#: redbot/cogs/bank/bank.py:115 +msgid "The bank is now {banktype}." +msgstr "" + +#: redbot/cogs/bank/bank.py:120 +#, docstring +msgid "Set the bank's name." +msgstr "" + +#: redbot/cogs/bank/bank.py:122 +msgid "Bank name has been set to: {name}" +msgstr "" + +#: redbot/cogs/bank/bank.py:127 +#, docstring +msgid "Set the name for the bank's currency." +msgstr "" + +#: redbot/cogs/bank/bank.py:129 +msgid "Currency name has been set to: {name}" +msgstr "" + diff --git a/redbot/cogs/cleanup/locales/ar-SA.po b/redbot/cogs/cleanup/locales/ar-SA.po index eb8ca8f0b..4ff51c72d 100644 --- a/redbot/cogs/cleanup/locales/ar-SA.po +++ b/redbot/cogs/cleanup/locales/ar-SA.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,86 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: ar_SA\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." msgstr "" diff --git a/redbot/cogs/cleanup/locales/bg-BG.po b/redbot/cogs/cleanup/locales/bg-BG.po index e83e205ae..8321f85e5 100644 --- a/redbot/cogs/cleanup/locales/bg-BG.po +++ b/redbot/cogs/cleanup/locales/bg-BG.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Bulgarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,86 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: bg_BG\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." msgstr "" diff --git a/redbot/cogs/cleanup/locales/cs-CZ.po b/redbot/cogs/cleanup/locales/cs-CZ.po new file mode 100644 index 000000000..59e152b1a --- /dev/null +++ b/redbot/cogs/cleanup/locales/cs-CZ.po @@ -0,0 +1,84 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: cs\n" +"X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" +"Language: cs_CZ\n" + +#: redbot/cogs/cleanup/cleanup.py:22 +#, docstring +msgid "Commands for cleaning up messages." +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:42 +msgid "Are you sure you want to delete {number} messages? (y/n)" +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:54 +msgid "Cancelled." +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:113 +#, docstring +msgid "Delete messages." +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:122 +#, docstring +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:167 +#, docstring +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:223 +#, docstring +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 +msgid "Message not found." +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:259 +#, docstring +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:296 +#, docstring +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 +#, docstring +msgid "Clean up command messages and messages from the bot." +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:437 +#, docstring +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." +msgstr "" + diff --git a/redbot/cogs/cleanup/locales/da-DK.po b/redbot/cogs/cleanup/locales/da-DK.po index 4cfae02f2..44427da12 100644 --- a/redbot/cogs/cleanup/locales/da-DK.po +++ b/redbot/cogs/cleanup/locales/da-DK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,86 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: da_DK\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." msgstr "" diff --git a/redbot/cogs/cleanup/locales/de-DE.po b/redbot/cogs/cleanup/locales/de-DE.po index 2182dec13..850807684 100644 --- a/redbot/cogs/cleanup/locales/de-DE.po +++ b/redbot/cogs/cleanup/locales/de-DE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,104 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: de_DE\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "Befehle um Nachrichten zu bereinigen." -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "Bist du sicher das du {number} Nachrichten löschen möchtest? (y/n)" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "Abgebrochen." -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "Nachrichten löschen." -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " -msgstr "Lösche die letzten X Nachrichten, die dem angegebenen Text entsprechen.\n\n" -" Beispiel:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Denke daran Gänsefüßchen zu benutzen.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " +msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " -msgstr "Lösche die letzen X Nachrichten eines bestimmten Benutzers.\n\n" -" Beispiel:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " +msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " -msgstr "Lösche alle Nachrichten nach einer bestimmten Nachricht.\n\n" -" Um eine Nachrichten ID zu erhalten, aktiviere den Entwickler Modus in den\n" -" Discord Einstellungen, im 'Erscheinungsbild' Reiter. Klicke dann mit rechts auf\n" -" eine Nachricht und kopiere die ID.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " +msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "Nachricht nicht gefunden." -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " -msgstr "Löscht X Nachrichten vor einer bestimmten Nachricht.\n\n" -" Um eine Nachrichten ID zu erhalten, aktiviere den Entwickler Modus in den\n" -" Discord Einstellungen, im 'Erscheinungsbild' Reiter. Klicke dann mit rechts auf\n" -" eine Nachricht und kopiere die ID. " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " +msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " -msgstr "Lösche die letzten X Nachrichten.\n\n" -" Beispiel:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " +msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "Bereinige Befehls Nachrichten und Nachrichten von dem Bot." -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " msgstr "" +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." +msgstr "{} sieht nicht wie eine gültige Nachrichten ID aus." + diff --git a/redbot/cogs/cleanup/locales/el-GR.po b/redbot/cogs/cleanup/locales/el-GR.po index 35aa1af82..32ce874bb 100644 --- a/redbot/cogs/cleanup/locales/el-GR.po +++ b/redbot/cogs/cleanup/locales/el-GR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,86 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: el_GR\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." msgstr "" diff --git a/redbot/cogs/cleanup/locales/en-PT.po b/redbot/cogs/cleanup/locales/en-PT.po index d43af0f06..241ea626b 100644 --- a/redbot/cogs/cleanup/locales/en-PT.po +++ b/redbot/cogs/cleanup/locales/en-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Pirate English\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,86 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: en_PT\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." msgstr "" diff --git a/redbot/cogs/cleanup/locales/es-ES.po b/redbot/cogs/cleanup/locales/es-ES.po index c6bad7315..12efd6268 100644 --- a/redbot/cogs/cleanup/locales/es-ES.po +++ b/redbot/cogs/cleanup/locales/es-ES.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,86 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: es_ES\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." -msgstr "" +msgstr "Comandos para limpiar mensajes." -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" -msgstr "" +msgstr "Estas seguro que quieres borrar {number} mensajes? (y/n)" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "Cancelado." -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." -msgstr "" +msgstr "Borrar mensajes." -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "Mensaje no encontrado." -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." msgstr "" diff --git a/redbot/cogs/cleanup/locales/fi-FI.po b/redbot/cogs/cleanup/locales/fi-FI.po index 479701526..ae8f68b32 100644 --- a/redbot/cogs/cleanup/locales/fi-FI.po +++ b/redbot/cogs/cleanup/locales/fi-FI.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,86 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: fi_FI\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." msgstr "" diff --git a/redbot/cogs/cleanup/locales/fr-FR.po b/redbot/cogs/cleanup/locales/fr-FR.po index c91a33652..a0c0e7878 100644 --- a/redbot/cogs/cleanup/locales/fr-FR.po +++ b/redbot/cogs/cleanup/locales/fr-FR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:11\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,113 +16,71 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: fr_FR\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "Commandes pour supprimer des messages." -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "Êtes vous sûr de supprimer {number} messages ? (o/n)" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "Annulé." -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "Supprime les messages." -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " -msgstr "Supprime les X derniers messages correspondant au texte spécifié.\n\n" -" Exemple :\n" -" `[p]cleanup text \"test\" 5`\n\n" -" N'oubliez pas d'utiliser des guillemets. " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " +msgstr "Supprime les X derniers messages correspondant au texte spécifié.\\n\\n Exemple :\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n N'oubliez pas d'utiliser des guillemets.\\n " -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " -msgstr "Supprime les X derniers messages d'un utilisateur spécifié.\n\n" -" Exemples :\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " +msgstr "Supprime les X derniers messages d'un utilisateur spécifié.\\n\\n Exemples :\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " + +#: redbot/cogs/cleanup/cleanup.py:223 +#, docstring +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " +msgstr "Supprimer tous les messages après un message spécifié.\\n\\n Pour obtenir l'Id d'un message, activez le mode développeur\\n dans l'onglet \"Apparence\" des paramètres de Discord.\\n Ensuite faites clic droit sur un message et\\n \"Copier l'identifiant\"\n" " " -#: redbot/cogs/cleanup/cleanup.py:215 -#, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " -msgstr "Supprimer tous les messages après un message spécifié.\n\n" -" Pour obtenir l'Id d'un message, activez le mode dévoloppeur\n" -" dans l'onglet \"Apparence\" des paramètres de Discord.\n" -" Ensuite faites clic droit sur un message et\n" -" \"Copier l'identifiant\".\n" -" " - -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "Message introuvable." -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " -msgstr "Supprime X messages avant un message spécifié.\n\n" -" Pour obtenir l'Id d'un message, activez le mode dévoloppeur\n" -" dans l'onglet \"Apparence\" des paramètres de Discord.\n" -" Ensuite faites clic droit sur un message et\n" -" \"Copier l'identifiant\".\n" +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " +msgstr "Supprime X messages avant un message spécifié.\\n\\n Pour obtenir l'Id d'un message, activez le mode développeur\\n dans l'onglet \"Apparence\" des paramètres de Discord.\\n Ensuite faites clic droit sur un message et\\n \"Copier l'identifiant\"\n" " " -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " -msgstr "Supprime les X derniers messages.\n\n" -" Exemple :\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " +msgstr "Supprimez les messages entre deux messages, en fournissant l'ID des messages.\\n\\n Le premier ID de message doit être l'ancien message et le second le plus récent.\\n\\n Exemple :\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "Supprime les X derniers messages.\\n\\n Exemple :\\n `[p]cleanup messages 26`\\n " + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "Supprime les messages de commandes et les messages venant du bot." -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " -msgstr "Supprimer les messages appartenant au bot.\n\n" -" Par défaut, tous les messages sont supprimés. Si un troisième argument est spécifié,\n" -" il est utilisé pour la comparaison de motifs : S'il commence par r( et se termine par ),\n" -" alors il est interprété comme un regex, et les messages qui y correspondent sont les suivants\n" -" effacé. Sinon, il est utilisé dans un simple test de sous-chaîne.\n\n" -" Quelques drapeaux de regex utiles à inclure dans votre motif :\n" -" Les points correspondent aux nouvelles lignes : (?s) ; Ignorer le cas : (?i) ; Les deux : (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "Supprimer les messages appartenant au bot.\\n\\n Par défaut, tous les messages sont supprimés. Si un troisième argument est spécifié,\\n il est utilisé pour la comparaison de motifs : S'il commence par r( et se termine par ),\\n alors il est interprété comme un regex, et les messages qui y correspondent sont les suivants\\n effacé. Sinon, il est utilisé dans un simple test de sous-chaîne.\\n\\n Quelques examples regex utiles à inclure dans votre motif :\\n Les points correspondent aux nouvelles lignes : (?s) ; Ignorer le cas : (?i) ; Les deux : (?si)\\n " + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." +msgstr "{} ne ressemble pas à un ID de message valide." diff --git a/redbot/cogs/cleanup/locales/hu-HU.po b/redbot/cogs/cleanup/locales/hu-HU.po index 420b0c5ce..f3ec6c0f1 100644 --- a/redbot/cogs/cleanup/locales/hu-HU.po +++ b/redbot/cogs/cleanup/locales/hu-HU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,86 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: hu_HU\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." msgstr "" diff --git a/redbot/cogs/cleanup/locales/id-ID.po b/redbot/cogs/cleanup/locales/id-ID.po index 3a4e1fcd7..813a44afb 100644 --- a/redbot/cogs/cleanup/locales/id-ID.po +++ b/redbot/cogs/cleanup/locales/id-ID.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,86 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: id_ID\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "Dibatalkan." -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "Pesan tidak ditemukan." -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." msgstr "" diff --git a/redbot/cogs/cleanup/locales/it-IT.po b/redbot/cogs/cleanup/locales/it-IT.po index f556e456b..7318f212a 100644 --- a/redbot/cogs/cleanup/locales/it-IT.po +++ b/redbot/cogs/cleanup/locales/it-IT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,86 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: it_IT\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "Messaggio non trovato." -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." msgstr "" diff --git a/redbot/cogs/cleanup/locales/ja-JP.po b/redbot/cogs/cleanup/locales/ja-JP.po index c95c9e6cb..5f0431986 100644 --- a/redbot/cogs/cleanup/locales/ja-JP.po +++ b/redbot/cogs/cleanup/locales/ja-JP.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,86 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: ja_JP\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." msgstr "" diff --git a/redbot/cogs/cleanup/locales/ko-KR.po b/redbot/cogs/cleanup/locales/ko-KR.po index f5228e873..f5b635423 100644 --- a/redbot/cogs/cleanup/locales/ko-KR.po +++ b/redbot/cogs/cleanup/locales/ko-KR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,86 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: ko_KR\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "취소되었어요." -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "메세지를 찾을 수 없어요." -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." msgstr "" diff --git a/redbot/cogs/cleanup/locales/lol-US.po b/redbot/cogs/cleanup/locales/lol-US.po index 012d829c4..61b4af694 100644 --- a/redbot/cogs/cleanup/locales/lol-US.po +++ b/redbot/cogs/cleanup/locales/lol-US.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: LOLCAT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,86 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: lol_US\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." msgstr "" diff --git a/redbot/cogs/cleanup/locales/nl-NL.po b/redbot/cogs/cleanup/locales/nl-NL.po index 16f38b684..8e4368f24 100644 --- a/redbot/cogs/cleanup/locales/nl-NL.po +++ b/redbot/cogs/cleanup/locales/nl-NL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,108 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: nl_NL\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "Commands voor het opschonen van berichten." -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "Weet je zeker dat je {number} berichten wilt verwijderen? (y/n)" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "Geannuleerd." -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "Verwijder berichten." -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " -msgstr "Verwijder de laatste X-berichten die overeenkomen met de opgegeven tekst.\n\n" -" Voorbeeld:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Dubbele quotes zijn verplicht.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " +msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " -msgstr "Verwijder de laatste X-berichten van een opgegeven gebruiker.\n\n" -" Voorbeeld:\n" -" `[p]cleanup user @​GeoZz#2018 2`\n" -" `[p]cleanup user GeoZz 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " +msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " -msgstr "Alle berichten verwijderen na een opgegeven bericht.\n\n" -" Om een bericht-id te krijgen, schakel je de ontwikkelaarsmodus in Discord's in\n" -" instellingen, tabblad 'weergave'. Vervolgens Klik met de rechtermuisknop een bericht\n" -" en kopieer je het id.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " +msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "Bericht niet gevonden." -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " -msgstr "Verwijdert x-aantal berichten vóór het opgegeven bericht.\n" -" Om een bericht-id op te halen, schakelt u de \n" -" ontwikkelaarsmodus in de instellingen van \n" -" Discord in, het tabblad 'uiterlijk'. \n" -" Klik vervolgens met de rechtermuisknop op \n" -" een bericht en kopieer het Id.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " +msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " -msgstr "Verwijder de laaste x-aantal berichten.\n\n" -" Voorbeeld:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " +msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "Verwijder commands en berichten van de bot." -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " -msgstr "Ruim berichten op die eigendom zijn van de bot.\n\n" -" Standaard worden alle berichten schoongemaakt. Als een derde argument is opgegeven, wordt het gebruikt voor patroonvergelijking: als het begint met r (en eindigt met), wordt het geïnterpreteerd als een regex en worden berichten die daarmee overeenkomen verwijderd. Anders wordt het gebruikt in een eenvoudige substringtest. Enkele nuttige regex-flags die in uw patroon moeten worden opgenomen: Punten komen overeen met nieuwe regels: (? S); Case negeren: (? I); Beide: (? Si) " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." +msgstr "" diff --git a/redbot/cogs/cleanup/locales/no-NO.po b/redbot/cogs/cleanup/locales/no-NO.po index 19e2a4b5f..652233a7f 100644 --- a/redbot/cogs/cleanup/locales/no-NO.po +++ b/redbot/cogs/cleanup/locales/no-NO.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Norwegian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,86 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: no_NO\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." msgstr "" diff --git a/redbot/cogs/cleanup/locales/pl-PL.po b/redbot/cogs/cleanup/locales/pl-PL.po index c1312db2e..01ecb85a6 100644 --- a/redbot/cogs/cleanup/locales/pl-PL.po +++ b/redbot/cogs/cleanup/locales/pl-PL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,86 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: pl_PL\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "Anulowane." -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." -msgstr "" +msgstr "Usuń wiadomości." -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "Nie ma takiej wiadomości." -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " msgstr "" +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." +msgstr "{} nie jest prawidłowym ID wiadomości." + diff --git a/redbot/cogs/cleanup/locales/pt-BR.po b/redbot/cogs/cleanup/locales/pt-BR.po index 2d0f386c1..9fa5b11ef 100644 --- a/redbot/cogs/cleanup/locales/pt-BR.po +++ b/redbot/cogs/cleanup/locales/pt-BR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese, Brazilian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,86 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: pt_BR\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "Cancelado." -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "Mensagem não encontrada." -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." msgstr "" diff --git a/redbot/cogs/cleanup/locales/pt-PT.po b/redbot/cogs/cleanup/locales/pt-PT.po index 8e3f2c18e..a0a8b2c62 100644 --- a/redbot/cogs/cleanup/locales/pt-PT.po +++ b/redbot/cogs/cleanup/locales/pt-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,86 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: pt_PT\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." msgstr "" diff --git a/redbot/cogs/cleanup/locales/ro-RO.po b/redbot/cogs/cleanup/locales/ro-RO.po new file mode 100644 index 000000000..7cc50c882 --- /dev/null +++ b/redbot/cogs/cleanup/locales/ro-RO.po @@ -0,0 +1,84 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:09\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Romanian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" +"Language: ro_RO\n" + +#: redbot/cogs/cleanup/cleanup.py:22 +#, docstring +msgid "Commands for cleaning up messages." +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:42 +msgid "Are you sure you want to delete {number} messages? (y/n)" +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:54 +msgid "Cancelled." +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:113 +#, docstring +msgid "Delete messages." +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:122 +#, docstring +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:167 +#, docstring +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:223 +#, docstring +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 +msgid "Message not found." +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:259 +#, docstring +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:296 +#, docstring +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 +#, docstring +msgid "Clean up command messages and messages from the bot." +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:437 +#, docstring +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." +msgstr "" + diff --git a/redbot/cogs/cleanup/locales/ru-RU.po b/redbot/cogs/cleanup/locales/ru-RU.po index 061197a8a..360a7919e 100644 --- a/redbot/cogs/cleanup/locales/ru-RU.po +++ b/redbot/cogs/cleanup/locales/ru-RU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 05:52\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,117 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: ru_RU\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "Команды для очистки сообщений." -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "Вы уверены, что хотите удалить {number} сообщений? (y/n)" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "Отменено." -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "Удалить сообщения." -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " -msgstr "Удалить последние X сообщений, соответствующие указанному тексту.\n\n" -" Пример:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Не забывайте использовать двойные кавычки.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " +msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " -msgstr "Удалить последние X сообщений от указанного пользователя.\n\n" -" Примеры:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " +msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " -msgstr "Удалить все сообщения после указанного сообщения.\n\n" -" Чтобы получить Id сообщения, включите\n" -" режим разработчика в настройках Discord,\n" -" во вкладке 'Внешний вид'. Затем щелкните\n" -" правой кнопкой мыши на сообщение и\n" -" скопируйте его Id.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " +msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "Сообщение не найдено." -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " -msgstr "Удалить X сообщений перед указанным сообщением.\n\n" -" Чтобы получить Id сообщения, включите\n" -" режим разработчика в настройках Discord,\n" -" во вкладке 'Внешний вид'. Затем щелкните\n" -" правой кнопкой мыши на сообщение и\n" -" скопируйте его Id.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " +msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " -msgstr "Удалить последние X сообщений.\n\n" -" Пример:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " +msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "Очистить командные сообщения и сообщения от бота." -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " -msgstr "Очистить сообщения, принадлежащие боту.\n\n" -" По умолчанию очищаются все сообщения. Если указан третий аргумент,\n" -" он используется для сопоставления с образцом: если он начинается с r\n" -" (и заканчивается), то он интерпретируется как регулярное выражение,\n" -" и соответствующие ему сообщения удаляются. В противном случае он\n" -" используется в простом тесте подстроки.\n\n" -" Некоторые полезные флаги регулярных выражений для включения в ваш шаблон:\n" -" Точки соответствуют символам новой строки: (?s); Игнорировать случай: (?i); Оба: (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." +msgstr "{} не похож на действительный ID сообщения." diff --git a/redbot/cogs/cleanup/locales/sk-SK.po b/redbot/cogs/cleanup/locales/sk-SK.po index cdd319241..2b8b3bb40 100644 --- a/redbot/cogs/cleanup/locales/sk-SK.po +++ b/redbot/cogs/cleanup/locales/sk-SK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Slovak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,86 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: sk_SK\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." msgstr "" diff --git a/redbot/cogs/cleanup/locales/sv-SE.po b/redbot/cogs/cleanup/locales/sv-SE.po index 563f4bdb1..2c6ea5f77 100644 --- a/redbot/cogs/cleanup/locales/sv-SE.po +++ b/redbot/cogs/cleanup/locales/sv-SE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,86 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: sv_SE\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "Avbruten." -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "Meddelandet kunde inte hittas." -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." msgstr "" diff --git a/redbot/cogs/cleanup/locales/tr-TR.po b/redbot/cogs/cleanup/locales/tr-TR.po index 50fd9f3a4..b047ef0a0 100644 --- a/redbot/cogs/cleanup/locales/tr-TR.po +++ b/redbot/cogs/cleanup/locales/tr-TR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,110 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: tr_TR\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "İletileri temizleme için komutları." -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "{number} iletileri silmek istediğinizden emin misiniz? (e/h)" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "İptal." -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "Mesajları sil." -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " -msgstr "Belirtilen metin eşleştirme mesajları Sil son X.\n\n" -" örnek:\n" -"
'2
, temizleme metin \"test\" 5'\n\n" -" çift tırnak işaretleri kullanmak için anımsa.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " +msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " -msgstr "Son X iletileri belirtilen bir kullanıcının bağlantısını sil.\n\n" -" örnekler:\n" -" '[p]Temizleme Kullanıcı @ yaklaştın 2'\n" -" '[p]Temizleme Kullanıcı kırmızı 6' < div class = \"notr anslate \"> 5 " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " +msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " -msgstr "Tüm iletileri sonra belirtilen ileti silme.\n\n" -" bir ileti kimliği almak için anlaşmazlık'ın\n" -" ayarları, 'Görünüm' sekmesi Geliştirici modunu etkinleştirin. O zaman doğru tıkırtı bir ileti\n" -" ve onun kimliğini kopyalayın.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " +msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "Mesaj bulunamadı." -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " -msgstr "Belirtilen ileti önce siler X iletileri.\n\n" -" bir ileti kimliği almak için anlaşmazlık'ın\n" -" ayarları, 'Görünüm' sekmesi Geliştirici modunu etkinleştirin. O zaman doğru tıkırtı bir ileti\n" -" ve onun kimliğini kopyalayın.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " +msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " -msgstr "Mesajları sil son X.\n\n" -" örnek:\n" -"
'2
Temizleme 26 mesajları'\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " +msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "Komut mesajlarını ve mesajları bottan temizleyin." -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " -msgstr "Bot tarafından sahip olunan mesajları temizleyin.\n\n" -" Varsayılan olarak, tüm mesajlar temizlenir. Üçüncü bir argüman belirtilmişse,\n" -" desen eşleşmesi için kullanılır: Eğer r ile başlarsa (ve ile biterse),\n" -" o zaman bir regex olarak yorumlanır ve onunla eşleşen mesajlar\n" -" silindi. Aksi halde, basit bir alt dizgi testinde kullanılır.\n\n" -" Desene dahil etmek için bazı yararlı normal ifadeler:\n" -" Noktalar yeni satırlarla eşleşir: (? S); Yoksay: (? İ); İkisi de: (? Si) " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." +msgstr "" diff --git a/redbot/cogs/cleanup/locales/zh-CN.po b/redbot/cogs/cleanup/locales/zh-CN.po index 5d8b40f97..f394455ab 100644 --- a/redbot/cogs/cleanup/locales/zh-CN.po +++ b/redbot/cogs/cleanup/locales/zh-CN.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,86 +16,69 @@ msgstr "" "X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" "Language: zh_CN\n" -#: redbot/cogs/cleanup/cleanup.py:19 +#: redbot/cogs/cleanup/cleanup.py:22 #, docstring msgid "Commands for cleaning up messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:36 +#: redbot/cogs/cleanup/cleanup.py:42 msgid "Are you sure you want to delete {number} messages? (y/n)" msgstr "" -#: redbot/cogs/cleanup/cleanup.py:48 +#: redbot/cogs/cleanup/cleanup.py:54 msgid "Cancelled." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:107 +#: redbot/cogs/cleanup/cleanup.py:113 #, docstring msgid "Delete messages." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:116 +#: redbot/cogs/cleanup/cleanup.py:122 #, docstring -msgid "Delete the last X messages matching the specified text.\n\n" -" Example:\n" -" `[p]cleanup text \"test\" 5`\n\n" -" Remember to use double quotes.\n" -" " +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:161 +#: redbot/cogs/cleanup/cleanup.py:167 #, docstring -msgid "Delete the last X messages from a specified user.\n\n" -" Examples:\n" -" `[p]cleanup user @​Twentysix 2`\n" -" `[p]cleanup user Red 6`\n" -" " +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:215 +#: redbot/cogs/cleanup/cleanup.py:223 #, docstring -msgid "Delete all messages after a specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:228 redbot/cogs/cleanup/cleanup.py:260 +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 msgid "Message not found." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:247 +#: redbot/cogs/cleanup/cleanup.py:259 #, docstring -msgid "Deletes X messages before specified message.\n\n" -" To get a message id, enable developer mode in Discord's\n" -" settings, 'appearance' tab. Then right click a message\n" -" and copy its id.\n" -" " +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:278 +#: redbot/cogs/cleanup/cleanup.py:296 #, docstring -msgid "Delete the last X messages.\n\n" -" Example:\n" -" `[p]cleanup messages 26`\n" -" " +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " msgstr "" -#: redbot/cogs/cleanup/cleanup.py:308 +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 #, docstring msgid "Clean up command messages and messages from the bot." msgstr "" -#: redbot/cogs/cleanup/cleanup.py:383 +#: redbot/cogs/cleanup/cleanup.py:437 #, docstring -msgid "Clean up messages owned by the bot.\n\n" -" By default, all messages are cleaned. If a third argument is specified,\n" -" it is used for pattern matching: If it begins with r( and ends with ),\n" -" then it is interpreted as a regex, and messages that match it are\n" -" deleted. Otherwise, it is used in a simple substring test.\n\n" -" Some helpful regex flags to include in your pattern:\n" -" Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\n" -" " +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." msgstr "" diff --git a/redbot/cogs/cleanup/locales/zh-TW.po b/redbot/cogs/cleanup/locales/zh-TW.po new file mode 100644 index 000000000..0685fc4f0 --- /dev/null +++ b/redbot/cogs/cleanup/locales/zh-TW.po @@ -0,0 +1,84 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Chinese Traditional\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /cogs/cleanup/locales/messages.pot\n" +"Language: zh_TW\n" + +#: redbot/cogs/cleanup/cleanup.py:22 +#, docstring +msgid "Commands for cleaning up messages." +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:42 +msgid "Are you sure you want to delete {number} messages? (y/n)" +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:54 +msgid "Cancelled." +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:113 +#, docstring +msgid "Delete messages." +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:122 +#, docstring +msgid "Delete the last X messages matching the specified text.\\n\\n Example:\\n `[p]cleanup text \\\"test\\\" 5`\\n\\n Remember to use double quotes.\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:167 +#, docstring +msgid "Delete the last X messages from a specified user.\\n\\n Examples:\\n `[p]cleanup user @​Twentysix 2`\\n `[p]cleanup user Red 6`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:223 +#, docstring +msgid "Delete all messages after a specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:236 redbot/cogs/cleanup/cleanup.py:272 +msgid "Message not found." +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:259 +#, docstring +msgid "Deletes X messages before specified message.\\n\\n To get a message id, enable developer mode in Discord's\\n settings, 'appearance' tab. Then right click a message\\n and copy its id.\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:296 +#, docstring +msgid "Delete the messages between Messsage One and Message Two, providing the messages IDs.\\n\\n The first message ID should be the older message and the second one the newer.\\n\\n Example:\\n `[p]cleanup between 123456789123456789 987654321987654321`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:332 +#, docstring +msgid "Delete the last X messages.\\n\\n Example:\\n `[p]cleanup messages 26`\\n " +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:362 +#, docstring +msgid "Clean up command messages and messages from the bot." +msgstr "" + +#: redbot/cogs/cleanup/cleanup.py:437 +#, docstring +msgid "Clean up messages owned by the bot.\\n\\n By default, all messages are cleaned. If a third argument is specified,\\n it is used for pattern matching: If it begins with r( and ends with ),\\n then it is interpreted as a regex, and messages that match it are\\n deleted. Otherwise, it is used in a simple substring test.\\n\\n Some helpful regex flags to include in your pattern:\\n Dots match newlines: (?s); Ignore case: (?i); Both: (?si)\\n " +msgstr "" + +#: redbot/cogs/cleanup/converters.py:12 +msgid "{} doesn't look like a valid message ID." +msgstr "" + diff --git a/redbot/cogs/customcom/locales/ar-SA.po b/redbot/cogs/customcom/locales/ar-SA.po index 092209cff..351bb533f 100644 --- a/redbot/cogs/customcom/locales/ar-SA.po +++ b/redbot/cogs/customcom/locales/ar-SA.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: ar_SA\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -29,157 +28,166 @@ msgstr "" msgid "Random responses must take the same arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "" -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "" -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "" -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "" -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "" -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "" -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "" - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "" -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "" -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "" -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "" -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "" -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/bg-BG.po b/redbot/cogs/customcom/locales/bg-BG.po index 4034a2820..4dc4a7707 100644 --- a/redbot/cogs/customcom/locales/bg-BG.po +++ b/redbot/cogs/customcom/locales/bg-BG.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Bulgarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: bg_BG\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -29,157 +28,166 @@ msgstr "" msgid "Random responses must take the same arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "" -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "" -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "" -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "" -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "" -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "" -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "" - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "" -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "" -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "" -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "" -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "" -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/cs-CZ.po b/redbot/cogs/customcom/locales/cs-CZ.po new file mode 100644 index 000000000..2a27b7eeb --- /dev/null +++ b/redbot/cogs/customcom/locales/cs-CZ.po @@ -0,0 +1,193 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: cs\n" +"X-Crowdin-File: /cogs/customcom/locales/messages.pot\n" +"Language: cs_CZ\n" + +#: redbot/cogs/customcom/customcom.py:51 +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:62 +msgid "Add a random response:" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:74 +msgid "Random responses must take the same arguments!" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:139 +msgid "Do you want to create a 'randomized' custom command? (y/n)" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 +msgid "Response timed out, please try again later." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:150 +msgid "What response do you want?" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:190 +#, docstring +msgid "Creates commands used to display text." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:204 +#, docstring +msgid "Custom commands management." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:210 +#, docstring +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:220 +#, docstring +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 +msgid "Custom command successfully added." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 +msgid "This command already exists. Use `{command}` to edit it." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:238 +#, docstring +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:244 +msgid "There already exists a bot command with the same name." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:263 +#, docstring +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 +msgid "This command has no cooldown." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:289 +msgid "{} must be one of {}" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:293 +msgid "Custom command cooldown successfully edited." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 +msgid "That command doesn't exist. Use `{command}` to add it." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:304 +#, docstring +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:311 +msgid "Custom command successfully deleted." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:318 +#, docstring +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:325 +msgid "Custom command successfully edited." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:338 +#, docstring +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:347 +msgid "There are no custom commands in this server. Use `{command}` to start adding some." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:379 +msgid "Custom Command List" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:383 +msgid "Page {num}/{total}" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 +msgid "Too many arguments!" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:529 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." +msgstr "" + diff --git a/redbot/cogs/customcom/locales/da-DK.po b/redbot/cogs/customcom/locales/da-DK.po index dea089f47..ac1456980 100644 --- a/redbot/cogs/customcom/locales/da-DK.po +++ b/redbot/cogs/customcom/locales/da-DK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: da_DK\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -29,157 +28,166 @@ msgstr "" msgid "Random responses must take the same arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "" -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "" -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "" -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "" -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "" -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "" -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "" - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "" -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "" -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "" -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "" -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "" -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/de-DE.po b/redbot/cogs/customcom/locales/de-DE.po index 3cdd52cb3..a99601566 100644 --- a/redbot/cogs/customcom/locales/de-DE.po +++ b/redbot/cogs/customcom/locales/de-DE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: de_DE\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -27,165 +26,168 @@ msgstr "Füge eine zufällige Antwort hinzu:" #: redbot/cogs/customcom/customcom.py:74 msgid "Random responses must take the same arguments!" -msgstr "" +msgstr "Zufällige Antworten müssen die selben Argumente entgegennehmen!" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" -msgstr "" +msgstr "Möchtest du einen 'zufälligen' benutzerdefinierten Befehl erstellen? (y/n)" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." -msgstr "" +msgstr "Antwortzeitlimit erreicht, bitte versuche es später erneut." -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "Welche Reaktion willst du?" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." -msgstr "" +msgstr "Erstellt Befehle, die Texte ausgeben." -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." -msgstr "" +msgstr "Benutzerdefinierte Befehle verwalten." -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "Benutzerdefinierter Befehl erfolgreich hinzugefügt." -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." -msgstr "" +msgstr "Dieser Befehl existiert bereits. Verwende `{command}` um ihn zu editieren." -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." -msgstr "" +msgstr "Es existiert bereits ein Bot Befehl mit dem selben Namen." -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "Dieser Befehl existiert nicht." - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 -msgid "This command has no cooldown." -msgstr "Dieser Command hat keinen Cooldown." +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "Dieser Befehl existiert nicht." -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "Ein {} darf diesen Befehl alle {} Sekunden aufrufen" + +#: redbot/cogs/customcom/customcom.py:285 +msgid "This command has no cooldown." +msgstr "Dieser Befehl hat keine Abklingzeit." + +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "{} muss einer von {} sein" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." -msgstr "Custom Command Cooldown erfolgreich bearbeitet." +msgstr "Abklingzeit des benutzerdefinierten Befehls erfolgreich bearbeitet." -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." -msgstr "Dieser Command existiert nicht. Nutze `{command}`, um ihn hinzuzufügen." +msgstr "Dieser Befehl existiert nicht. Verwende `{command}`, um ihn hinzuzufügen." -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " -msgstr "Lösche einen Custom Command.\n\n" -" Beispiel:\n" -" - `[p]customcom delete deinCommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " +msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "Benutzerdefinierter Befehl erfolgreich gelöscht." -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " -msgstr "Bearbeite einen Custom Command.\n\n" -" Beispiel:\n" -" - `[p]customcom edit deinCommand Text`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " +msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "Benutzerdefinierter Befehl erfolgreich bearbeitet." -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." -msgstr "Es existieren keine Custom Commands auf diesem Server. Nutze `{command}`, um welche hinzuzufügen." +msgstr "Es existieren keine benutzerdefinierten Befehle auf diesem Server. Verwende `{command}`, um welche hinzuzufügen." -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" -msgstr "Custom Command Liste" +msgstr "Liste der benutzerdefinierten Befehle" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "Seite {num}/{total}" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "Zeigt die Einstellungen und Antworten eines benutzerdefinierten Befehls an." + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "Ich konnte diesen benutzerdefinierten Befehl nicht finden." + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "Zufall" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "Normal" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "Zu viele Argumente!" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +msgstr "Argumente müssen sequentiell sein. Fehlende Argumente: " + +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/el-GR.po b/redbot/cogs/customcom/locales/el-GR.po index 5f21e0867..eca414399 100644 --- a/redbot/cogs/customcom/locales/el-GR.po +++ b/redbot/cogs/customcom/locales/el-GR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: el_GR\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -29,157 +28,166 @@ msgstr "" msgid "Random responses must take the same arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "" -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "" -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "" -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "" -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "" -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "" -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "" - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "" -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "" -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "" -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "" -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "" -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/en-PT.po b/redbot/cogs/customcom/locales/en-PT.po index 3b8bf6284..42f2ce6e1 100644 --- a/redbot/cogs/customcom/locales/en-PT.po +++ b/redbot/cogs/customcom/locales/en-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Pirate English\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: en_PT\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -29,157 +28,166 @@ msgstr "" msgid "Random responses must take the same arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "" -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "" -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "" -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "" -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "" -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "" -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "" - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "" -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "" -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "" -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "" -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "" -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/es-ES.po b/redbot/cogs/customcom/locales/es-ES.po index 9e9dc7268..c7c848f75 100644 --- a/redbot/cogs/customcom/locales/es-ES.po +++ b/redbot/cogs/customcom/locales/es-ES.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: es_ES\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -29,157 +28,166 @@ msgstr "Agrega una respuesta aleatoria:" msgid "Random responses must take the same arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "" -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "¿Qué tipo de respuesta quieres?" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "" -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "" -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "Comando personalizado añadido satifactoriamente." -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "" -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "" -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "Este comando no existe." - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "Este comando no existe." + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "" -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "" -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "Comando personalizado eliminado satifactoriamente." -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "Comando personalizado editado con éxito." -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "" -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "" -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/fi-FI.po b/redbot/cogs/customcom/locales/fi-FI.po index 9d132a036..ecd27f039 100644 --- a/redbot/cogs/customcom/locales/fi-FI.po +++ b/redbot/cogs/customcom/locales/fi-FI.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: fi_FI\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -29,157 +28,166 @@ msgstr "" msgid "Random responses must take the same arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "" -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "" -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "" -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "" -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "" -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "" -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "" - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "" -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "" -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "" -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "" -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "" -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/fr-FR.po b/redbot/cogs/customcom/locales/fr-FR.po index 338978a28..4a230b8cb 100644 --- a/redbot/cogs/customcom/locales/fr-FR.po +++ b/redbot/cogs/customcom/locales/fr-FR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:11\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,169 +17,177 @@ msgstr "" "Language: fr_FR\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 msgid "Add a random response:" -msgstr "Ajouter une réponse aléatoire:" +msgstr "Ajouter une réponse aléatoire :" #: redbot/cogs/customcom/customcom.py:74 msgid "Random responses must take the same arguments!" -msgstr "" +msgstr "Les réponses aléatoires doivent prendre les mêmes arguments !" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" -msgstr "" +msgstr "Voulez-vous créer une commande personnalisée 'aléatoire' ? (y/n)" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." -msgstr "" +msgstr "Requête expirée, veuillez réessayer ultérieurement." -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" -msgstr "Quelle réponse voulez-vous?" +msgstr "Quelle réponse voulez-vous ?" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." -msgstr "" +msgstr "Crée des commandes utilisées pour afficher du texte." -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." -msgstr "" +msgstr "Gestion des commandes personnalisées." -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "Commande personnalisée ajoutée avec succès." -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." -msgstr "" +msgstr "Cette commande existe déjà. Utilisez `{command}` pour la modifier." -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." -msgstr "" +msgstr "Il existe déjà une commande du bot avec le même nom." -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "Cette commande n'existe pas." - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "Cette commande n'existe pas." + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "Un {} peut appeler cette commande toutes les {} secondes" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." -msgstr "" +msgstr "Cette commande n'a pas de cooldown." -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" -msgstr "" +msgstr "{} doit être l'un des {}" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." -msgstr "" +msgstr "Le cooldown de commande personnalisé a été modifié avec succès." -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." -msgstr "" +msgstr "Cette commande n'existe pas. Utilisez `{command}` pour l'ajouter." -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "La commande personnalisée a été supprimée avec succès." -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "Commande personnalisée modifiée avec succès." -#: redbot/cogs/customcom/customcom.py:329 -#, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " -msgstr "" - #: redbot/cogs/customcom/customcom.py:338 +#, docstring +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." -msgstr "" +msgstr "Il n'y a pas de commandes personnalisées dans ce serveur. Utilisez `{command}` pour commencer à en ajouter." -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" -msgstr "" +msgstr "Liste de commandes personnalisées" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" +msgstr "Page {num}/{total}" + +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" -msgstr "" +msgstr "Trop d'arguments !" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +msgstr "Les arguments doivent être séquentiels. Arguments manquants : " + +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/hu-HU.po b/redbot/cogs/customcom/locales/hu-HU.po index d424910cd..f611d984e 100644 --- a/redbot/cogs/customcom/locales/hu-HU.po +++ b/redbot/cogs/customcom/locales/hu-HU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: hu_HU\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -29,157 +28,166 @@ msgstr "" msgid "Random responses must take the same arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "" -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "" -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "" -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "" -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "" -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "" -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "" - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "" -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "" -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "" -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "" -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "" -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/id-ID.po b/redbot/cogs/customcom/locales/id-ID.po index f104a218e..0f3bd503f 100644 --- a/redbot/cogs/customcom/locales/id-ID.po +++ b/redbot/cogs/customcom/locales/id-ID.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: id_ID\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -29,157 +28,166 @@ msgstr "Tambahkan tanggapan acak:" msgid "Random responses must take the same arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "" -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "Tanggapan apa yang anda inginkan?" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "" -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "" -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "Perintah kustom berhasil ditambahkan." -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "" -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "" -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "Perintah tersebut tidak ada." - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "Perintah tersebut tidak ada." + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "" -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "" -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "Perintah kustom berhasil dihapus." -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "Perintah kustom berhasil diubah." -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "" -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "" -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/it-IT.po b/redbot/cogs/customcom/locales/it-IT.po index 4badd79e0..4e41c15da 100644 --- a/redbot/cogs/customcom/locales/it-IT.po +++ b/redbot/cogs/customcom/locales/it-IT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: it_IT\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -29,157 +28,166 @@ msgstr "Aggiungere una risposta casuale:" msgid "Random responses must take the same arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "" -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "Quale risposta vuoi?" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "" -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "" -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "Comando personalizzato aggiunto con successo." -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "" -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "" -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "Tale comando non esiste." - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "Tale comando non esiste." + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "" -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "" -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "Comando personalizzato eliminato correttamente." -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "Comando personalizzato modificato con successo." -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "" -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "" -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/ja-JP.po b/redbot/cogs/customcom/locales/ja-JP.po index caec9e70c..60dc07063 100644 --- a/redbot/cogs/customcom/locales/ja-JP.po +++ b/redbot/cogs/customcom/locales/ja-JP.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: ja_JP\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -29,157 +28,166 @@ msgstr "" msgid "Random responses must take the same arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "" -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "" -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "" -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "" -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "" -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "" -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "" - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "" -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "" -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "" -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "" -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "" -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/ko-KR.po b/redbot/cogs/customcom/locales/ko-KR.po index 312b0688b..3473f423c 100644 --- a/redbot/cogs/customcom/locales/ko-KR.po +++ b/redbot/cogs/customcom/locales/ko-KR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: ko_KR\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -29,157 +28,166 @@ msgstr "등록된 랜덤 대답 리스트 :" msgid "Random responses must take the same arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "" -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "어떤 대답을 원해요?" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "" -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "" -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "커스텀 커맨드가 성공적으로 추가됐어요." -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "" -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "" -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "해당 커맨드는 추가되어 있지 않아요." - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "해당 커맨드는 추가되어 있지 않아요." + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "" -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "" -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "커스텀 커맨드가 성공적으로 삭제됐어요." -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "커스텀 커맨드가 성공적으로 수정됐어요." -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "" -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "" -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/lol-US.po b/redbot/cogs/customcom/locales/lol-US.po index 6681d190e..1ebc2f52c 100644 --- a/redbot/cogs/customcom/locales/lol-US.po +++ b/redbot/cogs/customcom/locales/lol-US.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: LOLCAT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: lol_US\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -29,157 +28,166 @@ msgstr "" msgid "Random responses must take the same arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "" -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "" -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "" -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "" -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "" -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "" -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "" - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "" -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "" -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "" -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "" -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "" -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/nl-NL.po b/redbot/cogs/customcom/locales/nl-NL.po index 185a71283..1e28d2366 100644 --- a/redbot/cogs/customcom/locales/nl-NL.po +++ b/redbot/cogs/customcom/locales/nl-NL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: nl_NL\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -29,157 +28,166 @@ msgstr "Voer een willekeurig antwoord in:" msgid "Random responses must take the same arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "" -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "" -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "" -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "" -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "" -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "" -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "" - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "" -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "" -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "" -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "" -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "" -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/no-NO.po b/redbot/cogs/customcom/locales/no-NO.po index a26f2aa49..519f43f01 100644 --- a/redbot/cogs/customcom/locales/no-NO.po +++ b/redbot/cogs/customcom/locales/no-NO.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Norwegian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: no_NO\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -29,157 +28,166 @@ msgstr "" msgid "Random responses must take the same arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "" -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "" -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "" -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "" -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "" -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "" -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "" - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "" -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "" -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "" -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "" -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "" -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/pl-PL.po b/redbot/cogs/customcom/locales/pl-PL.po index 5df54c0c6..03700e162 100644 --- a/redbot/cogs/customcom/locales/pl-PL.po +++ b/redbot/cogs/customcom/locales/pl-PL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: pl_PL\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -29,157 +28,166 @@ msgstr "" msgid "Random responses must take the same arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "" -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "" -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "" -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "" -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "" -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "" -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "" - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "" -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "" -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "" -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "" -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "" -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/pt-BR.po b/redbot/cogs/customcom/locales/pt-BR.po index 956717991..e40340055 100644 --- a/redbot/cogs/customcom/locales/pt-BR.po +++ b/redbot/cogs/customcom/locales/pt-BR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese, Brazilian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: pt_BR\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -29,157 +28,166 @@ msgstr "" msgid "Random responses must take the same arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "" -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "" -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "" -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "" -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "" -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "" -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "" - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "" -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "" -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "" -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "" -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "" -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/pt-PT.po b/redbot/cogs/customcom/locales/pt-PT.po index 1bb75e721..76005c514 100644 --- a/redbot/cogs/customcom/locales/pt-PT.po +++ b/redbot/cogs/customcom/locales/pt-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: pt_PT\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -29,157 +28,166 @@ msgstr "" msgid "Random responses must take the same arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "" -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "" -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "" -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "" -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "" -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "" -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "" - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "" -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "" -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "" -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "" -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "" -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/ro-RO.po b/redbot/cogs/customcom/locales/ro-RO.po new file mode 100644 index 000000000..3e039dc7d --- /dev/null +++ b/redbot/cogs/customcom/locales/ro-RO.po @@ -0,0 +1,193 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:09\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Romanian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /cogs/customcom/locales/messages.pot\n" +"Language: ro_RO\n" + +#: redbot/cogs/customcom/customcom.py:51 +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:62 +msgid "Add a random response:" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:74 +msgid "Random responses must take the same arguments!" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:139 +msgid "Do you want to create a 'randomized' custom command? (y/n)" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 +msgid "Response timed out, please try again later." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:150 +msgid "What response do you want?" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:190 +#, docstring +msgid "Creates commands used to display text." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:204 +#, docstring +msgid "Custom commands management." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:210 +#, docstring +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:220 +#, docstring +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 +msgid "Custom command successfully added." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 +msgid "This command already exists. Use `{command}` to edit it." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:238 +#, docstring +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:244 +msgid "There already exists a bot command with the same name." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:263 +#, docstring +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 +msgid "This command has no cooldown." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:289 +msgid "{} must be one of {}" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:293 +msgid "Custom command cooldown successfully edited." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 +msgid "That command doesn't exist. Use `{command}` to add it." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:304 +#, docstring +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:311 +msgid "Custom command successfully deleted." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:318 +#, docstring +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:325 +msgid "Custom command successfully edited." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:338 +#, docstring +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:347 +msgid "There are no custom commands in this server. Use `{command}` to start adding some." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:379 +msgid "Custom Command List" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:383 +msgid "Page {num}/{total}" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 +msgid "Too many arguments!" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:529 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." +msgstr "" + diff --git a/redbot/cogs/customcom/locales/ru-RU.po b/redbot/cogs/customcom/locales/ru-RU.po index f55f976df..07bede30c 100644 --- a/redbot/cogs/customcom/locales/ru-RU.po +++ b/redbot/cogs/customcom/locales/ru-RU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 05:52\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,10 +17,8 @@ msgstr "" "Language: ru_RU\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" -msgstr "Добро пожаловать в интерактивную программу случайных {cc}!\n" -"Каждое отправленное вами сообщение будет добавлено в качестве одного из случайных ответов на выбор после запуска {cc}. Чтобы выйти из этого интерактивного меню, введите `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgstr "" #: redbot/cogs/customcom/customcom.py:62 msgid "Add a random response:" @@ -30,183 +28,166 @@ msgstr "Добавить случайный ответ:" msgid "Random responses must take the same arguments!" msgstr "Случайные ответы должны принимать те же аргументы!" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "Вы хотите создать 'произвольную' пользовательскую команду? (y/n)" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "Время ответа истекло, повторите попытку позже." -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "Какой ответ вы хотите?" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "Создает команды, используемые для отображения текста." -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "Управление пользовательскими командами." -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " -msgstr "Создать пользовательские команды.\n\n" -" ПК могут быть дополнены аргументами, см. руководство\n" -" [здесь](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " +msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " -msgstr "Создать пользовательскую команду, в которой она будет случайным образом выбирать ответ!\n\n" -" Примечание: Эта команда является интерактивной.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " +msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "Пользовательская команда успешно добавлена." -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "Эта команда уже существует. Используйте `{command}` для редактирования." -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " -msgstr "Добавить простую пользовательскую команду.\n\n" -" Пример:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " +msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "Уже существует команда бота с таким же именем." -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "Установить, отредактировать или просмотреть время восстановления для пользовательской команды.\n\n" -" Вы можете установить время восстановления для каждого\n" -" участника, канала или гильдии. Можно установить несколько\n" -" перезарядок. Все перезарядки должны быть сброшены,\n" -" чтобы вызвать пользовательскую команду.\n\n" -" Пример:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " +msgstr "" -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 +#: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 msgid "That command doesn't exist." msgstr "Такой команды не существует." -#: redbot/cogs/customcom/customcom.py:272 +#: redbot/cogs/customcom/customcom.py:281 msgid "A {} may call this command every {} seconds" msgstr "{} может вызывать эту команду каждые {} секунд" -#: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "Эта команда не имеет времени восстановления." -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "{} должен быть одним из {}" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "Время восстановления пользовательской команды успешно отредактировано." -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "Эта команда не существует. Используйте `{command}`, чтобы добавить ее." -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " -msgstr "Удалить пользовательскую команду\n" -".\n" -" Пример:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " +msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "Пользовательская команда успешно удалена." -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " -msgstr "Редактировать пользовательскую команду.\n\n" -" Пример:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " +msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "Пользовательская команда успешно отредактирована." -#: redbot/cogs/customcom/customcom.py:329 -#, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " -msgstr "Список всех доступных пользовательских команд.\n\n" -" В списке отображается предварительный просмотр ответа\n" -" каждой команды, с экранированной уценкой и символами\n" -" новой строки, замененными пробелами.\n" -" " - #: redbot/cogs/customcom/customcom.py:338 +#, docstring +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "На этом сервере нет пользовательских команд. Используйте `{command}`, чтобы начать добавлять некоторые." -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "Список пользовательских команд" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "Страница {num}/{total}" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "Слишком много аргументов!" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "Аргументы должны быть последовательными. Отсутствующие аргументы: " -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." -msgstr "Противоречивая запись двоеточия для аргумента {index}: \"{name1}\" и \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." +msgstr "" diff --git a/redbot/cogs/customcom/locales/sk-SK.po b/redbot/cogs/customcom/locales/sk-SK.po index 104039f39..9065ab154 100644 --- a/redbot/cogs/customcom/locales/sk-SK.po +++ b/redbot/cogs/customcom/locales/sk-SK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Slovak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: sk_SK\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -29,157 +28,166 @@ msgstr "" msgid "Random responses must take the same arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "" -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "" -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "" -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "" -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "" -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "" -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "" - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "" -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "" -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "" -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "" -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "" -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/sv-SE.po b/redbot/cogs/customcom/locales/sv-SE.po index ef47f4841..96b82f4e7 100644 --- a/redbot/cogs/customcom/locales/sv-SE.po +++ b/redbot/cogs/customcom/locales/sv-SE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: sv_SE\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -29,157 +28,166 @@ msgstr "Lägg till ett slumpmässigt svar:" msgid "Random responses must take the same arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "" -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "Vilket svar vill du ha?" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "" -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "" -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "Det anpassade kommandot har lagts till." -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "" -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "" -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "Det kommandot finns inte." - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "Det kommandot finns inte." + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "" -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "" -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "Det anpassade kommandot är nu borttaget." -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "Det anpassade kommandot har nu ändrats." -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "" -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "" -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/tr-TR.po b/redbot/cogs/customcom/locales/tr-TR.po index ede89fd54..d865564f3 100644 --- a/redbot/cogs/customcom/locales/tr-TR.po +++ b/redbot/cogs/customcom/locales/tr-TR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: tr_TR\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -29,157 +28,166 @@ msgstr "" msgid "Random responses must take the same arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "" -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "" -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "" -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "" -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "" -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "" -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "" - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "" -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "" -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "" -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "" -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "" -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/zh-CN.po b/redbot/cogs/customcom/locales/zh-CN.po index a32d63f99..13e9767f6 100644 --- a/redbot/cogs/customcom/locales/zh-CN.po +++ b/redbot/cogs/customcom/locales/zh-CN.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,8 +17,7 @@ msgstr "" "Language: zh_CN\n" #: redbot/cogs/customcom/customcom.py:51 -msgid "Welcome to the interactive random {cc} maker!\n" -"Every message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" msgstr "" #: redbot/cogs/customcom/customcom.py:62 @@ -29,157 +28,166 @@ msgstr "" msgid "Random responses must take the same arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:130 +#: redbot/cogs/customcom/customcom.py:139 msgid "Do you want to create a 'randomized' custom command? (y/n)" msgstr "" -#: redbot/cogs/customcom/customcom.py:136 -#: redbot/cogs/customcom/customcom.py:147 +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 msgid "Response timed out, please try again later." msgstr "" -#: redbot/cogs/customcom/customcom.py:141 +#: redbot/cogs/customcom/customcom.py:150 msgid "What response do you want?" msgstr "" -#: redbot/cogs/customcom/customcom.py:181 +#: redbot/cogs/customcom/customcom.py:190 #, docstring msgid "Creates commands used to display text." msgstr "" -#: redbot/cogs/customcom/customcom.py:195 +#: redbot/cogs/customcom/customcom.py:204 #, docstring msgid "Custom commands management." msgstr "" -#: redbot/cogs/customcom/customcom.py:201 +#: redbot/cogs/customcom/customcom.py:210 #, docstring -msgid "Create custom commands.\n\n" -" CCs can be enhanced with arguments, see the guide\n" -" [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\n" -" " +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:211 +#: redbot/cogs/customcom/customcom.py:220 #, docstring -msgid "Create a CC where it will randomly choose a response!\n\n" -" Note: This command is interactive.\n" -" " +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:218 -#: redbot/cogs/customcom/customcom.py:239 +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 msgid "Custom command successfully added." msgstr "" -#: redbot/cogs/customcom/customcom.py:221 -#: redbot/cogs/customcom/customcom.py:242 +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 msgid "This command already exists. Use `{command}` to edit it." msgstr "" -#: redbot/cogs/customcom/customcom.py:229 +#: redbot/cogs/customcom/customcom.py:238 #, docstring -msgid "Add a simple custom command.\n\n" -" Example:\n" -" - `[p]customcom create simple yourcommand Text you want`\n" -" " +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:235 +#: redbot/cogs/customcom/customcom.py:244 msgid "There already exists a bot command with the same name." msgstr "" -#: redbot/cogs/customcom/customcom.py:254 +#: redbot/cogs/customcom/customcom.py:263 #, docstring -msgid "Set, edit, or view the cooldown for a custom command.\n\n" -" You may set cooldowns per member, channel, or guild. Multiple\n" -" cooldowns may be set. All cooldowns must be cooled to call the\n" -" custom command.\n\n" -" Example:\n" -" - `[p]customcom cooldown yourcommand 30`\n" -" " -msgstr "" - -#: redbot/cogs/customcom/customcom.py:267 -#: redbot/cogs/customcom/customcom.py:304 -msgid "That command doesn't exist." -msgstr "" - -#: redbot/cogs/customcom/customcom.py:272 -msgid "A {} may call this command every {} seconds" +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " msgstr "" #: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 msgid "This command has no cooldown." msgstr "" -#: redbot/cogs/customcom/customcom.py:280 +#: redbot/cogs/customcom/customcom.py:289 msgid "{} must be one of {}" msgstr "" -#: redbot/cogs/customcom/customcom.py:284 +#: redbot/cogs/customcom/customcom.py:293 msgid "Custom command cooldown successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:287 -#: redbot/cogs/customcom/customcom.py:319 +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 msgid "That command doesn't exist. Use `{command}` to add it." msgstr "" -#: redbot/cogs/customcom/customcom.py:295 +#: redbot/cogs/customcom/customcom.py:304 #, docstring -msgid "Delete a custom command\n" -".\n" -" Example:\n" -" - `[p]customcom delete yourcommand`\n" -" " +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:302 +#: redbot/cogs/customcom/customcom.py:311 msgid "Custom command successfully deleted." msgstr "" -#: redbot/cogs/customcom/customcom.py:309 +#: redbot/cogs/customcom/customcom.py:318 #, docstring -msgid "Edit a custom command.\n\n" -" Example:\n" -" - `[p]customcom edit yourcommand Text you want`\n" -" " +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:316 +#: redbot/cogs/customcom/customcom.py:325 msgid "Custom command successfully edited." msgstr "" -#: redbot/cogs/customcom/customcom.py:329 +#: redbot/cogs/customcom/customcom.py:338 #, docstring -msgid "List all available custom commands.\n\n" -" The list displays a preview of each command's response, with\n" -" markdown escaped and newlines replaced with spaces.\n" -" " +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " msgstr "" -#: redbot/cogs/customcom/customcom.py:338 +#: redbot/cogs/customcom/customcom.py:347 msgid "There are no custom commands in this server. Use `{command}` to start adding some." msgstr "" -#: redbot/cogs/customcom/customcom.py:370 +#: redbot/cogs/customcom/customcom.py:379 msgid "Custom Command List" msgstr "" -#: redbot/cogs/customcom/customcom.py:374 +#: redbot/cogs/customcom/customcom.py:383 msgid "Page {num}/{total}" msgstr "" -#: redbot/cogs/customcom/customcom.py:467 +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 msgid "Too many arguments!" msgstr "" -#: redbot/cogs/customcom/customcom.py:471 +#: redbot/cogs/customcom/customcom.py:529 msgid "Arguments must be sequential. Missing arguments: " msgstr "" -#: redbot/cogs/customcom/customcom.py:497 -msgid "Conflicting colon notation for argument {index}: \"{name1}\" and \"{name2}\"." +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." msgstr "" diff --git a/redbot/cogs/customcom/locales/zh-TW.po b/redbot/cogs/customcom/locales/zh-TW.po new file mode 100644 index 000000000..74015e1d4 --- /dev/null +++ b/redbot/cogs/customcom/locales/zh-TW.po @@ -0,0 +1,193 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Chinese Traditional\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /cogs/customcom/locales/messages.pot\n" +"Language: zh_TW\n" + +#: redbot/cogs/customcom/customcom.py:51 +msgid "Welcome to the interactive random {cc} maker!\\nEvery message you send will be added as one of the random responses to choose from once this {cc} is triggered. To exit this interactive menu, type `{quit}`" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:62 +msgid "Add a random response:" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:74 +msgid "Random responses must take the same arguments!" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:139 +msgid "Do you want to create a 'randomized' custom command? (y/n)" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:145 +#: redbot/cogs/customcom/customcom.py:156 +msgid "Response timed out, please try again later." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:150 +msgid "What response do you want?" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:190 +#, docstring +msgid "Creates commands used to display text." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:204 +#, docstring +msgid "Custom commands management." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:210 +#, docstring +msgid "Create custom commands.\\n\\n CCs can be enhanced with arguments, see the guide\\n [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html).\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:220 +#, docstring +msgid "Create a CC where it will randomly choose a response!\\n\\n Note: This command is interactive.\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:227 +#: redbot/cogs/customcom/customcom.py:248 +msgid "Custom command successfully added." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:230 +#: redbot/cogs/customcom/customcom.py:251 +msgid "This command already exists. Use `{command}` to edit it." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:238 +#, docstring +msgid "Add a simple custom command.\\n\\n Example:\\n - `[p]customcom create simple yourcommand Text you want`\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:244 +msgid "There already exists a bot command with the same name." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:263 +#, docstring +msgid "Set, edit, or view the cooldown for a custom command.\\n\\n You may set cooldowns per member, channel, or guild. Multiple\\n cooldowns may be set. All cooldowns must be cooled to call the\\n custom command.\\n\\n Example:\\n - `[p]customcom cooldown yourcommand 30`\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:276 +#: redbot/cogs/customcom/customcom.py:313 +msgid "That command doesn't exist." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:281 +msgid "A {} may call this command every {} seconds" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:285 +msgid "This command has no cooldown." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:289 +msgid "{} must be one of {}" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:293 +msgid "Custom command cooldown successfully edited." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:296 +#: redbot/cogs/customcom/customcom.py:328 +msgid "That command doesn't exist. Use `{command}` to add it." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:304 +#, docstring +msgid "Delete a custom command.\\n\\n Example:\\n - `[p]customcom delete yourcommand`\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:311 +msgid "Custom command successfully deleted." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:318 +#, docstring +msgid "Edit a custom command.\\n\\n Example:\\n - `[p]customcom edit yourcommand Text you want`\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:325 +msgid "Custom command successfully edited." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:338 +#, docstring +msgid "List all available custom commands.\\n\\n The list displays a preview of each command's response, with\\n markdown escaped and newlines replaced with spaces.\\n " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:347 +msgid "There are no custom commands in this server. Use `{command}` to start adding some." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:379 +msgid "Custom Command List" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:383 +msgid "Page {num}/{total}" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:393 +#, docstring +msgid "Shows a custom command's reponses and its settings." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:398 +msgid "I could not not find that custom command." +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Random" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:413 +msgid "Normal" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:415 +msgid "Command: {command_name}\\nAuthor: {author}\\nCreated: {created_at}\\nType: {type}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:427 +msgid "Cooldowns:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:429 +msgid "{num} seconds per {period}\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:432 +msgid "Responses:\\n" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:525 +msgid "Too many arguments!" +msgstr "" + +#: redbot/cogs/customcom/customcom.py:529 +msgid "Arguments must be sequential. Missing arguments: " +msgstr "" + +#: redbot/cogs/customcom/customcom.py:555 +msgid "Conflicting colon notation for argument {index}: \\\"{name1}\\\" and \\\"{name2}\\\"." +msgstr "" + diff --git a/redbot/cogs/downloader/locales/ar-SA.po b/redbot/cogs/downloader/locales/ar-SA.po index bb61b48f4..f003ea7b8 100644 --- a/redbot/cogs/downloader/locales/ar-SA.po +++ b/redbot/cogs/downloader/locales/ar-SA.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,9 +17,7 @@ msgstr "" "Language: ar_SA\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." msgstr "" #: redbot/cogs/downloader/checks.py:36 @@ -35,203 +33,204 @@ msgstr "" msgid "That cog is not installed" msgstr "" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "" -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "" -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "" -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "" -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "" -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "" -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "" -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." msgstr "" -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "" -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." msgstr "" -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " msgstr "" -#: redbot/cogs/downloader/downloader.py:379 +#: redbot/cogs/downloader/downloader.py:418 msgid "All installed cogs are already up to date." msgstr "" -#: redbot/cogs/downloader/downloader.py:386 +#: redbot/cogs/downloader/downloader.py:425 msgid "None of the updated cogs were previously loaded. Update complete." msgstr "" -#: redbot/cogs/downloader/downloader.py:388 +#: redbot/cogs/downloader/downloader.py:429 msgid "Would you like to reload the updated cogs?" msgstr "" -#: redbot/cogs/downloader/downloader.py:416 +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." msgstr "" -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." msgstr "" -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" msgstr "" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "" #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." msgstr "" diff --git a/redbot/cogs/downloader/locales/bg-BG.po b/redbot/cogs/downloader/locales/bg-BG.po index 84d03b12d..43504dfc7 100644 --- a/redbot/cogs/downloader/locales/bg-BG.po +++ b/redbot/cogs/downloader/locales/bg-BG.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Bulgarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,9 +17,7 @@ msgstr "" "Language: bg_BG\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." msgstr "" #: redbot/cogs/downloader/checks.py:36 @@ -35,203 +33,204 @@ msgstr "" msgid "That cog is not installed" msgstr "" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "" -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "" -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "" -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "Това GIT хранилище вече е добавено под друго име." -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "Нещо се обърка при процеса на размножаване." -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "" -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "" -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." msgstr "" -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "" -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." msgstr "" -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "Актуализацията на COG е успешна." -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " msgstr "" -#: redbot/cogs/downloader/downloader.py:379 +#: redbot/cogs/downloader/downloader.py:418 msgid "All installed cogs are already up to date." msgstr "" -#: redbot/cogs/downloader/downloader.py:386 +#: redbot/cogs/downloader/downloader.py:425 msgid "None of the updated cogs were previously loaded. Update complete." msgstr "" -#: redbot/cogs/downloader/downloader.py:388 +#: redbot/cogs/downloader/downloader.py:429 msgid "Would you like to reload the updated cogs?" msgstr "" -#: redbot/cogs/downloader/downloader.py:416 +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." msgstr "" -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" -msgstr "Налични COG-ове:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" +msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." msgstr "" -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" msgstr "" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "Липсващо от info.json" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "Няма такава команда." #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." msgstr "" diff --git a/redbot/cogs/downloader/locales/cs-CZ.po b/redbot/cogs/downloader/locales/cs-CZ.po new file mode 100644 index 000000000..634ae739c --- /dev/null +++ b/redbot/cogs/downloader/locales/cs-CZ.po @@ -0,0 +1,236 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: cs\n" +"X-Crowdin-File: /cogs/downloader/locales/messages.pot\n" +"Language: cs_CZ\n" + +#: redbot/cogs/downloader/checks.py:12 +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." +msgstr "" + +#: redbot/cogs/downloader/checks.py:36 +msgid "Your response has timed out, please try again." +msgstr "" + +#: redbot/cogs/downloader/converters.py:14 +#: redbot/cogs/downloader/repo_manager.py:84 +msgid "No Downloader cog found." +msgstr "" + +#: redbot/cogs/downloader/converters.py:18 +msgid "That cog is not installed" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:198 +#, docstring +msgid "Install a group of dependencies using pip." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:206 +msgid "Libraries installed." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:209 +msgid "Some libraries failed to install. Please check your logs for a complete list." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:218 +#, docstring +msgid "Repo management commands." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:223 +#, docstring +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:235 +msgid "That git repo has already been added under another name." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:237 +msgid "Something went wrong during the cloning process." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:245 +msgid "Repo `{name}` successfully added." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:251 +#, docstring +msgid "Remove a repo and its files." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:255 +msgid "The repo `{repo.name}` has been deleted successfully." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:260 +#, docstring +msgid "List all installed repos." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:273 +#, docstring +msgid "Show information about a repo." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:275 +msgid "Repo `{repo.name}` not found." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:286 +#, docstring +msgid "Cog installation management commands." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:291 +#, docstring +msgid "Install a cog from the given repo." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:295 +msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:302 +msgid "This cog requires at least python version {version}, aborting install." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:353 +#, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring +msgid "Update all cogs, or one of your choosing." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:413 +msgid "Cog update completed successfully." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:418 +msgid "All installed cogs are already up to date." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:425 +msgid "None of the updated cogs were previously loaded. Update complete." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:429 +msgid "Would you like to reload the updated cogs?" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:452 +msgid "OK then." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:463 +#, docstring +msgid "List all available cogs from a single repo." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:488 +#, docstring +msgid "List information about a single cog." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:492 +msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:548 +msgid "Missing from info.json" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:550 +msgid "Missing from installed repos" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:582 +#, docstring +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:589 +msgid "That command doesn't seem to exist." +msgstr "" + +#: redbot/cogs/downloader/repo_manager.py:91 +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." +msgstr "" + diff --git a/redbot/cogs/downloader/locales/da-DK.po b/redbot/cogs/downloader/locales/da-DK.po index 3f4c593e2..d68fce863 100644 --- a/redbot/cogs/downloader/locales/da-DK.po +++ b/redbot/cogs/downloader/locales/da-DK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,9 +17,7 @@ msgstr "" "Language: da_DK\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." msgstr "" #: redbot/cogs/downloader/checks.py:36 @@ -35,203 +33,204 @@ msgstr "" msgid "That cog is not installed" msgstr "" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "" -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "" -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "" -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "" -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "" -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "" -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "" -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." msgstr "" -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "" -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." msgstr "" -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " msgstr "" -#: redbot/cogs/downloader/downloader.py:379 +#: redbot/cogs/downloader/downloader.py:418 msgid "All installed cogs are already up to date." msgstr "" -#: redbot/cogs/downloader/downloader.py:386 +#: redbot/cogs/downloader/downloader.py:425 msgid "None of the updated cogs were previously loaded. Update complete." msgstr "" -#: redbot/cogs/downloader/downloader.py:388 +#: redbot/cogs/downloader/downloader.py:429 msgid "Would you like to reload the updated cogs?" msgstr "" -#: redbot/cogs/downloader/downloader.py:416 +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." msgstr "" -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." msgstr "" -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" msgstr "" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "" #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." msgstr "" diff --git a/redbot/cogs/downloader/locales/de-DE.po b/redbot/cogs/downloader/locales/de-DE.po index 246f30afb..08aa7d8c7 100644 --- a/redbot/cogs/downloader/locales/de-DE.po +++ b/redbot/cogs/downloader/locales/de-DE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,16 +17,12 @@ msgstr "" "Language: de_DE\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." -msgstr "Du bist im begriff eine Drittanbieter Quelle hinzuzufügen. Der Schöpfer von Red und seine Community tragen keine Verantwortung für jeden möglichen Schaden den der Inhalt einer Drittanbieter Quelle verursachen könnte.\n\n" -"Indem du '**I agree**' tippst, erklärst du, dass du die obige Nachricht gelesen und vollständig verstanden hast. Diese Nachricht wird bis zum nächsten Neustart nicht erneut gezeigt.\n\n" -"Du hast **30** Sekunden um auf diese Nachricht zu reagieren." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." +msgstr "" #: redbot/cogs/downloader/checks.py:36 msgid "Your response has timed out, please try again." -msgstr "" +msgstr "Antwortzeitlimit wurde erreicht, bitte versuche es erneut." #: redbot/cogs/downloader/converters.py:14 #: redbot/cogs/downloader/repo_manager.py:84 @@ -37,203 +33,204 @@ msgstr "Keine Downloader Cog gefunden." msgid "That cog is not installed" msgstr "Diese Cog ist nicht installiert" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "Installiere eine Gruppe von Abhängigkeiten mit pip." -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "Bibliotheken installiert." -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "Manche Bibliotheken konnten nicht installiert werden. Bitte durchsuche deine Logs für eine komplette Liste." -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "Quellen Management Befehle." -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "Dieser git repo wurde bereits unter einem anderem Namen hinzugefügt." -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "Während des Klonens ist etwas schief gegangen." -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." -msgstr "" +msgstr "Repo `{name}` erfolgreich hinzugefügt." -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." -msgstr "" +msgstr "Entferne ein repo und dessen Dateien." -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." -msgstr "" - -#: redbot/cogs/downloader/downloader.py:257 -#, docstring -msgid "List all installed repos." -msgstr "" +msgstr "Das repo `{repo.name}` wurde erfolgreich gelöscht." #: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" -msgstr "Installierte Repos:\n\n" +#, docstring +msgid "List all installed repos." +msgstr "Liste aller installierten repos." -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." -msgstr "" - -#: redbot/cogs/downloader/downloader.py:272 -msgid "Repo `{repo.name}` not found." -msgstr "" +msgstr "Zeige Informationen über ein repo an." #: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" +msgid "Repo `{repo.name}` not found." +msgstr "Repo `{repo.name}` nicht gefunden." + +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." -msgstr "" +msgstr "Cog Installation Verwaltungsbefehle." -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." -msgstr "" +msgstr "Installiere ein cog aus dem angegebenen repo." -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." -msgstr "" +msgstr "Fehler: Es gibt kein cog mit dem Namen `{cog_name}` im `{repo.name}` repo." -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." +msgstr "Dieses cog benötigt mindestens Python Version {version}, Installation wird abgebrochen." + +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." -msgstr "" - -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring -msgid "Update all cogs, or one of your choosing." +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring +msgid "Update all cogs, or one of your choosing." +msgstr "Aktualisiere alle cogs oder eins deiner Wahl." + +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "Cog Update erfolgreich." -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " -msgstr "" - -#: redbot/cogs/downloader/downloader.py:379 -msgid "All installed cogs are already up to date." -msgstr "" - -#: redbot/cogs/downloader/downloader.py:386 -msgid "None of the updated cogs were previously loaded. Update complete." -msgstr "" - -#: redbot/cogs/downloader/downloader.py:388 -msgid "Would you like to reload the updated cogs?" -msgstr "" - #: redbot/cogs/downloader/downloader.py:416 -msgid "OK then." +msgid "\\nUpdated: " msgstr "" -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:418 +msgid "All installed cogs are already up to date." +msgstr "Alle installierten cogs sind bereits auf dem neuesten Stand." + +#: redbot/cogs/downloader/downloader.py:425 +msgid "None of the updated cogs were previously loaded. Update complete." +msgstr "Keines der aktualisierten cogs wurde zuvor geladen. Aktualisierung abgeschlossen." + +#: redbot/cogs/downloader/downloader.py:429 +msgid "Would you like to reload the updated cogs?" +msgstr "Möchtest du die aktualisierten cogs neu laden?" + +#: redbot/cogs/downloader/downloader.py:452 +msgid "OK then." +msgstr "Also gut." + +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." +msgstr "Liste alle verfügbaren cogs eines einzelnen repo auf." + +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" -msgstr "Vorhandene Cogs:\n" - -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." -msgstr "" +msgstr "Liste Informationen über ein einzelnes cog auf." -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" +msgstr "Es gibt kein cog `{cog_name}` im repo `{repo.name}`" + +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" msgstr "" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" -msgstr "" - -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "Nicht in info.json" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" +msgstr "Fehlt aus installierten repos" + +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" -msgstr "" - -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "Dieser Befehl scheint nicht zu existieren." #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." msgstr "" diff --git a/redbot/cogs/downloader/locales/el-GR.po b/redbot/cogs/downloader/locales/el-GR.po index 1d61044da..d94aa5a12 100644 --- a/redbot/cogs/downloader/locales/el-GR.po +++ b/redbot/cogs/downloader/locales/el-GR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,9 +17,7 @@ msgstr "" "Language: el_GR\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." msgstr "" #: redbot/cogs/downloader/checks.py:36 @@ -35,203 +33,204 @@ msgstr "" msgid "That cog is not installed" msgstr "" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "" -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "" -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "" -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "" -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "" -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "" -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "" -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." msgstr "" -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "" -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." msgstr "" -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " msgstr "" -#: redbot/cogs/downloader/downloader.py:379 +#: redbot/cogs/downloader/downloader.py:418 msgid "All installed cogs are already up to date." msgstr "" -#: redbot/cogs/downloader/downloader.py:386 +#: redbot/cogs/downloader/downloader.py:425 msgid "None of the updated cogs were previously loaded. Update complete." msgstr "" -#: redbot/cogs/downloader/downloader.py:388 +#: redbot/cogs/downloader/downloader.py:429 msgid "Would you like to reload the updated cogs?" msgstr "" -#: redbot/cogs/downloader/downloader.py:416 +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." msgstr "" -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." msgstr "" -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" msgstr "" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "" #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." msgstr "" diff --git a/redbot/cogs/downloader/locales/en-PT.po b/redbot/cogs/downloader/locales/en-PT.po index e7e3b3b83..6e1ee8165 100644 --- a/redbot/cogs/downloader/locales/en-PT.po +++ b/redbot/cogs/downloader/locales/en-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Pirate English\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,9 +17,7 @@ msgstr "" "Language: en_PT\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." msgstr "" #: redbot/cogs/downloader/checks.py:36 @@ -35,203 +33,204 @@ msgstr "" msgid "That cog is not installed" msgstr "" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "" -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "" -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "" -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "Ahoy! That git repo has already been added under another name." -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "Fool! Something went wrong during thee cloning process." -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "" -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "" -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." msgstr "" -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "" -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." msgstr "" -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "Arrr! Yar cog update completed successfully." -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " msgstr "" -#: redbot/cogs/downloader/downloader.py:379 +#: redbot/cogs/downloader/downloader.py:418 msgid "All installed cogs are already up to date." msgstr "" -#: redbot/cogs/downloader/downloader.py:386 +#: redbot/cogs/downloader/downloader.py:425 msgid "None of the updated cogs were previously loaded. Update complete." msgstr "" -#: redbot/cogs/downloader/downloader.py:388 +#: redbot/cogs/downloader/downloader.py:429 msgid "Would you like to reload the updated cogs?" msgstr "" -#: redbot/cogs/downloader/downloader.py:416 +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." msgstr "" -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" -msgstr "Yar Available Cogs:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" +msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." msgstr "" -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" msgstr "" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "Blimey! Arg missing from info.json" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "Blimey! Thee command doesn't seem to exist." #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." msgstr "" diff --git a/redbot/cogs/downloader/locales/es-ES.po b/redbot/cogs/downloader/locales/es-ES.po index 1d3f2c8c0..2e64afdb7 100644 --- a/redbot/cogs/downloader/locales/es-ES.po +++ b/redbot/cogs/downloader/locales/es-ES.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,9 +17,7 @@ msgstr "" "Language: es_ES\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." msgstr "" #: redbot/cogs/downloader/checks.py:36 @@ -35,203 +33,204 @@ msgstr "" msgid "That cog is not installed" msgstr "" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "" -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "Librerías instaladas." -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "Fallo la instalación de algunas librerías. Por favor revisa tus logs para ver la lista completa." -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "Ese repositorio ya ha sido agregado con otro nombre." -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "Algo malo ha ocurrido durante la clonación." -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "" -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "" -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." msgstr "" -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "" -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." msgstr "" -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "Cog actualizado exitósamente." -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " msgstr "" -#: redbot/cogs/downloader/downloader.py:379 +#: redbot/cogs/downloader/downloader.py:418 msgid "All installed cogs are already up to date." msgstr "" -#: redbot/cogs/downloader/downloader.py:386 +#: redbot/cogs/downloader/downloader.py:425 msgid "None of the updated cogs were previously loaded. Update complete." msgstr "" -#: redbot/cogs/downloader/downloader.py:388 +#: redbot/cogs/downloader/downloader.py:429 msgid "Would you like to reload the updated cogs?" msgstr "" -#: redbot/cogs/downloader/downloader.py:416 +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." msgstr "" -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" -msgstr "Cogs disponibles:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" +msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." msgstr "" -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" msgstr "" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "Ausente de info.json" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "Ese comando no parece existir." #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." msgstr "" diff --git a/redbot/cogs/downloader/locales/fi-FI.po b/redbot/cogs/downloader/locales/fi-FI.po index b54034ada..4cc5c1d7b 100644 --- a/redbot/cogs/downloader/locales/fi-FI.po +++ b/redbot/cogs/downloader/locales/fi-FI.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,9 +17,7 @@ msgstr "" "Language: fi_FI\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." msgstr "" #: redbot/cogs/downloader/checks.py:36 @@ -35,203 +33,204 @@ msgstr "" msgid "That cog is not installed" msgstr "" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "" -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "" -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "" -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "" -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "" -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "" -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "" -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." msgstr "" -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "" -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." msgstr "" -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " msgstr "" -#: redbot/cogs/downloader/downloader.py:379 +#: redbot/cogs/downloader/downloader.py:418 msgid "All installed cogs are already up to date." msgstr "" -#: redbot/cogs/downloader/downloader.py:386 +#: redbot/cogs/downloader/downloader.py:425 msgid "None of the updated cogs were previously loaded. Update complete." msgstr "" -#: redbot/cogs/downloader/downloader.py:388 +#: redbot/cogs/downloader/downloader.py:429 msgid "Would you like to reload the updated cogs?" msgstr "" -#: redbot/cogs/downloader/downloader.py:416 +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." msgstr "" -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." msgstr "" -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" msgstr "" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "" #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." msgstr "" diff --git a/redbot/cogs/downloader/locales/fr-FR.po b/redbot/cogs/downloader/locales/fr-FR.po index 697f69b9c..4c5718e9b 100644 --- a/redbot/cogs/downloader/locales/fr-FR.po +++ b/redbot/cogs/downloader/locales/fr-FR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:11\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,221 +17,220 @@ msgstr "" "Language: fr_FR\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." -msgstr "" +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." +msgstr "Vous êtes sur le point d'ajouter un dépôt de tierce partie. Le créateur de Red et sa communauté n'ont aucune responsabilité pour les dommages potentiels que le contenu des dépôts de tierce partie pourrait causer.\\n\\nEn tapant '**I agree**' vous déclarez avoir lu et bien compris le message ci-dessus. Ce message ne sera plus affiché avant le prochain redémarrage.\\n\\nVous avez **30** secondes pour répondre à ce message." #: redbot/cogs/downloader/checks.py:36 msgid "Your response has timed out, please try again." -msgstr "" +msgstr "Votre réponse a expiré, veuillez réessayer." #: redbot/cogs/downloader/converters.py:14 #: redbot/cogs/downloader/repo_manager.py:84 msgid "No Downloader cog found." -msgstr "" +msgstr "Le cog downloader n'a pas été trouvé." #: redbot/cogs/downloader/converters.py:18 msgid "That cog is not installed" -msgstr "" +msgstr "Ce cog n'est pas installé" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." -msgstr "" +msgstr "Installer un groupe de dépendances en utilisant pip." -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "Bibliothèques installées." -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "Certaines bibliothèques n'ont pas pu être installées. Veuillez vérifier vos journaux pour une liste complète." -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." -msgstr "" +msgstr "Commandes de gestion de repo." -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " -msgstr "" +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " +msgstr "Ajouter un nouveau repo.\\n\\n Le nom ne peut contenir que des caractères A-z, des chiffres et des soulignements.\\n La branche sera la branche par défaut si elle n'est pas spécifiée.\\n " -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "Ce repo git a déjà été ajouté sous un autre nom" -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "Quelque chose s'est mal passé pendant l'installation." -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." -msgstr "" +msgstr "Le repo `{name}` a été ajouté avec succès." -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." -msgstr "" +msgstr "Supprimer un repo et ses fichiers." -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." -msgstr "" - -#: redbot/cogs/downloader/downloader.py:257 -#, docstring -msgid "List all installed repos." -msgstr "" +msgstr "Le repo `{repo.name}` a été supprimé avec succès." #: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" -msgstr "" +#, docstring +msgid "List all installed repos." +msgstr "Liste tout les repos installés." -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" +msgstr "Repos installés :\\n\\n" + +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." -msgstr "" - -#: redbot/cogs/downloader/downloader.py:272 -msgid "Repo `{repo.name}` not found." -msgstr "" +msgstr "Afficher des informations sur un repo." #: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" -msgstr "" +msgid "Repo `{repo.name}` not found." +msgstr "Repo `{repo.name}` introuvable." -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" +msgstr "Informations sur {repo.name}:\\n{description}" + +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." -msgstr "" +msgstr "Commandes de gestion d'installation de Cog." -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." -msgstr "" +msgstr "Installer un cog à partir du repo donné." -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." -msgstr "" +msgstr "Erreur, il n'y a pas de cog du nom de `{cog_name}` dans le repo `{repo.name}`." -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." -msgstr "" +msgstr "Ce cog nécessite au moins la version {version} de python, ce qui annule l'installation." -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" -msgstr "" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" +msgstr "Ce cog nécessite au moins la version {min_version} de Red" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." -msgstr "" +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" +msgstr " et au plus {max_version}" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " -msgstr "" +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." +msgstr ", mais vous avez {current_version}. Annulation de l'installation." -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." -msgstr "" +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" +msgstr "Échec de l'installation des librairies requises pour `{cog_name}` : `{libraries}" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." -msgstr "" +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" +msgstr "Cog `{cog_name}` installé avec succès. Vous pouvez le charger avec `{prefix}load < {cog_name}>>" #: redbot/cogs/downloader/downloader.py:353 #, docstring -msgid "Update all cogs, or one of your choosing." -msgstr "" +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "Désinstaller un cog.\\n\\n Vous ne pouvez désinstaller que les cogs qui ont été précédemment installés\\n par le Downloader.\\n " -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "Cogs désinstallés avec succès : " + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "\\nCes cog ont été installés mais ne peuvent plus être localisés : " + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "\\nVous pouvez avoir besoin de supprimer manuellement leurs fichiers s'ils sont toujours utilisables. Assurez-vous également que vous avez déchargé ces cogs avec `{prefix}unload {cogs}`." + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring +msgid "Update all cogs, or one of your choosing." +msgstr "Mettre à jour tous les cogs, ou l'un de votre choix." + +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "Mise à jour du cog effectuée avec succès" -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " -msgstr "" - -#: redbot/cogs/downloader/downloader.py:379 -msgid "All installed cogs are already up to date." -msgstr "" - -#: redbot/cogs/downloader/downloader.py:386 -msgid "None of the updated cogs were previously loaded. Update complete." -msgstr "" - -#: redbot/cogs/downloader/downloader.py:388 -msgid "Would you like to reload the updated cogs?" -msgstr "" - #: redbot/cogs/downloader/downloader.py:416 -msgid "OK then." -msgstr "" +msgid "\\nUpdated: " +msgstr "\\nMis à jour : " -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:418 +msgid "All installed cogs are already up to date." +msgstr "Tous les cogs installés sont déjà à jour." + +#: redbot/cogs/downloader/downloader.py:425 +msgid "None of the updated cogs were previously loaded. Update complete." +msgstr "Aucune des cogs mis à jour n'était chargé auparavant. Mise à jour terminée." + +#: redbot/cogs/downloader/downloader.py:429 +msgid "Would you like to reload the updated cogs?" +msgstr "Voulez-vous recharger les cogs mis à jour ?" + +#: redbot/cogs/downloader/downloader.py:452 +msgid "OK then." +msgstr "Ok alors." + +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." -msgstr "" +msgstr "Liste tout les cogs disponibles à partir d'un repo." -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" -msgstr "" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" +msgstr "Cogs installés :\\n" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" -msgstr "Cogs disponibles:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" +msgstr "Cogs disponibles :\\n" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." -msgstr "" +msgstr "Liste les informations à propos d'un cog." -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" -msgstr "" +msgstr "Il n'y a pas de cog `{cog_name}` dans le repo `{repo.name}`" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" -msgstr "" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" +msgstr "Informations sur {cog_name}:\\n{description}\\n\\nDépendances : {requirements}" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "Informations manquantes de info.json" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" -msgstr "" +msgstr "Absent des repos installés" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" -msgstr "" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" +msgstr "Commande : {command}\\nCréer par : {author}\\nRepo : {repo}\\nNom de Cog : {cog}" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " -msgstr "" +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " +msgstr "Trouver de quel cog provient une commande.\\n\\n Cela ne fonctionnera qu'avec les cogs chargés.\\n " -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "Cette commande ne semble pas exister." #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." -msgstr "" +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." +msgstr "Le repo avec le nom \\\"{repo_name}\\\" n'existe pas." diff --git a/redbot/cogs/downloader/locales/hu-HU.po b/redbot/cogs/downloader/locales/hu-HU.po index a3e8f1a7b..cde906867 100644 --- a/redbot/cogs/downloader/locales/hu-HU.po +++ b/redbot/cogs/downloader/locales/hu-HU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,9 +17,7 @@ msgstr "" "Language: hu_HU\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." msgstr "" #: redbot/cogs/downloader/checks.py:36 @@ -35,203 +33,204 @@ msgstr "" msgid "That cog is not installed" msgstr "" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "" -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "" -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "" -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "" -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "" -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "" -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "" -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." msgstr "" -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "" -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." msgstr "" -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " msgstr "" -#: redbot/cogs/downloader/downloader.py:379 +#: redbot/cogs/downloader/downloader.py:418 msgid "All installed cogs are already up to date." msgstr "" -#: redbot/cogs/downloader/downloader.py:386 +#: redbot/cogs/downloader/downloader.py:425 msgid "None of the updated cogs were previously loaded. Update complete." msgstr "" -#: redbot/cogs/downloader/downloader.py:388 +#: redbot/cogs/downloader/downloader.py:429 msgid "Would you like to reload the updated cogs?" msgstr "" -#: redbot/cogs/downloader/downloader.py:416 +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." -msgstr "" +msgstr "Rendben." -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." msgstr "" -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" msgstr "" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "" #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." msgstr "" diff --git a/redbot/cogs/downloader/locales/id-ID.po b/redbot/cogs/downloader/locales/id-ID.po index d5bf49fcb..7d974d91a 100644 --- a/redbot/cogs/downloader/locales/id-ID.po +++ b/redbot/cogs/downloader/locales/id-ID.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,9 +17,7 @@ msgstr "" "Language: id_ID\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." msgstr "" #: redbot/cogs/downloader/checks.py:36 @@ -35,203 +33,204 @@ msgstr "" msgid "That cog is not installed" msgstr "" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "" -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "" -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "" -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "Repo git tersebut telah ditambahkan dengan nama yang lain." -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "Terjadi kesalahan pada proses kloning." -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "" -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "" -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." msgstr "" -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "" -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." msgstr "" -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "Pembaruan cog selesai dengan sukses." -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " msgstr "" -#: redbot/cogs/downloader/downloader.py:379 +#: redbot/cogs/downloader/downloader.py:418 msgid "All installed cogs are already up to date." msgstr "" -#: redbot/cogs/downloader/downloader.py:386 +#: redbot/cogs/downloader/downloader.py:425 msgid "None of the updated cogs were previously loaded. Update complete." msgstr "" -#: redbot/cogs/downloader/downloader.py:388 +#: redbot/cogs/downloader/downloader.py:429 msgid "Would you like to reload the updated cogs?" msgstr "" -#: redbot/cogs/downloader/downloader.py:416 +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." msgstr "" -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" -msgstr "Cog tersedia:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" +msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." msgstr "" -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" msgstr "" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "Hilang dari info.json" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "Perintah tersebut tidak ada." #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." msgstr "" diff --git a/redbot/cogs/downloader/locales/it-IT.po b/redbot/cogs/downloader/locales/it-IT.po index b0922f871..19aafc6dd 100644 --- a/redbot/cogs/downloader/locales/it-IT.po +++ b/redbot/cogs/downloader/locales/it-IT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,9 +17,7 @@ msgstr "" "Language: it_IT\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." msgstr "" #: redbot/cogs/downloader/checks.py:36 @@ -35,203 +33,204 @@ msgstr "" msgid "That cog is not installed" msgstr "" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "" -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "" -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "" -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "Quel repo git è già stato aggiunto sotto un altro nome." -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "Qualcosa è andato storto durante il processo di clonazione." -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "" -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "" -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." msgstr "" -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "" -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." msgstr "" -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "Cog aggiornamento completato correttamente." -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " msgstr "" -#: redbot/cogs/downloader/downloader.py:379 +#: redbot/cogs/downloader/downloader.py:418 msgid "All installed cogs are already up to date." msgstr "" -#: redbot/cogs/downloader/downloader.py:386 +#: redbot/cogs/downloader/downloader.py:425 msgid "None of the updated cogs were previously loaded. Update complete." msgstr "" -#: redbot/cogs/downloader/downloader.py:388 +#: redbot/cogs/downloader/downloader.py:429 msgid "Would you like to reload the updated cogs?" msgstr "" -#: redbot/cogs/downloader/downloader.py:416 +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." -msgstr "" +msgstr "OK allora." -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" -msgstr "Cogs disponibili:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" +msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." msgstr "" -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" msgstr "" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "Mancante da info.json" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "Tale comando non sembra esistere." #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." msgstr "" diff --git a/redbot/cogs/downloader/locales/ja-JP.po b/redbot/cogs/downloader/locales/ja-JP.po index f40bbc157..61ad0b3fc 100644 --- a/redbot/cogs/downloader/locales/ja-JP.po +++ b/redbot/cogs/downloader/locales/ja-JP.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,9 +17,7 @@ msgstr "" "Language: ja_JP\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." msgstr "" #: redbot/cogs/downloader/checks.py:36 @@ -35,203 +33,204 @@ msgstr "" msgid "That cog is not installed" msgstr "" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "" -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "" -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "" -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "そのギットレポはすでに別の名前で追加されています。" -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "クローニングプロセス中に何か問題が発生しました。" -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "" -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "" -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." msgstr "" -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "" -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." msgstr "" -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "コグアップデートが完了しました。" -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " msgstr "" -#: redbot/cogs/downloader/downloader.py:379 +#: redbot/cogs/downloader/downloader.py:418 msgid "All installed cogs are already up to date." msgstr "" -#: redbot/cogs/downloader/downloader.py:386 +#: redbot/cogs/downloader/downloader.py:425 msgid "None of the updated cogs were previously loaded. Update complete." msgstr "" -#: redbot/cogs/downloader/downloader.py:388 +#: redbot/cogs/downloader/downloader.py:429 msgid "Would you like to reload the updated cogs?" msgstr "" -#: redbot/cogs/downloader/downloader.py:416 +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." msgstr "" -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" -msgstr "利用可能なコグ:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" +msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." msgstr "" -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" msgstr "" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "info.jsonから行方不明" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "そのコマンドはいないようです。" #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." msgstr "" diff --git a/redbot/cogs/downloader/locales/ko-KR.po b/redbot/cogs/downloader/locales/ko-KR.po index 98e4fe10d..44de72ca6 100644 --- a/redbot/cogs/downloader/locales/ko-KR.po +++ b/redbot/cogs/downloader/locales/ko-KR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,9 +17,7 @@ msgstr "" "Language: ko_KR\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." msgstr "" #: redbot/cogs/downloader/checks.py:36 @@ -35,203 +33,204 @@ msgstr "" msgid "That cog is not installed" msgstr "" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "" -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "" -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "" -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "해당 git 저장소는 이미 다른 이름으로 저장되어 있어요." -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "복제하는 과정에서 뭔가 잘못됐어요." -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "" -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "" -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." msgstr "" -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "" -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." msgstr "" -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "Cog가 성공적으로 업데이트됐어요." -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " msgstr "" -#: redbot/cogs/downloader/downloader.py:379 +#: redbot/cogs/downloader/downloader.py:418 msgid "All installed cogs are already up to date." msgstr "" -#: redbot/cogs/downloader/downloader.py:386 +#: redbot/cogs/downloader/downloader.py:425 msgid "None of the updated cogs were previously loaded. Update complete." msgstr "" -#: redbot/cogs/downloader/downloader.py:388 +#: redbot/cogs/downloader/downloader.py:429 msgid "Would you like to reload the updated cogs?" msgstr "" -#: redbot/cogs/downloader/downloader.py:416 +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." msgstr "" -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" -msgstr "사용 가능한 Cogs :\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" +msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." msgstr "" -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" msgstr "" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "Info.json 파일에서 누락됐어요." -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "해당 커맨드가 등록되어 있지 않아요." #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." msgstr "" diff --git a/redbot/cogs/downloader/locales/lol-US.po b/redbot/cogs/downloader/locales/lol-US.po index 490c64d93..efc722258 100644 --- a/redbot/cogs/downloader/locales/lol-US.po +++ b/redbot/cogs/downloader/locales/lol-US.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: LOLCAT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,9 +17,7 @@ msgstr "" "Language: lol_US\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." msgstr "" #: redbot/cogs/downloader/checks.py:36 @@ -35,203 +33,204 @@ msgstr "" msgid "That cog is not installed" msgstr "" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "" -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "" -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "" -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "" -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "" -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "" -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "" -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." msgstr "" -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "" -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." msgstr "" -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " msgstr "" -#: redbot/cogs/downloader/downloader.py:379 +#: redbot/cogs/downloader/downloader.py:418 msgid "All installed cogs are already up to date." msgstr "" -#: redbot/cogs/downloader/downloader.py:386 +#: redbot/cogs/downloader/downloader.py:425 msgid "None of the updated cogs were previously loaded. Update complete." msgstr "" -#: redbot/cogs/downloader/downloader.py:388 +#: redbot/cogs/downloader/downloader.py:429 msgid "Would you like to reload the updated cogs?" msgstr "" -#: redbot/cogs/downloader/downloader.py:416 +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." msgstr "" -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." msgstr "" -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" msgstr "" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "" #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." msgstr "" diff --git a/redbot/cogs/downloader/locales/nl-NL.po b/redbot/cogs/downloader/locales/nl-NL.po index 352d50565..2d77a2bcb 100644 --- a/redbot/cogs/downloader/locales/nl-NL.po +++ b/redbot/cogs/downloader/locales/nl-NL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,12 +17,8 @@ msgstr "" "Language: nl_NL\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." -msgstr "Je staat op het punt een 3rd party repository toe te voegen. De makers en zijn community zijn niet verantwoordelijk voor mogelijke schade die de inhoud van de opslagplaatsen van derden kan veroorzaken. \n\n" -"Door '** Ik ga akkoord **' in te tikken, verklaar je dat je het bovenstaande bericht hebt gelezen en volledig begrijpt. Dit bericht zal niet opnieuw worden getoond tot het volgende opnieuw opstart. \n\n" -"Je hebt ** 30 ** seconden om dit bericht te beantwoorden." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." +msgstr "" #: redbot/cogs/downloader/checks.py:36 msgid "Your response has timed out, please try again." @@ -37,216 +33,204 @@ msgstr "Geen Downloader cog gevonden." msgid "That cog is not installed" msgstr "Die cog is niet geïnstalleerd" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "Installeer een aantal afhankelijkheden met behulp van pip." -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "Bibliotheken geïnstalleerd." -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "De installatie van sommige bibliotheken zijn mislukt. Gelieve de logs te checken voor een volledige lijst." -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "Repo beheeropdrachten." -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " -msgstr "Voeg een nieuwe repo toe.\n\n" -" De naam mag alleen tekens A-z, cijfers en onderstrepingstekens bevatten.\n" -" De vertakking wordt de standaardtak als deze niet is opgegeven.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " +msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "Deze git repo is al toegevoegd onder een andere naam." -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "Er ging iets fout tijdens het klonen." -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "Repo `{name}` succesvol toegevoegd." -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "Verwijder een repo en zijn bestanden." -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "De repo `{repo.name}` is succesvol verwijderd." -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." msgstr "Maak een lijst van alle geïnstalleerde repo's." -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" -msgstr "Geïnstalleerde repos:\n\n" +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" +msgstr "" -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "Informatie over een repo weergeven." -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "Repo `{repo.name}` niet gevonden." -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" -msgstr "Informatie over {repo.name}:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" +msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." msgstr "Cog installatie management command's." -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." msgstr "Installeer een Cog van de gegeven repo." -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." msgstr "Fout: er is geen Cog met de naam `{cog_name}` in de repo `{repo.name}`." -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." msgstr "Voor deze cog is ten minste python-versie {version} vereist, waardoor installatie wordt geannuleerd." -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" -msgstr "Installatie van de benodigde bibliotheken is mislukt voor `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" +msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." -msgstr "Cog `{cog_name}` succesvol geïnstalleerd." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" +msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " -msgstr "Verwijder een cog.\n\n" -" U kunt alleen de cog verwijderen die eerder door Downloader zijn geïnstalleerd. " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." +msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." -msgstr "Cog `{cog_name}` is succesvol verwijderd." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" +msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." -msgstr "De cog was geïnstalleerd, maar kan niet langer worden gevonden. U moet mogelijk de bestanden handmatig verwijderen als deze nog bruikbaar is. Zorg er ook voor dat je de cog hebt unloaded met `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" +msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." msgstr "Werk alle cogs bij, of een van uw keuze." -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "Cog update succesvol." -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " -msgstr "\n" -"Geüpdatet: " +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " +msgstr "" -#: redbot/cogs/downloader/downloader.py:379 +#: redbot/cogs/downloader/downloader.py:418 msgid "All installed cogs are already up to date." msgstr "Alle geïnstalleerde cogs zijn al bijgewerkt." -#: redbot/cogs/downloader/downloader.py:386 +#: redbot/cogs/downloader/downloader.py:425 msgid "None of the updated cogs were previously loaded. Update complete." msgstr "Geen van de geüpdatet cogs zijn eerder geladen. Update is compleet." -#: redbot/cogs/downloader/downloader.py:388 +#: redbot/cogs/downloader/downloader.py:429 msgid "Would you like to reload the updated cogs?" msgstr "Wil je de bijgewerkte cogs herladen?" -#: redbot/cogs/downloader/downloader.py:416 +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." msgstr "Ohke." -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." msgstr "Alle beschikbare cogs van een enkele repo." -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" -msgstr "Geïnstalleerde Cogs:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" +msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" -msgstr "Beschikbare Cogs:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" +msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." msgstr "Informatie weergeven over een enkele Cog." -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" msgstr "Er is geen cog '{cog_name}' in repo '{repo.name} '" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" -msgstr "Informatie over {cog_name}:\n" -"{description}\n\n" -"Eisen: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" +msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "Niet gevonden in info.json" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" -msgstr "Opdracht: {command}\n" -"Gemaakt door: {author}\n" -"Repo: {repo}\n" -"Cog naam: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" +msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " -msgstr "Zoek uit van welke cog een commando is.\n\n" -" Dit werkt alleen met geladen cogs.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " +msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "Commando bestaat niet." #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." -msgstr "Repo met de naam \"{repo_name}\" bestaat niet." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." +msgstr "" diff --git a/redbot/cogs/downloader/locales/no-NO.po b/redbot/cogs/downloader/locales/no-NO.po index d53f92a6b..71a10ff9a 100644 --- a/redbot/cogs/downloader/locales/no-NO.po +++ b/redbot/cogs/downloader/locales/no-NO.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Norwegian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,9 +17,7 @@ msgstr "" "Language: no_NO\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." msgstr "" #: redbot/cogs/downloader/checks.py:36 @@ -35,203 +33,204 @@ msgstr "" msgid "That cog is not installed" msgstr "" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "" -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "" -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "" -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "Dette git repo har allerede blitt lagt til under ett annet navn." -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "Noe gikk galt under klonings prosessen." -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "" -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "" -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." msgstr "" -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "" -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." msgstr "" -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "Cog-oppdateringen er fullført." -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " msgstr "" -#: redbot/cogs/downloader/downloader.py:379 +#: redbot/cogs/downloader/downloader.py:418 msgid "All installed cogs are already up to date." msgstr "" -#: redbot/cogs/downloader/downloader.py:386 +#: redbot/cogs/downloader/downloader.py:425 msgid "None of the updated cogs were previously loaded. Update complete." msgstr "" -#: redbot/cogs/downloader/downloader.py:388 +#: redbot/cogs/downloader/downloader.py:429 msgid "Would you like to reload the updated cogs?" msgstr "" -#: redbot/cogs/downloader/downloader.py:416 +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." msgstr "" -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" -msgstr "Tilgjengelige cog'er:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" +msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." msgstr "" -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" msgstr "" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "Mangler fra info.json" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "Kommandoen synes ikke til å eksistere." #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." msgstr "" diff --git a/redbot/cogs/downloader/locales/pl-PL.po b/redbot/cogs/downloader/locales/pl-PL.po index dee83875e..1701db468 100644 --- a/redbot/cogs/downloader/locales/pl-PL.po +++ b/redbot/cogs/downloader/locales/pl-PL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,9 +17,7 @@ msgstr "" "Language: pl_PL\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." msgstr "" #: redbot/cogs/downloader/checks.py:36 @@ -35,203 +33,204 @@ msgstr "" msgid "That cog is not installed" msgstr "" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "" -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "Biblioteki zainstalowane." -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "" -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "To repozytorium git dodano już pod inną nazwą." -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "Coś poszło nie tak podczas procesu klonowania." -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "" -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "" -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." +msgstr "Wyświetl wszystkie zainstalowane repozytoria." + +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" -msgstr "" - -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "" -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." msgstr "" -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "Aktualizacja rozszerzenia przebiegła pomyślnie." -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " msgstr "" -#: redbot/cogs/downloader/downloader.py:379 +#: redbot/cogs/downloader/downloader.py:418 msgid "All installed cogs are already up to date." msgstr "" -#: redbot/cogs/downloader/downloader.py:386 +#: redbot/cogs/downloader/downloader.py:425 msgid "None of the updated cogs were previously loaded. Update complete." msgstr "" -#: redbot/cogs/downloader/downloader.py:388 +#: redbot/cogs/downloader/downloader.py:429 msgid "Would you like to reload the updated cogs?" msgstr "" -#: redbot/cogs/downloader/downloader.py:416 +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." -msgstr "" +msgstr "OK." -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" -msgstr "Dostępne rozszerzenia:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" +msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." msgstr "" -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" msgstr "" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "Brakujący z info.json" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "Ta komenda nie istnieje." #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." msgstr "" diff --git a/redbot/cogs/downloader/locales/pt-BR.po b/redbot/cogs/downloader/locales/pt-BR.po index 9e13990a7..7f10f3176 100644 --- a/redbot/cogs/downloader/locales/pt-BR.po +++ b/redbot/cogs/downloader/locales/pt-BR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese, Brazilian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,9 +17,7 @@ msgstr "" "Language: pt_BR\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." msgstr "" #: redbot/cogs/downloader/checks.py:36 @@ -35,203 +33,204 @@ msgstr "" msgid "That cog is not installed" msgstr "" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "" -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "" -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "" -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "O git repo já foi adicionado sobre outro nome." -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "Algo deu errado durante o processo de clonagem." -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "" -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "" -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." msgstr "" -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "" -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." msgstr "" -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "Atualização do cog completada com sucesso." -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " msgstr "" -#: redbot/cogs/downloader/downloader.py:379 +#: redbot/cogs/downloader/downloader.py:418 msgid "All installed cogs are already up to date." msgstr "" -#: redbot/cogs/downloader/downloader.py:386 +#: redbot/cogs/downloader/downloader.py:425 msgid "None of the updated cogs were previously loaded. Update complete." msgstr "" -#: redbot/cogs/downloader/downloader.py:388 +#: redbot/cogs/downloader/downloader.py:429 msgid "Would you like to reload the updated cogs?" msgstr "" -#: redbot/cogs/downloader/downloader.py:416 +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." -msgstr "" +msgstr "OK então." -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" -msgstr "Cogs disponíveis:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" +msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." msgstr "" -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" msgstr "" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "Ausência do info.json" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "Esse comando parece não existir." #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." msgstr "" diff --git a/redbot/cogs/downloader/locales/pt-PT.po b/redbot/cogs/downloader/locales/pt-PT.po index a9630c195..125275aac 100644 --- a/redbot/cogs/downloader/locales/pt-PT.po +++ b/redbot/cogs/downloader/locales/pt-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,9 +17,7 @@ msgstr "" "Language: pt_PT\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." msgstr "" #: redbot/cogs/downloader/checks.py:36 @@ -35,203 +33,204 @@ msgstr "" msgid "That cog is not installed" msgstr "" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "" -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "" -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "" -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "" -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "" -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "" -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "" -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." msgstr "" -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "" -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." msgstr "" -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " msgstr "" -#: redbot/cogs/downloader/downloader.py:379 +#: redbot/cogs/downloader/downloader.py:418 msgid "All installed cogs are already up to date." msgstr "" -#: redbot/cogs/downloader/downloader.py:386 +#: redbot/cogs/downloader/downloader.py:425 msgid "None of the updated cogs were previously loaded. Update complete." msgstr "" -#: redbot/cogs/downloader/downloader.py:388 +#: redbot/cogs/downloader/downloader.py:429 msgid "Would you like to reload the updated cogs?" msgstr "" -#: redbot/cogs/downloader/downloader.py:416 +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." msgstr "" -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." msgstr "" -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" msgstr "" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "" #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." msgstr "" diff --git a/redbot/cogs/downloader/locales/ro-RO.po b/redbot/cogs/downloader/locales/ro-RO.po new file mode 100644 index 000000000..c032d02be --- /dev/null +++ b/redbot/cogs/downloader/locales/ro-RO.po @@ -0,0 +1,236 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:09\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Romanian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /cogs/downloader/locales/messages.pot\n" +"Language: ro_RO\n" + +#: redbot/cogs/downloader/checks.py:12 +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." +msgstr "" + +#: redbot/cogs/downloader/checks.py:36 +msgid "Your response has timed out, please try again." +msgstr "" + +#: redbot/cogs/downloader/converters.py:14 +#: redbot/cogs/downloader/repo_manager.py:84 +msgid "No Downloader cog found." +msgstr "" + +#: redbot/cogs/downloader/converters.py:18 +msgid "That cog is not installed" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:198 +#, docstring +msgid "Install a group of dependencies using pip." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:206 +msgid "Libraries installed." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:209 +msgid "Some libraries failed to install. Please check your logs for a complete list." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:218 +#, docstring +msgid "Repo management commands." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:223 +#, docstring +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:235 +msgid "That git repo has already been added under another name." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:237 +msgid "Something went wrong during the cloning process." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:245 +msgid "Repo `{name}` successfully added." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:251 +#, docstring +msgid "Remove a repo and its files." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:255 +msgid "The repo `{repo.name}` has been deleted successfully." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:260 +#, docstring +msgid "List all installed repos." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:273 +#, docstring +msgid "Show information about a repo." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:275 +msgid "Repo `{repo.name}` not found." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:286 +#, docstring +msgid "Cog installation management commands." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:291 +#, docstring +msgid "Install a cog from the given repo." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:295 +msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:302 +msgid "This cog requires at least python version {version}, aborting install." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:353 +#, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring +msgid "Update all cogs, or one of your choosing." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:413 +msgid "Cog update completed successfully." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:418 +msgid "All installed cogs are already up to date." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:425 +msgid "None of the updated cogs were previously loaded. Update complete." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:429 +msgid "Would you like to reload the updated cogs?" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:452 +msgid "OK then." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:463 +#, docstring +msgid "List all available cogs from a single repo." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:488 +#, docstring +msgid "List information about a single cog." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:492 +msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:548 +msgid "Missing from info.json" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:550 +msgid "Missing from installed repos" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:582 +#, docstring +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:589 +msgid "That command doesn't seem to exist." +msgstr "" + +#: redbot/cogs/downloader/repo_manager.py:91 +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." +msgstr "" + diff --git a/redbot/cogs/downloader/locales/ru-RU.po b/redbot/cogs/downloader/locales/ru-RU.po index a820af2a8..bc17e1307 100644 --- a/redbot/cogs/downloader/locales/ru-RU.po +++ b/redbot/cogs/downloader/locales/ru-RU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 05:52\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,12 +17,8 @@ msgstr "" "Language: ru_RU\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." -msgstr "Вы собираетесь добавить сторонней репозиторий. Создатель Red и его сообщество не несут ответственности за любой потенциальный ущерб, который может нанести содержимое сторонних репозиториев.\n\n" -"Набирая **I agree**, вы подтверждаете, что прочитали и полностью поняли приведенное выше сообщение. Это сообщение больше не будет отображаться до следующей перезагрузки.\n\n" -"У вас есть **30** секунд, чтобы ответить на это сообщение." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." +msgstr "" #: redbot/cogs/downloader/checks.py:36 msgid "Your response has timed out, please try again." @@ -31,224 +27,210 @@ msgstr "Время ответа превышено, пожалуйста, поп #: redbot/cogs/downloader/converters.py:14 #: redbot/cogs/downloader/repo_manager.py:84 msgid "No Downloader cog found." -msgstr "Плагин Downloader не найден." +msgstr "Модуль Downloader не найден." #: redbot/cogs/downloader/converters.py:18 msgid "That cog is not installed" -msgstr "Этот плагин не установлен" +msgstr "Этот модуль не установлен" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "Установите группу зависимостей, используя pip." -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "Библиотеки установлены." -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." -msgstr "Не удалось установить некоторые библиотеки. Пожалуйста, проверьте ваши записи для получения полного списка." +msgstr "Не удалось установить некоторые библиотеки. Пожалуйста, проверьте ваши логи для получения полного списка." -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "Команды управления репозиторием." -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " -msgstr "Добавить новый репозиторий\n\n" -" Имя может содержать только символы A-z, цифры и подчеркивания.\n" -" Ветвь будет ветвью по умолчанию, если она не указана.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " +msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." -msgstr "Этот репозиторий уже был добавлен под другим именем." +msgstr "Этот git репозиторий уже был добавлен под другим именем." -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "Что-то пошло не так во время клонирования." -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "Репозиторий `{name}` успешно добавлен." -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "Удалить репозиторий и его файлы." -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "Репозиторий `{repo.name}` был успешно удален." -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." msgstr "Список всех установленных репозиториев." -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" -msgstr "Установленные репозитории:\n\n" +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" +msgstr "" -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "Показать информацию о репозитории." -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "Репозиторий `{repo.name}` не найден." -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" -msgstr "Информация о {repo.name}:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" +msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." -msgstr "Команды управления установкой плагина." +msgstr "Команды управления установкой модуля." -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." -msgstr "Установить плагин из данного репозитория." +msgstr "Установить модуль из данного репозитория." -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." -msgstr "Ошибка: в репозитории `{repo.name}` нет плагина с именем `{cog_name}`." +msgstr "Ошибка: в репозитории `{repo.name}` нет модуля с именем `{cog_name}`." -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." -msgstr "Этот плагин требует как минимум версию Python {version}, прерывая установку." +msgstr "Этот модуль требует как минимум версию Python {version}, прерывая установку." -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" -msgstr "Не удалось установить необходимые библиотеки для `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" +msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." -msgstr "Плагин `{cog_name}` успешно установлен." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" +msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " -msgstr "Удалить плагин.\n\n" -" Вы можете удалить только те плагины, которые были\n" -" ранее установлены с помощью Downloader.\n" -" " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." +msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." -msgstr "Плагин `{cog_name}` был успешно удален." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" +msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." -msgstr "Этот плагин был установлен, но больше не может быть найден. Возможно, вам придется удалить его файлы вручную, если он еще используется. Также убедитесь, что вы выгружали плагин с помощью `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" +msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." -msgstr "Обновить все плагины или один на ваш выбор." +msgstr "Обновить все модули или один на ваш выбор." -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." -msgstr "Обновление плагина завершено успешно." - -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " -msgstr "\n" -"Обновлено: " - -#: redbot/cogs/downloader/downloader.py:379 -msgid "All installed cogs are already up to date." -msgstr "Все установленные плагины уже обновлены." - -#: redbot/cogs/downloader/downloader.py:386 -msgid "None of the updated cogs were previously loaded. Update complete." -msgstr "Ни один из обновленных плагинов не был загружен ранее. Обновление завершено." - -#: redbot/cogs/downloader/downloader.py:388 -msgid "Would you like to reload the updated cogs?" -msgstr "Вы хотите перезагрузить обновленные плагины?" +msgstr "Обновление модуля завершено успешно." #: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:418 +msgid "All installed cogs are already up to date." +msgstr "Все установленные модули уже обновлены." + +#: redbot/cogs/downloader/downloader.py:425 +msgid "None of the updated cogs were previously loaded. Update complete." +msgstr "Ни один из обновленных модулей не был загружен ранее. Обновление завершено." + +#: redbot/cogs/downloader/downloader.py:429 +msgid "Would you like to reload the updated cogs?" +msgstr "Вы хотите перезагрузить обновленные модули?" + +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." msgstr "Хорошо, тогда." -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." -msgstr "Список всех доступных плагинов из одного репозитория." +msgstr "Список всех доступных модулей из одного репозитория." -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" -msgstr "Установленные плагины:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" +msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" -msgstr "Доступные плагины:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" +msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." -msgstr "Список информации об одном плагине." +msgstr "Список информации об одном модуле." -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" -msgstr "В репозитории `{repo.name}` нет плагина `{cog_name}`" +msgstr "В репозитории `{repo.name}` нет модуля `{cog_name}`" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" -msgstr "Информация о {cog_name}:\n" -"{description}\n\n" -"Требования: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" +msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" -msgstr "Нет информации в info.json" +msgstr "Отсутствует в info.json" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "Отсутствует из установленных репозиториев" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" -msgstr "Команда: {command}\n" -"Автор: {author}\n" -"Репозиторий: {repo}\n" -"Имя плагина: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" +msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " -msgstr "Найдите, из какого плагина поступает команда.\n\n" -" Это будет работать только с загруженными плагинами.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " +msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." -msgstr "Такой команды не существует." +msgstr "Эта команда, кажется, не существует." #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." -msgstr "Репозиторий с именем \"{repo_name}\" не существует." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." +msgstr "" diff --git a/redbot/cogs/downloader/locales/sk-SK.po b/redbot/cogs/downloader/locales/sk-SK.po index ca9de040f..0f7d0e4af 100644 --- a/redbot/cogs/downloader/locales/sk-SK.po +++ b/redbot/cogs/downloader/locales/sk-SK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Slovak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,9 +17,7 @@ msgstr "" "Language: sk_SK\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." msgstr "" #: redbot/cogs/downloader/checks.py:36 @@ -35,203 +33,204 @@ msgstr "" msgid "That cog is not installed" msgstr "" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "" -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "" -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "" -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "" -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "" -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "" -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "" -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." msgstr "" -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "" -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." msgstr "" -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " msgstr "" -#: redbot/cogs/downloader/downloader.py:379 +#: redbot/cogs/downloader/downloader.py:418 msgid "All installed cogs are already up to date." msgstr "" -#: redbot/cogs/downloader/downloader.py:386 +#: redbot/cogs/downloader/downloader.py:425 msgid "None of the updated cogs were previously loaded. Update complete." msgstr "" -#: redbot/cogs/downloader/downloader.py:388 +#: redbot/cogs/downloader/downloader.py:429 msgid "Would you like to reload the updated cogs?" msgstr "" -#: redbot/cogs/downloader/downloader.py:416 +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." msgstr "" -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." msgstr "" -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" msgstr "" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "" #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." msgstr "" diff --git a/redbot/cogs/downloader/locales/sv-SE.po b/redbot/cogs/downloader/locales/sv-SE.po index 17202806e..1c0c5c69a 100644 --- a/redbot/cogs/downloader/locales/sv-SE.po +++ b/redbot/cogs/downloader/locales/sv-SE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,9 +17,7 @@ msgstr "" "Language: sv_SE\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." msgstr "" #: redbot/cogs/downloader/checks.py:36 @@ -35,203 +33,204 @@ msgstr "" msgid "That cog is not installed" msgstr "" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "" -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "Bibliotek installerade." -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "Några bibliotek gick ej att installera. Vänligen kontrollera loggarna för en komplett lista." -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "Denna git repo har redan lagts till med ett annat namn." -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "Något gick fel under kloningsprocessen." -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "" -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "" -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." msgstr "" -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "" -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." msgstr "" -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "Cog har uppdaterats." -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " msgstr "" -#: redbot/cogs/downloader/downloader.py:379 +#: redbot/cogs/downloader/downloader.py:418 msgid "All installed cogs are already up to date." msgstr "" -#: redbot/cogs/downloader/downloader.py:386 +#: redbot/cogs/downloader/downloader.py:425 msgid "None of the updated cogs were previously loaded. Update complete." msgstr "" -#: redbot/cogs/downloader/downloader.py:388 +#: redbot/cogs/downloader/downloader.py:429 msgid "Would you like to reload the updated cogs?" msgstr "" -#: redbot/cogs/downloader/downloader.py:416 +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." msgstr "" -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" -msgstr "Tillgängliga Cogs:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" +msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." msgstr "" -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" msgstr "" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "Saknar information från info.json" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "Det kommandot verkar inte finnas." #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." msgstr "" diff --git a/redbot/cogs/downloader/locales/tr-TR.po b/redbot/cogs/downloader/locales/tr-TR.po index a97ddb4c8..f9c0af661 100644 --- a/redbot/cogs/downloader/locales/tr-TR.po +++ b/redbot/cogs/downloader/locales/tr-TR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,12 +17,8 @@ msgstr "" "Language: tr_TR\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." -msgstr "Yaklaşık 3 parti depo eklemek üzeresiniz. Kırmızı ve onun topluluk yaratıcısı 3 parti depoları içeriği neden olabilecek herhangi bir potansiyel hasar için hiçbir sorumluluk var.\n\n" -"yazarak ' ** ben katılıyorum **' okuduğunuzu ve yukarıdaki mesajı tam olarak anlamak ilan ediyorum. Bu iletiyi bir daha sonraki yeniden başlatılıncaya kadar gösterilmeyecektir.\n\n" -"sen-si olmak ** 30 ** saniye bu iletiyi yanıtlayın." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." +msgstr "" #: redbot/cogs/downloader/checks.py:36 msgid "Your response has timed out, please try again." @@ -37,213 +33,204 @@ msgstr "İndirici bulunamadı." msgid "That cog is not installed" msgstr "Bu uygulama yüklü değil" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "Pip kullanarak bir grup bağımlılık kurun." -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "Kütüphaneler yüklü." -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "Bazı kütüphaneler yüklenemedi. Lütfen eksiksiz bir liste için kayıtlarınızı kontrol edin." -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "Repo yönetimi komutları." -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " -msgstr "Yeni bir repo ekleyin.\n\n" -" ad yalnızca A-z, sayı ve alt çizgi karakterleri içerebilir.\n" -" şube varsayılan dalı olacaktır aksi takdirde belirtilen.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " +msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "Bu git repo zaten başka bir isim altında eklendi." -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "Klonlama işlemi sırasında bir şeyler ters gitti." -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "Repo ' başarıyla eklendi{name}'." -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "Bir repo ve dosyalarını kaldırın." -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "Repo '{repo.name}' başarıyla silindi." -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." msgstr "Tüm yüklü repos listelenmektedir." -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" -msgstr "Yüklü Repos:\n\n" +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" +msgstr "" -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "Bir repo ilgili bilgileri gösterir." -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "Repo ' bulunamadı{repo.name}'." -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" -msgstr "{repo.name}hakkında bilgi:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" +msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." msgstr "Cog yükleme yönetimi komutları." -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." msgstr "Bir dişli verilen repo yükleyin." -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." msgstr "Hata: '{cog_name}' '{repo.name}' repo adını tarafından hiçbir cog işte." -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." msgstr "Bu dişli en az gerektirir python sürüm {version} yükleme durduruluyor,." -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" -msgstr "Gerekli kitaplıklar için '{cog_name}' yükleme başarısız oldu: '{libraries} '" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" +msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." -msgstr "COG ' başarıyla yüklendi{cog_name}'." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" +msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " -msgstr "Bir cog kaldırın.\n\n" -" sadece önceden yüklenmiş\n" -" Downloader tarafından olan Smm kaldırabilirsiniz.\n" -" " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." +msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." -msgstr "Cog '{cog_name}' başarıyla kaldırıldı." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" +msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." -msgstr "O cog yüklendi ancak artık bulunabilir. Yine de kullanışlı ise bu dosyaları el ile kaldırmanız gerekebilir. Ayrıca
'0
kaldırma ile
1'
cog bellekten kaldırılan emin olun." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" +msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." msgstr "Bütün çarkları, ya da sizin seçtiğiniz birini güncelleştirin." -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "Cog güncelleştirme başarıyla tamamlandı." -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " -msgstr "\n" -"Güncelleme: " +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " +msgstr "" -#: redbot/cogs/downloader/downloader.py:379 +#: redbot/cogs/downloader/downloader.py:418 msgid "All installed cogs are already up to date." msgstr "Tüm yüklü çarkları vardır zaten güncel." -#: redbot/cogs/downloader/downloader.py:386 +#: redbot/cogs/downloader/downloader.py:425 msgid "None of the updated cogs were previously loaded. Update complete." msgstr "Güncellenen çarkların hiçbiri daha önce yüklenmedi. Güncelleme tamamlandı." -#: redbot/cogs/downloader/downloader.py:388 +#: redbot/cogs/downloader/downloader.py:429 msgid "Would you like to reload the updated cogs?" msgstr "Veriyi yeniden göndermek istiyor musun?" -#: redbot/cogs/downloader/downloader.py:416 +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." msgstr "Tamam o zaman." -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." msgstr "Tüm kullanılabilir Smm üzerinden tek bir repo listelenmektedir." -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" -msgstr "Yüklü Smm:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" +msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" -msgstr "Kullanılabilir Smm:\n" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" +msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." msgstr "Tek bir cog hakkında bilgi listesi." -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" msgstr "Repo '{repo.name} ' hiçbir cog '{cog_name}' olduğunu" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " -msgstr "Hangi bir komut cog bul gelir.\n\n" -" bu-ecek biricik iş ile yüklenen teneke adam.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " +msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "Bu komut var gibi görünmüyor." #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." -msgstr "Repo adı
0\"
yok." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." +msgstr "" diff --git a/redbot/cogs/downloader/locales/zh-CN.po b/redbot/cogs/downloader/locales/zh-CN.po index 14428b063..9d07927c5 100644 --- a/redbot/cogs/downloader/locales/zh-CN.po +++ b/redbot/cogs/downloader/locales/zh-CN.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,9 +17,7 @@ msgstr "" "Language: zh_CN\n" #: redbot/cogs/downloader/checks.py:12 -msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\n\n" -"By typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\n\n" -"You have **30** seconds to reply to this message." +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." msgstr "" #: redbot/cogs/downloader/checks.py:36 @@ -35,203 +33,204 @@ msgstr "" msgid "That cog is not installed" msgstr "" -#: redbot/cogs/downloader/downloader.py:196 +#: redbot/cogs/downloader/downloader.py:198 #, docstring msgid "Install a group of dependencies using pip." msgstr "" -#: redbot/cogs/downloader/downloader.py:203 +#: redbot/cogs/downloader/downloader.py:206 msgid "Libraries installed." msgstr "" -#: redbot/cogs/downloader/downloader.py:206 +#: redbot/cogs/downloader/downloader.py:209 msgid "Some libraries failed to install. Please check your logs for a complete list." msgstr "" -#: redbot/cogs/downloader/downloader.py:215 +#: redbot/cogs/downloader/downloader.py:218 #, docstring msgid "Repo management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:220 +#: redbot/cogs/downloader/downloader.py:223 #, docstring -msgid "Add a new repo.\n\n" -" The name can only contain characters A-z, numbers and underscores.\n" -" The branch will be the default branch if not specified.\n" -" " +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:232 +#: redbot/cogs/downloader/downloader.py:235 msgid "That git repo has already been added under another name." msgstr "这个git库已经以另一个名字被加入了。" -#: redbot/cogs/downloader/downloader.py:234 +#: redbot/cogs/downloader/downloader.py:237 msgid "Something went wrong during the cloning process." msgstr "在复制过程中出错了。" -#: redbot/cogs/downloader/downloader.py:242 +#: redbot/cogs/downloader/downloader.py:245 msgid "Repo `{name}` successfully added." msgstr "" -#: redbot/cogs/downloader/downloader.py:248 +#: redbot/cogs/downloader/downloader.py:251 #, docstring msgid "Remove a repo and its files." msgstr "" -#: redbot/cogs/downloader/downloader.py:252 +#: redbot/cogs/downloader/downloader.py:255 msgid "The repo `{repo.name}` has been deleted successfully." msgstr "" -#: redbot/cogs/downloader/downloader.py:257 +#: redbot/cogs/downloader/downloader.py:260 #, docstring msgid "List all installed repos." msgstr "" -#: redbot/cogs/downloader/downloader.py:260 -msgid "Installed Repos:\n\n" +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:270 +#: redbot/cogs/downloader/downloader.py:273 #, docstring msgid "Show information about a repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:272 +#: redbot/cogs/downloader/downloader.py:275 msgid "Repo `{repo.name}` not found." msgstr "" -#: redbot/cogs/downloader/downloader.py:275 -msgid "Information on {repo.name}:\n" -"{description}" +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" msgstr "" -#: redbot/cogs/downloader/downloader.py:283 +#: redbot/cogs/downloader/downloader.py:286 #, docstring msgid "Cog installation management commands." msgstr "" -#: redbot/cogs/downloader/downloader.py:288 +#: redbot/cogs/downloader/downloader.py:291 #, docstring msgid "Install a cog from the given repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:292 +#: redbot/cogs/downloader/downloader.py:295 msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:299 +#: redbot/cogs/downloader/downloader.py:302 msgid "This cog requires at least python version {version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:307 -msgid "Failed to install the required libraries for `{cog_name}`: `{libraries}`" +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:319 -msgid "Cog `{cog_name}` successfully installed." +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" msgstr "" -#: redbot/cogs/downloader/downloader.py:325 -#, docstring -msgid "Uninstall a cog.\n\n" -" You may only uninstall cogs which were previously installed\n" -" by Downloader.\n" -" " +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." msgstr "" -#: redbot/cogs/downloader/downloader.py:338 -msgid "Cog `{cog_name}` was successfully uninstalled." +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" msgstr "" -#: redbot/cogs/downloader/downloader.py:342 -msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable. Also make sure you've unloaded the cog with `{prefix}unload {cog_name}`." +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" msgstr "" #: redbot/cogs/downloader/downloader.py:353 #, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring msgid "Update all cogs, or one of your choosing." msgstr "" -#: redbot/cogs/downloader/downloader.py:374 +#: redbot/cogs/downloader/downloader.py:413 msgid "Cog update completed successfully." msgstr "以成功更新齿轮。" -#: redbot/cogs/downloader/downloader.py:377 -msgid "\n" -"Updated: " +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " msgstr "" -#: redbot/cogs/downloader/downloader.py:379 +#: redbot/cogs/downloader/downloader.py:418 msgid "All installed cogs are already up to date." msgstr "" -#: redbot/cogs/downloader/downloader.py:386 +#: redbot/cogs/downloader/downloader.py:425 msgid "None of the updated cogs were previously loaded. Update complete." msgstr "" -#: redbot/cogs/downloader/downloader.py:388 +#: redbot/cogs/downloader/downloader.py:429 msgid "Would you like to reload the updated cogs?" msgstr "" -#: redbot/cogs/downloader/downloader.py:416 +#: redbot/cogs/downloader/downloader.py:452 msgid "OK then." msgstr "" -#: redbot/cogs/downloader/downloader.py:420 +#: redbot/cogs/downloader/downloader.py:463 #, docstring msgid "List all available cogs from a single repo." msgstr "" -#: redbot/cogs/downloader/downloader.py:424 -msgid "Installed Cogs:\n" +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" msgstr "" -#: redbot/cogs/downloader/downloader.py:432 -msgid "Available Cogs:\n" -msgstr "可用的齿轮:" +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" +msgstr "" -#: redbot/cogs/downloader/downloader.py:445 +#: redbot/cogs/downloader/downloader.py:488 #, docstring msgid "List information about a single cog." msgstr "" -#: redbot/cogs/downloader/downloader.py:449 +#: redbot/cogs/downloader/downloader.py:492 msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" msgstr "" -#: redbot/cogs/downloader/downloader.py:455 -msgid "Information on {cog_name}:\n" -"{description}\n\n" -"Requirements: {requirements}" +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" msgstr "" -#: redbot/cogs/downloader/downloader.py:505 +#: redbot/cogs/downloader/downloader.py:548 msgid "Missing from info.json" msgstr "在info.json中找不到" -#: redbot/cogs/downloader/downloader.py:507 +#: redbot/cogs/downloader/downloader.py:550 msgid "Missing from installed repos" msgstr "" -#: redbot/cogs/downloader/downloader.py:514 -msgid "Command: {command}\n" -"Made by: {author}\n" -"Repo: {repo}\n" -"Cog name: {cog}" +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" msgstr "" -#: redbot/cogs/downloader/downloader.py:539 +#: redbot/cogs/downloader/downloader.py:582 #, docstring -msgid "Find which cog a command comes from.\n\n" -" This will only work with loaded cogs.\n" -" " +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " msgstr "" -#: redbot/cogs/downloader/downloader.py:546 +#: redbot/cogs/downloader/downloader.py:589 msgid "That command doesn't seem to exist." msgstr "这个命令似乎不存在。" #: redbot/cogs/downloader/repo_manager.py:91 -msgid "Repo by the name \"{repo_name}\" does not exist." +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." msgstr "" diff --git a/redbot/cogs/downloader/locales/zh-TW.po b/redbot/cogs/downloader/locales/zh-TW.po new file mode 100644 index 000000000..c71d86be4 --- /dev/null +++ b/redbot/cogs/downloader/locales/zh-TW.po @@ -0,0 +1,236 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Chinese Traditional\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /cogs/downloader/locales/messages.pot\n" +"Language: zh_TW\n" + +#: redbot/cogs/downloader/checks.py:12 +msgid "You're about to add a 3rd party repository. The creator of Red and its community have no responsibility for any potential damage that the content of 3rd party repositories might cause.\\n\\nBy typing '**I agree**' you declare that you have read and fully understand the above message. This message won't be shown again until the next reboot.\\n\\nYou have **30** seconds to reply to this message." +msgstr "" + +#: redbot/cogs/downloader/checks.py:36 +msgid "Your response has timed out, please try again." +msgstr "" + +#: redbot/cogs/downloader/converters.py:14 +#: redbot/cogs/downloader/repo_manager.py:84 +msgid "No Downloader cog found." +msgstr "" + +#: redbot/cogs/downloader/converters.py:18 +msgid "That cog is not installed" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:198 +#, docstring +msgid "Install a group of dependencies using pip." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:206 +msgid "Libraries installed." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:209 +msgid "Some libraries failed to install. Please check your logs for a complete list." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:218 +#, docstring +msgid "Repo management commands." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:223 +#, docstring +msgid "Add a new repo.\\n\\n The name can only contain characters A-z, numbers and underscores.\\n The branch will be the default branch if not specified.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:235 +msgid "That git repo has already been added under another name." +msgstr "這個git倉庫已經以另一個名字被加入了。" + +#: redbot/cogs/downloader/downloader.py:237 +msgid "Something went wrong during the cloning process." +msgstr "在複製過程中出錯了。" + +#: redbot/cogs/downloader/downloader.py:245 +msgid "Repo `{name}` successfully added." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:251 +#, docstring +msgid "Remove a repo and its files." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:255 +msgid "The repo `{repo.name}` has been deleted successfully." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:260 +#, docstring +msgid "List all installed repos." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:263 +msgid "Installed Repos:\\n\\n" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:273 +#, docstring +msgid "Show information about a repo." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:275 +msgid "Repo `{repo.name}` not found." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:278 +msgid "Information on {repo.name}:\\n{description}" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:286 +#, docstring +msgid "Cog installation management commands." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:291 +#, docstring +msgid "Install a cog from the given repo." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:295 +msgid "Error: there is no cog by the name of `{cog_name}` in the `{repo.name}` repo." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:302 +msgid "This cog requires at least python version {version}, aborting install." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:314 +msgid "This cog requires at least Red version {min_version}" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:320 +msgid " and at most {max_version}" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:322 +msgid ", but you have {current_version}, aborting install." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:331 +msgid "Failed to install the required libraries for `{cog_name}`: {libraries}" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:344 +msgid "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:353 +#, docstring +msgid "Uninstall cogs.\\n\\n You may only uninstall cogs which were previously installed\\n by Downloader.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:378 +msgid "Successfully uninstalled cogs: " +msgstr "已成功移除齒輪: " + +#: redbot/cogs/downloader/downloader.py:381 +msgid "\\nThese cog were installed but can no longer be located: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:383 +msgid "\\nYou may need to remove their files manually if they are still usable. Also make sure you've unloaded those cogs with `{prefix}unload {cogs}`." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:392 +#, docstring +msgid "Update all cogs, or one of your choosing." +msgstr "更新所有齒輪,或是您選擇的齒輪。" + +#: redbot/cogs/downloader/downloader.py:413 +msgid "Cog update completed successfully." +msgstr "已成功更新齒輪。" + +#: redbot/cogs/downloader/downloader.py:416 +msgid "\\nUpdated: " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:418 +msgid "All installed cogs are already up to date." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:425 +msgid "None of the updated cogs were previously loaded. Update complete." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:429 +msgid "Would you like to reload the updated cogs?" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:452 +msgid "OK then." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:463 +#, docstring +msgid "List all available cogs from a single repo." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:467 +msgid "Installed Cogs:\\n" +msgstr "已安裝齒輪:\\n" + +#: redbot/cogs/downloader/downloader.py:475 +msgid "Available Cogs:\\n" +msgstr "可用的齒輪:\\n" + +#: redbot/cogs/downloader/downloader.py:488 +#, docstring +msgid "List information about a single cog." +msgstr "" + +#: redbot/cogs/downloader/downloader.py:492 +msgid "There is no cog `{cog_name}` in the repo `{repo.name}`" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:498 +msgid "Information on {cog_name}:\\n{description}\\n\\nRequirements: {requirements}" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:548 +msgid "Missing from info.json" +msgstr "在info.json中找不到" + +#: redbot/cogs/downloader/downloader.py:550 +msgid "Missing from installed repos" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:557 +msgid "Command: {command}\\nMade by: {author}\\nRepo: {repo}\\nCog name: {cog}" +msgstr "" + +#: redbot/cogs/downloader/downloader.py:582 +#, docstring +msgid "Find which cog a command comes from.\\n\\n This will only work with loaded cogs.\\n " +msgstr "" + +#: redbot/cogs/downloader/downloader.py:589 +msgid "That command doesn't seem to exist." +msgstr "這個命令似乎不存在。" + +#: redbot/cogs/downloader/repo_manager.py:91 +msgid "Repo by the name \\\"{repo_name}\\\" does not exist." +msgstr "" + diff --git a/redbot/cogs/economy/locales/ar-SA.po b/redbot/cogs/economy/locales/ar-SA.po index 44a466455..53b9463ef 100644 --- a/redbot/cogs/economy/locales/ar-SA.po +++ b/redbot/cogs/economy/locales/ar-SA.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,14 +45,7 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" msgstr "" #: redbot/cogs/economy/economy.py:112 @@ -67,8 +60,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." +msgid "Show the user's account balance.\\n\\n Defaults to yours." msgstr "" #: redbot/cogs/economy/economy.py:161 @@ -86,13 +78,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " msgstr "" #: redbot/cogs/economy/economy.py:201 @@ -113,8 +99,7 @@ msgid "Delete all bank accounts." msgstr "" #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 @@ -131,14 +116,11 @@ msgid "Get some free currency." msgstr "" #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 @@ -146,175 +128,169 @@ msgid "{author.mention} Too soon. For your next payday you have to wait {time}." msgstr "" #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "" -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "" -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "" -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "" -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "" -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "" -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:573 -#, docstring -msgid "Set the cooldown for the slot machine." -msgstr "" - -#: redbot/cogs/economy/economy.py:579 -msgid "Cooldown is now {num} seconds." -msgstr "" - -#: redbot/cogs/economy/economy.py:583 -#, docstring -msgid "Set the cooldown for payday." -msgstr "" - -#: redbot/cogs/economy/economy.py:590 -msgid "Value modified. At least {num} seconds must pass between each payday." -msgstr "" - #: redbot/cogs/economy/economy.py:597 #, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring msgid "Set the amount earned each payday." msgstr "" -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "" -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." msgstr "" -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "" -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "" -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." msgstr "" -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "" diff --git a/redbot/cogs/economy/locales/bg-BG.po b/redbot/cogs/economy/locales/bg-BG.po index 05cf43bbd..082265897 100644 --- a/redbot/cogs/economy/locales/bg-BG.po +++ b/redbot/cogs/economy/locales/bg-BG.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Bulgarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,22 +45,8 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "Два последователни символа! Вашият залог се умножи * 2!" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" -msgstr "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} залог * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} залог * 4\n" -"{cherries.value} {cherries.value} залог * 3\n\n" -"Три символа: +500\n" -"Два символа: залог * 2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" +msgstr "" #: redbot/cogs/economy/economy.py:112 #, docstring @@ -74,8 +60,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." +msgid "Show the user's account balance.\\n\\n Defaults to yours." msgstr "" #: redbot/cogs/economy/economy.py:161 @@ -93,13 +78,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " msgstr "" #: redbot/cogs/economy/economy.py:201 @@ -120,8 +99,7 @@ msgid "Delete all bank accounts." msgstr "" #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 @@ -138,14 +116,11 @@ msgid "Get some free currency." msgstr "" #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 @@ -153,175 +128,169 @@ msgid "{author.mention} Too soon. For your next payday you have to wait {time}." msgstr "" #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "Няма открити банкови сметки." -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "Отлага се, опитайте по-късно." -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "Жалко, но това е невалидно количесто за залог. :/" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "Вие не разполагате с достатъчно пари на разположение, другарю." -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "" -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "Невалидна минимална сума за залог." -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "" -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:573 -#, docstring -msgid "Set the cooldown for the slot machine." -msgstr "" - -#: redbot/cogs/economy/economy.py:579 -msgid "Cooldown is now {num} seconds." -msgstr "" - -#: redbot/cogs/economy/economy.py:583 -#, docstring -msgid "Set the cooldown for payday." -msgstr "" - -#: redbot/cogs/economy/economy.py:590 -msgid "Value modified. At least {num} seconds must pass between each payday." -msgstr "" - #: redbot/cogs/economy/economy.py:597 #, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring msgid "Set the amount earned each payday." msgstr "" -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "Хе-хе, много смешно." -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." msgstr "" -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "" -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "" -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." msgstr "" -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "семици" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "дни" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "часове" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "минути" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "секунди" diff --git a/redbot/cogs/economy/locales/cs-CZ.po b/redbot/cogs/economy/locales/cs-CZ.po new file mode 100644 index 000000000..670074674 --- /dev/null +++ b/redbot/cogs/economy/locales/cs-CZ.po @@ -0,0 +1,296 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: cs\n" +"X-Crowdin-File: /cogs/economy/locales/messages.pot\n" +"Language: cs_CZ\n" + +#: redbot/cogs/economy/economy.py:42 +msgid "JACKPOT! 226! Your bid has been multiplied * 2500!" +msgstr "" + +#: redbot/cogs/economy/economy.py:46 +msgid "4LC! +1000!" +msgstr "" + +#: redbot/cogs/economy/economy.py:50 +msgid "Three cherries! +800!" +msgstr "" + +#: redbot/cogs/economy/economy.py:54 +msgid "2 6! Your bid has been multiplied * 4!" +msgstr "" + +#: redbot/cogs/economy/economy.py:58 +msgid "Two cherries! Your bid has been multiplied * 3!" +msgstr "" + +#: redbot/cogs/economy/economy.py:60 +msgid "Three symbols! +500!" +msgstr "" + +#: redbot/cogs/economy/economy.py:63 +msgid "Two consecutive symbols! Your bid has been multiplied * 2!" +msgstr "" + +#: redbot/cogs/economy/economy.py:67 +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" +msgstr "" + +#: redbot/cogs/economy/economy.py:112 +#, docstring +msgid "Get rich and have fun with imaginary currency!" +msgstr "" + +#: redbot/cogs/economy/economy.py:146 +#, docstring +msgid "Manage the bank." +msgstr "" + +#: redbot/cogs/economy/economy.py:151 +#, docstring +msgid "Show the user's account balance.\\n\\n Defaults to yours." +msgstr "" + +#: redbot/cogs/economy/economy.py:161 +msgid "{user}'s balance is {num} {currency}" +msgstr "" + +#: redbot/cogs/economy/economy.py:168 +#, docstring +msgid "Transfer currency to other users." +msgstr "" + +#: redbot/cogs/economy/economy.py:178 +msgid "{user} transferred {num} {currency} to {other_user}" +msgstr "" + +#: redbot/cogs/economy/economy.py:186 +#, docstring +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " +msgstr "" + +#: redbot/cogs/economy/economy.py:201 +msgid "{author} added {num} {currency} to {user}'s account." +msgstr "" + +#: redbot/cogs/economy/economy.py:209 +msgid "{author} removed {num} {currency} from {user}'s account." +msgstr "" + +#: redbot/cogs/economy/economy.py:217 +msgid "{author} set {user}'s account balance to {num} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:231 +#, docstring +msgid "Delete all bank accounts." +msgstr "" + +#: redbot/cogs/economy/economy.py:234 +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" +msgstr "" + +#: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 +msgid "this server" +msgstr "" + +#: redbot/cogs/economy/economy.py:245 +msgid "All bank accounts for {scope} have been deleted." +msgstr "" + +#: redbot/cogs/economy/economy.py:253 +#, docstring +msgid "Get some free currency." +msgstr "" + +#: redbot/cogs/economy/economy.py:267 +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" +msgstr "" + +#: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 +msgid "{author.mention} Too soon. For your next payday you have to wait {time}." +msgstr "" + +#: redbot/cogs/economy/economy.py:315 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" +msgstr "" + +#: redbot/cogs/economy/economy.py:350 +#, docstring +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " +msgstr "" + +#: redbot/cogs/economy/economy.py:367 +msgid "There are no accounts in the bank." +msgstr "" + +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 +#, docstring +msgid "Show the payouts for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:418 +#, docstring +msgid "Use the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:437 +msgid "You're on cooldown, try again in a bit." +msgstr "" + +#: redbot/cogs/economy/economy.py:440 +msgid "That's an invalid bid amount, sorry :/" +msgstr "" + +#: redbot/cogs/economy/economy.py:443 +msgid "You ain't got enough money, friend." +msgstr "" + +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" +msgstr "" + +#: redbot/cogs/economy/economy.py:512 +msgid "Nothing!" +msgstr "" + +#: redbot/cogs/economy/economy.py:516 +msgid "Your bid: {amount}" +msgstr "" + +#: redbot/cogs/economy/economy.py:532 +#, docstring +msgid "Manage Economy settings." +msgstr "" + +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" +msgstr "" + +#: redbot/cogs/economy/economy.py:562 +#, docstring +msgid "Set the minimum slot machine bid." +msgstr "" + +#: redbot/cogs/economy/economy.py:564 +msgid "Invalid min bid amount." +msgstr "" + +#: redbot/cogs/economy/economy.py:573 +msgid "Minimum bid is now {bid} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:578 +#, docstring +msgid "Set the maximum slot machine bid." +msgstr "" + +#: redbot/cogs/economy/economy.py:582 +msgid "Invalid maximum bid amount. Must be greater than the minimum amount." +msgstr "" + +#: redbot/cogs/economy/economy.py:592 +msgid "Maximum bid is now {bid} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:597 +#, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring +msgid "Set the amount earned each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 +msgid "Har har so funny." +msgstr "" + +#: redbot/cogs/economy/economy.py:632 +msgid "Every payday will now give {num} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:639 +#, docstring +msgid "Set the amount earned each payday for a role." +msgstr "" + +#: redbot/cogs/economy/economy.py:646 +msgid "The bank must be per-server for per-role paydays to work." +msgstr "" + +#: redbot/cogs/economy/economy.py:650 +msgid "Every payday will now give {num} {currency} to people with the role {role_name}." +msgstr "" + +#: redbot/cogs/economy/economy.py:658 +#, docstring +msgid "Set the initial balance for new bank accounts." +msgstr "" + +#: redbot/cogs/economy/economy.py:665 +msgid "Registering an account will now give {num} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:674 +msgid "weeks" +msgstr "" + +#: redbot/cogs/economy/economy.py:675 +msgid "days" +msgstr "" + +#: redbot/cogs/economy/economy.py:676 +msgid "hours" +msgstr "" + +#: redbot/cogs/economy/economy.py:677 +msgid "minutes" +msgstr "" + +#: redbot/cogs/economy/economy.py:678 +msgid "seconds" +msgstr "" + diff --git a/redbot/cogs/economy/locales/da-DK.po b/redbot/cogs/economy/locales/da-DK.po index 3b02ccf64..b5d61f10b 100644 --- a/redbot/cogs/economy/locales/da-DK.po +++ b/redbot/cogs/economy/locales/da-DK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,14 +45,7 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" msgstr "" #: redbot/cogs/economy/economy.py:112 @@ -67,8 +60,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." +msgid "Show the user's account balance.\\n\\n Defaults to yours." msgstr "" #: redbot/cogs/economy/economy.py:161 @@ -86,13 +78,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " msgstr "" #: redbot/cogs/economy/economy.py:201 @@ -113,8 +99,7 @@ msgid "Delete all bank accounts." msgstr "" #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 @@ -131,14 +116,11 @@ msgid "Get some free currency." msgstr "" #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 @@ -146,175 +128,169 @@ msgid "{author.mention} Too soon. For your next payday you have to wait {time}." msgstr "" #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "" -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "" -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "" -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "" -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "" -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "" -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:573 -#, docstring -msgid "Set the cooldown for the slot machine." -msgstr "" - -#: redbot/cogs/economy/economy.py:579 -msgid "Cooldown is now {num} seconds." -msgstr "" - -#: redbot/cogs/economy/economy.py:583 -#, docstring -msgid "Set the cooldown for payday." -msgstr "" - -#: redbot/cogs/economy/economy.py:590 -msgid "Value modified. At least {num} seconds must pass between each payday." -msgstr "" - #: redbot/cogs/economy/economy.py:597 #, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring msgid "Set the amount earned each payday." msgstr "" -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "" -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." msgstr "" -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "" -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "" -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." msgstr "" -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "" diff --git a/redbot/cogs/economy/locales/de-DE.po b/redbot/cogs/economy/locales/de-DE.po index 79c129234..f961cbb0f 100644 --- a/redbot/cogs/economy/locales/de-DE.po +++ b/redbot/cogs/economy/locales/de-DE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,283 +45,252 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "Zwei aufeinanderfolgende Symbole! Dein Gebot wurde multipliziert * 2!" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" -msgstr "Spielautomaten Auszahlungen:\n" -"{two.value} {two.value} {six.value} Gebot * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Gebot * 4\n" -"{cherries.value}{cherries.value} Gebot * 3\n\n" -"Drei Symbole: +500\n" -"Zwei Symbole: Gebot * 2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" +msgstr "" #: redbot/cogs/economy/economy.py:112 #, docstring msgid "Get rich and have fun with imaginary currency!" -msgstr "" +msgstr "Werde reiche und hab Spaß mit imaginärer Währung!" #: redbot/cogs/economy/economy.py:146 #, docstring msgid "Manage the bank." -msgstr "" +msgstr "Verwalte die Bank." #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." +msgid "Show the user's account balance.\\n\\n Defaults to yours." msgstr "" #: redbot/cogs/economy/economy.py:161 msgid "{user}'s balance is {num} {currency}" -msgstr "" +msgstr "Guthaben von {user} beträgt {num} {currency}" #: redbot/cogs/economy/economy.py:168 #, docstring msgid "Transfer currency to other users." -msgstr "" +msgstr "Übertrage Währung an andere Benutzer." #: redbot/cogs/economy/economy.py:178 msgid "{user} transferred {num} {currency} to {other_user}" -msgstr "" +msgstr "{user} überwies {num} {currency} an {other_user}" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " msgstr "" #: redbot/cogs/economy/economy.py:201 msgid "{author} added {num} {currency} to {user}'s account." -msgstr "" +msgstr "{author} hat {num} {currency} zu {user} Konto hinzugefügt." #: redbot/cogs/economy/economy.py:209 msgid "{author} removed {num} {currency} from {user}'s account." -msgstr "" +msgstr "{author} hat {num} {currency} von {user} Konto abgezogen." #: redbot/cogs/economy/economy.py:217 msgid "{author} set {user}'s account balance to {num} {currency}." -msgstr "" +msgstr "{author} hat {user} Kontostand auf {num} {currency} gesetzt." #: redbot/cogs/economy/economy.py:231 #, docstring msgid "Delete all bank accounts." -msgstr "" +msgstr "Alle Bankkonten löschen." #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 msgid "this server" -msgstr "" +msgstr "dieser Server" #: redbot/cogs/economy/economy.py:245 msgid "All bank accounts for {scope} have been deleted." -msgstr "" +msgstr "Alle Bankkonten von {scope} wurden gelöscht." #: redbot/cogs/economy/economy.py:253 #, docstring msgid "Get some free currency." -msgstr "" +msgstr "Hol dir kostenlose Währung." #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 msgid "{author.mention} Too soon. For your next payday you have to wait {time}." -msgstr "" +msgstr "{author.mention} Zu früh. Bis zum nächsten Zahltag dauert es noch {time}." #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "Es gibt keine Konten in der Bank." -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "Name" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "Punkte" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." -msgstr "" +msgstr "Zeige die Auszahlung des Spielautomaten an." -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." -msgstr "" +msgstr "Benutze den Spielautomaten." -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "Du bist auf Abklingzeit, versuch es bald wieder." -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "Das ist kein gültiges Gebot, tut mir leid. :/" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "Du hast nicht genug Geld, mein Freund." -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" -msgstr "" +msgstr "Nichts!" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" -msgstr "" +msgstr "Dein Einsatz: {amount}" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." +msgstr "Verwalte Economy Einstellungen." + +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" msgstr "" -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" -msgstr "" - -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." -msgstr "" +msgstr "Lege den Mindestwetteinsatz für den Spielautomat fest." -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "Ungültiges Mindestgebot." -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." -msgstr "" +msgstr "Mindestwetteinsatz beträgt jetzt {bid} {currency}." -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." -msgstr "" +msgstr "Lege den Maximalwetteinsatz für den Spielautomat fest." -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." -msgstr "" +msgstr "Ungültiger Maximalwetteinsatz. Dieser muss höher sein als der Minimalwetteinsatz." -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." -msgstr "" - -#: redbot/cogs/economy/economy.py:573 -#, docstring -msgid "Set the cooldown for the slot machine." -msgstr "" - -#: redbot/cogs/economy/economy.py:579 -msgid "Cooldown is now {num} seconds." -msgstr "" - -#: redbot/cogs/economy/economy.py:583 -#, docstring -msgid "Set the cooldown for payday." -msgstr "" - -#: redbot/cogs/economy/economy.py:590 -msgid "Value modified. At least {num} seconds must pass between each payday." -msgstr "" +msgstr "Maximalwetteinsatz beträgt jetzt {bid} {currency}." #: redbot/cogs/economy/economy.py:597 #, docstring -msgid "Set the amount earned each payday." -msgstr "" +msgid "Set the cooldown for the slot machine." +msgstr "Lege die Abklingzeit für den Spielautomat fest." -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "Abklingzeit beträgt jetzt {num} Sekunden." + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "Lege die Abklingzeit für den Zahltag fest." + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "Wert geändert. Mindestens {num} Sekunden müssen zwischen jedem Zahltag vergehen." + +#: redbot/cogs/economy/economy.py:621 +#, docstring +msgid "Set the amount earned each payday." +msgstr "Legt den Betrag für jeden Zahltag fest." + +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "Ha Ha wirklich lustig." -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." -msgstr "" +msgstr "An jedem Zahltag werden jetzt {num} {currency} ausgezahlt." -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." -msgstr "" +msgstr "Legt den Betrag an einem Zahltag für eine Rolle fest." -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." -msgstr "" - -#: redbot/cogs/economy/economy.py:626 -msgid "Every payday will now give {num} {currency} to people with the role {role_name}." -msgstr "" - -#: redbot/cogs/economy/economy.py:634 -#, docstring -msgid "Set the initial balance for new bank accounts." -msgstr "" - -#: redbot/cogs/economy/economy.py:641 -msgid "Registering an account will now give {num} {currency}." -msgstr "" +msgstr "Die Bank muss pro Server separat laufen, damit Zahltage nach Rollen funktionieren." #: redbot/cogs/economy/economy.py:650 +msgid "Every payday will now give {num} {currency} to people with the role {role_name}." +msgstr "Jeden Zahltag gibt es jetzt {num} {currency} für Personen mit der {role_name} Rolle." + +#: redbot/cogs/economy/economy.py:658 +#, docstring +msgid "Set the initial balance for new bank accounts." +msgstr "Legt das Startguthaben für neue Bankkonten fest." + +#: redbot/cogs/economy/economy.py:665 +msgid "Registering an account will now give {num} {currency}." +msgstr "Ein neues Konto zu eröffnen gibt jetzt {num} {currency}." + +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "Wochen" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "Tage" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "Stunden" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "Minuten" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "Sekunden" diff --git a/redbot/cogs/economy/locales/el-GR.po b/redbot/cogs/economy/locales/el-GR.po index d0ef2ac37..d626b2ac0 100644 --- a/redbot/cogs/economy/locales/el-GR.po +++ b/redbot/cogs/economy/locales/el-GR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,14 +45,7 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" msgstr "" #: redbot/cogs/economy/economy.py:112 @@ -67,8 +60,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." +msgid "Show the user's account balance.\\n\\n Defaults to yours." msgstr "" #: redbot/cogs/economy/economy.py:161 @@ -86,13 +78,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " msgstr "" #: redbot/cogs/economy/economy.py:201 @@ -113,8 +99,7 @@ msgid "Delete all bank accounts." msgstr "" #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 @@ -131,14 +116,11 @@ msgid "Get some free currency." msgstr "" #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 @@ -146,175 +128,169 @@ msgid "{author.mention} Too soon. For your next payday you have to wait {time}." msgstr "" #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "" -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "" -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "" -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "" -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "" -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "" -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:573 -#, docstring -msgid "Set the cooldown for the slot machine." -msgstr "" - -#: redbot/cogs/economy/economy.py:579 -msgid "Cooldown is now {num} seconds." -msgstr "" - -#: redbot/cogs/economy/economy.py:583 -#, docstring -msgid "Set the cooldown for payday." -msgstr "" - -#: redbot/cogs/economy/economy.py:590 -msgid "Value modified. At least {num} seconds must pass between each payday." -msgstr "" - #: redbot/cogs/economy/economy.py:597 #, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring msgid "Set the amount earned each payday." msgstr "" -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "" -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." msgstr "" -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "" -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "" -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." msgstr "" -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "" diff --git a/redbot/cogs/economy/locales/en-PT.po b/redbot/cogs/economy/locales/en-PT.po index b565171e1..8f34b138b 100644 --- a/redbot/cogs/economy/locales/en-PT.po +++ b/redbot/cogs/economy/locales/en-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Pirate English\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,22 +45,8 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "Blimey! Two consecutive symbols! Yer bid has been multiplied * 2!" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" -msgstr "Thee slot machine payouts: \n" -"{two.value} {two.value} {six.value} Bet * 2500 \n" -"{flc.value} {flc.value} {flc.value} +1000 \n" -"{cherries.value} {cherries.value} {cherries.value} +800 \n" -"{two.value} {six.value} Bet * 4 \n" -"{cherries.value} {cherries.value} Bet * 3 \n\n" -"Three symbols: +500 \n" -"Two symbols: Bet * 2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" +msgstr "" #: redbot/cogs/economy/economy.py:112 #, docstring @@ -74,8 +60,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." +msgid "Show the user's account balance.\\n\\n Defaults to yours." msgstr "" #: redbot/cogs/economy/economy.py:161 @@ -93,13 +78,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " msgstr "" #: redbot/cogs/economy/economy.py:201 @@ -120,8 +99,7 @@ msgid "Delete all bank accounts." msgstr "" #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 @@ -138,14 +116,11 @@ msgid "Get some free currency." msgstr "" #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 @@ -153,175 +128,169 @@ msgid "{author.mention} Too soon. For your next payday you have to wait {time}." msgstr "" #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "Thar be no accounts in thee buried treasure." -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "Yer on cooldown, try again in a bit." -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "Alas! That's an invalid bid amount, sorry :/" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "Ye ain't got enough gold, bucko." -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "" -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "Invalid min bid amount." -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "" -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:573 -#, docstring -msgid "Set the cooldown for the slot machine." -msgstr "" - -#: redbot/cogs/economy/economy.py:579 -msgid "Cooldown is now {num} seconds." -msgstr "" - -#: redbot/cogs/economy/economy.py:583 -#, docstring -msgid "Set the cooldown for payday." -msgstr "" - -#: redbot/cogs/economy/economy.py:590 -msgid "Value modified. At least {num} seconds must pass between each payday." -msgstr "" - #: redbot/cogs/economy/economy.py:597 #, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring msgid "Set the amount earned each payday." msgstr "" -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "Har har so funny." -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." msgstr "" -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "" -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "" -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." msgstr "" -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "weeks at sea" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "days in the brig" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "turns of thee hourglass" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "minutes" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "grains of sand" diff --git a/redbot/cogs/economy/locales/es-ES.po b/redbot/cogs/economy/locales/es-ES.po index ecac01a9a..a71327030 100644 --- a/redbot/cogs/economy/locales/es-ES.po +++ b/redbot/cogs/economy/locales/es-ES.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,22 +45,8 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "¡Dos símbolos consecutivos! ¡Tu apuesta se ha multiplicado * 2!" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" -msgstr "Pagos de la maquina del casino:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"tres símbolos: +500\n" -"Dos símbolos: apuesta * 2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" +msgstr "" #: redbot/cogs/economy/economy.py:112 #, docstring @@ -74,8 +60,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." +msgid "Show the user's account balance.\\n\\n Defaults to yours." msgstr "" #: redbot/cogs/economy/economy.py:161 @@ -93,13 +78,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " msgstr "" #: redbot/cogs/economy/economy.py:201 @@ -120,8 +99,7 @@ msgid "Delete all bank accounts." msgstr "" #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 @@ -138,14 +116,11 @@ msgid "Get some free currency." msgstr "" #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 @@ -153,175 +128,169 @@ msgid "{author.mention} Too soon. For your next payday you have to wait {time}." msgstr "" #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "No hay cuentas en el Banco." -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "Estás en tiempo de enfriamiento, inténtelo de nuevo unos momentos." -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "Esta es una oferta inválido, lo siento :/" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "No tienes suficiente dinero, amigo." -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "" -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "Importe de la puja min no válido." -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "" -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:573 -#, docstring -msgid "Set the cooldown for the slot machine." -msgstr "" - -#: redbot/cogs/economy/economy.py:579 -msgid "Cooldown is now {num} seconds." -msgstr "" - -#: redbot/cogs/economy/economy.py:583 -#, docstring -msgid "Set the cooldown for payday." -msgstr "" - -#: redbot/cogs/economy/economy.py:590 -msgid "Value modified. At least {num} seconds must pass between each payday." -msgstr "" - #: redbot/cogs/economy/economy.py:597 #, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring msgid "Set the amount earned each payday." msgstr "" -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "¡Ha ha! Muy divertido." -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." msgstr "" -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "" -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "" -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." msgstr "" -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "semanas" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "días" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "horas" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "minutos" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "segundos" diff --git a/redbot/cogs/economy/locales/fi-FI.po b/redbot/cogs/economy/locales/fi-FI.po index 2e2480889..08b0937ed 100644 --- a/redbot/cogs/economy/locales/fi-FI.po +++ b/redbot/cogs/economy/locales/fi-FI.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,14 +45,7 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" msgstr "" #: redbot/cogs/economy/economy.py:112 @@ -67,8 +60,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." +msgid "Show the user's account balance.\\n\\n Defaults to yours." msgstr "" #: redbot/cogs/economy/economy.py:161 @@ -86,13 +78,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " msgstr "" #: redbot/cogs/economy/economy.py:201 @@ -113,8 +99,7 @@ msgid "Delete all bank accounts." msgstr "" #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 @@ -131,14 +116,11 @@ msgid "Get some free currency." msgstr "" #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 @@ -146,175 +128,169 @@ msgid "{author.mention} Too soon. For your next payday you have to wait {time}." msgstr "" #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "" -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "" -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "" -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "" -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "" -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "" -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:573 -#, docstring -msgid "Set the cooldown for the slot machine." -msgstr "" - -#: redbot/cogs/economy/economy.py:579 -msgid "Cooldown is now {num} seconds." -msgstr "" - -#: redbot/cogs/economy/economy.py:583 -#, docstring -msgid "Set the cooldown for payday." -msgstr "" - -#: redbot/cogs/economy/economy.py:590 -msgid "Value modified. At least {num} seconds must pass between each payday." -msgstr "" - #: redbot/cogs/economy/economy.py:597 #, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring msgid "Set the amount earned each payday." msgstr "" -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "" -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." msgstr "" -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "" -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "" -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." msgstr "" -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "" diff --git a/redbot/cogs/economy/locales/fr-FR.po b/redbot/cogs/economy/locales/fr-FR.po index ddd1dd3fd..410a9c899 100644 --- a/redbot/cogs/economy/locales/fr-FR.po +++ b/redbot/cogs/economy/locales/fr-FR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:11\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,27 +45,13 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "Deux symboles consécutifs ! Votre mise a été multipliée par 2 !" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" -msgstr "Gains de la machine à sous :\n" -"{two.value} {two.value} {six.value} Mise x 2500\n" -"{flc.value} {flc.value} {flc.value} + 1000\n" -"{cherries.value} {cherries.value} {cherries.value} + 800\n" -"{two.value} {six.value} Mise x 4\n" -"{cherries.value} {cherries.value} Mise x 3\n\n" -"Trois symboles : + 500\n" -"Deux symboles : Mise x 2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" +msgstr "Gains de la machine à sous :\\n{two.value} {two.value} {six.value} Mise x 2500\\n{flc.value} {flc.value} {flc.value} + 1000\\n{cherries.value} {cherries.value} {cherries.value} + 800\\n{two.value} {six.value} Mise x 4\\n{cherries.value} {cherries.value} Mise x 3\\n\\nTrois symboles : + 500\\nDeux symboles : Mise x 2" #: redbot/cogs/economy/economy.py:112 #, docstring msgid "Get rich and have fun with imaginary currency!" -msgstr "" +msgstr "Devenez riche et amusez-vous avec des devises imaginaires !" #: redbot/cogs/economy/economy.py:146 #, docstring @@ -74,254 +60,237 @@ msgstr "Gérer la banque." #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." -msgstr "" +msgid "Show the user's account balance.\\n\\n Defaults to yours." +msgstr "Afficher le solde du compte de l'utilisateur.\\n\\n Par défaut sur le votre." #: redbot/cogs/economy/economy.py:161 msgid "{user}'s balance is {num} {currency}" -msgstr "" +msgstr "Le solde de {user} est {num} {currency}" #: redbot/cogs/economy/economy.py:168 #, docstring msgid "Transfer currency to other users." -msgstr "" +msgstr "Transférer des devises à d'autres utilisateurs." #: redbot/cogs/economy/economy.py:178 msgid "{user} transferred {num} {currency} to {other_user}" -msgstr "" +msgstr "{user} a transféré {num} {currency} à {other_user}" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " -msgstr "" +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " +msgstr "Définissez le solde du compte bancaire de l'utilisateur.\\n\\n Le passage de valeurs positives et négatives ajoutera/supprimera de la monnaie à la place.\\n\\n Exemples :\\n - `[p]bank set @Twentysix 26` - Définit la balance à 26\\n - `[p]bank set @Twentysix +2` - Augmente le solde de 2\\n - `[p]bank set @Twentysix -6` - Diminue le solde de 6\\n " #: redbot/cogs/economy/economy.py:201 msgid "{author} added {num} {currency} to {user}'s account." -msgstr "" +msgstr "{author} a ajouté {num} {currency} au compte de {user}." #: redbot/cogs/economy/economy.py:209 msgid "{author} removed {num} {currency} from {user}'s account." -msgstr "" +msgstr "{author} a retiré {num} {currency} du compte de {user}." #: redbot/cogs/economy/economy.py:217 msgid "{author} set {user}'s account balance to {num} {currency}." -msgstr "" +msgstr "{author} définit le solde du compte de {user} à {num} {currency}." #: redbot/cogs/economy/economy.py:231 #, docstring msgid "Delete all bank accounts." -msgstr "" +msgstr "Supprimer tous les comptes bancaires." #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" -msgstr "" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" +msgstr "Ceci supprimera tous les comptes bancaires pour {scope}.\\nSi vous êtes sûr, tapez `{prefix}bank reset yes`" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 msgid "this server" -msgstr "" +msgstr "ce serveur" #: redbot/cogs/economy/economy.py:245 msgid "All bank accounts for {scope} have been deleted." -msgstr "" +msgstr "Tous les comptes bancaires pour {scope} ont été supprimés." #: redbot/cogs/economy/economy.py:253 #, docstring msgid "Get some free currency." -msgstr "" +msgstr "Obtenez quelques devises gratuites." #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." -msgstr "" +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "Vous avez atteint le montant maximum de {currency} ! Veuillez dépenser plus 😬\\n\\nVous avez actuellement {new_balance} {currency}." -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" -msgstr "" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" +msgstr "{author.mention} Tenez, voici un peu de {currency}. Amusez-vous bien ! (+{amount} {currency} !)\\n\\nVous avez actuellement {new_balance} {currency}.\\n\\nVous êtes actuellement #{pos} sur le classement global !" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 msgid "{author.mention} Too soon. For your next payday you have to wait {time}." -msgstr "" +msgstr "{author.mention} Trop tôt. Pour le prochain payday, vous devez attendre {time}." #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." -msgstr "" +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "Vous avez atteint le montant maximum de {currency} ! Veuillez dépenser plus 😬\\n\\nVous avez actuellement {new_balance} {currency}." + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" +msgstr "{author.mention} Tenez, voici un peu de {currency}. Amusez-vous bien ! (+{amount} {currency} !)\\n\\nVous avez actuellement {new_balance} {currency}.\\n\\nVous êtes actuellement #{pos} sur le classement global !" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " -msgstr "" +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " +msgstr "Envoie le classement.\\n\\n Par défaut au top 10.\\n " -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "Il n'y a pas de comptes dans cette banque." -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "Nom" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "Score" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." -msgstr "" +msgstr "Montrer les gains de la machine à sous." -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." -msgstr "" +msgstr "Utiliser la machine à sous." -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "Vous devez attendre, réessayez dans un moment." -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "C'est un montant invalide pour une mise, désolé :/" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "Vous n'avez pas assez d'argent, l'ami." -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" -msgstr "" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" +msgstr "Vous avez atteint le montant maximum de {currency} ! Veuillez dépenser plus 😬\\n{old_balance} -> {new_balance}!" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" -msgstr "" +msgstr "Rien !" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" -msgstr "" +msgstr "Votre mise : {amount}" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." -msgstr "" +msgstr "Gérer les paramètres de l'economie." -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" -msgstr "" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" +msgstr "----Paramètres de l'économie----\\nMise minimale de la machine à sous : {slot_min}\\nMise maximale de la machine à sous : {slot_max}\\nCooldown de la machine à sous : {slot_time}\\nMontant du payday : {payday_amount}\\nCooldown du payday : {payday_time}\\nMontant donné lors de l'ouverture du compte : {register_amount}" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." -msgstr "" +msgstr "Définir le montant minimum de la machine à sous." -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "Le montant minimum de la mise est invalide." -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." -msgstr "" +msgstr "La mise minimum est maintenant de {bid} {currency}." -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." -msgstr "" +msgstr "Définir le montant maximum de la machine à sous." -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." -msgstr "" +msgstr "Montant de mise maximum invalide. Il doit être supérieur au montant minimum." -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." -msgstr "" - -#: redbot/cogs/economy/economy.py:573 -#, docstring -msgid "Set the cooldown for the slot machine." -msgstr "" - -#: redbot/cogs/economy/economy.py:579 -msgid "Cooldown is now {num} seconds." -msgstr "" - -#: redbot/cogs/economy/economy.py:583 -#, docstring -msgid "Set the cooldown for payday." -msgstr "" - -#: redbot/cogs/economy/economy.py:590 -msgid "Value modified. At least {num} seconds must pass between each payday." -msgstr "" +msgstr "La mise maximum est maintenant de {bid} {currency}." #: redbot/cogs/economy/economy.py:597 #, docstring -msgid "Set the amount earned each payday." -msgstr "" +msgid "Set the cooldown for the slot machine." +msgstr "Définir le cooldown de la machine à sous." -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "Le cooldown est maintenant de {num} secondes." + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "Définir le cooldown du payday." + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "Valeur modifiée. Au moins {num} secondes doivent passer entre chaque payday." + +#: redbot/cogs/economy/economy.py:621 +#, docstring +msgid "Set the amount earned each payday." +msgstr "Définir le montant gagné à chaque payday." + +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "Ha ha trop drôle." -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." -msgstr "" +msgstr "Chaque payday donnera désormais {num} {currency}." -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." -msgstr "" +msgstr "Définir le montant gagné chaque payday pour un rôle." -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." -msgstr "" - -#: redbot/cogs/economy/economy.py:626 -msgid "Every payday will now give {num} {currency} to people with the role {role_name}." -msgstr "" - -#: redbot/cogs/economy/economy.py:634 -#, docstring -msgid "Set the initial balance for new bank accounts." -msgstr "" - -#: redbot/cogs/economy/economy.py:641 -msgid "Registering an account will now give {num} {currency}." -msgstr "" +msgstr "La banque doit être par serveur pour que les paydays par rôle fonctionnent." #: redbot/cogs/economy/economy.py:650 +msgid "Every payday will now give {num} {currency} to people with the role {role_name}." +msgstr "Chaque payday donnera désormais {num} {currency} aux personnes ayant le rôle {role_name}." + +#: redbot/cogs/economy/economy.py:658 +#, docstring +msgid "Set the initial balance for new bank accounts." +msgstr "Définir le solde initial des nouveaux comptes bancaires." + +#: redbot/cogs/economy/economy.py:665 +msgid "Registering an account will now give {num} {currency}." +msgstr "L'enregistrement d'un compte donnera maintenant {num} {currency}." + +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "semaines" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "jours" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "heures" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "minutes" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "secondes" diff --git a/redbot/cogs/economy/locales/hu-HU.po b/redbot/cogs/economy/locales/hu-HU.po index 5b66e57d1..0e5ad1ec8 100644 --- a/redbot/cogs/economy/locales/hu-HU.po +++ b/redbot/cogs/economy/locales/hu-HU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,14 +45,7 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" msgstr "" #: redbot/cogs/economy/economy.py:112 @@ -67,8 +60,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." +msgid "Show the user's account balance.\\n\\n Defaults to yours." msgstr "" #: redbot/cogs/economy/economy.py:161 @@ -86,13 +78,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " msgstr "" #: redbot/cogs/economy/economy.py:201 @@ -113,8 +99,7 @@ msgid "Delete all bank accounts." msgstr "" #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 @@ -131,14 +116,11 @@ msgid "Get some free currency." msgstr "" #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 @@ -146,175 +128,169 @@ msgid "{author.mention} Too soon. For your next payday you have to wait {time}." msgstr "" #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "" -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "" -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "" -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "" -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "" -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "" -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:573 -#, docstring -msgid "Set the cooldown for the slot machine." -msgstr "" - -#: redbot/cogs/economy/economy.py:579 -msgid "Cooldown is now {num} seconds." -msgstr "" - -#: redbot/cogs/economy/economy.py:583 -#, docstring -msgid "Set the cooldown for payday." -msgstr "" - -#: redbot/cogs/economy/economy.py:590 -msgid "Value modified. At least {num} seconds must pass between each payday." -msgstr "" - #: redbot/cogs/economy/economy.py:597 #, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring msgid "Set the amount earned each payday." msgstr "" -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "" -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." msgstr "" -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "" -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "" -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." msgstr "" -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "" diff --git a/redbot/cogs/economy/locales/id-ID.po b/redbot/cogs/economy/locales/id-ID.po index 4a1cb76fc..44a55710a 100644 --- a/redbot/cogs/economy/locales/id-ID.po +++ b/redbot/cogs/economy/locales/id-ID.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,22 +45,8 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "Dua simbol berturut-turut! Taruhan Anda telah dikalikan * 2!" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" -msgstr "Hadiah mesin slot:\n" -"{two.value} {two.value} {six.value} Taruhan * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Taruhan * 4\n" -"{cherries.value} {cherries.value} Taruhan * 3\n\n" -"Tiga simbol: +500\n" -"Dua simbol: Taruhan * 2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" +msgstr "" #: redbot/cogs/economy/economy.py:112 #, docstring @@ -74,8 +60,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." +msgid "Show the user's account balance.\\n\\n Defaults to yours." msgstr "" #: redbot/cogs/economy/economy.py:161 @@ -93,13 +78,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " msgstr "" #: redbot/cogs/economy/economy.py:201 @@ -120,8 +99,7 @@ msgid "Delete all bank accounts." msgstr "" #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 @@ -138,14 +116,11 @@ msgid "Get some free currency." msgstr "" #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 @@ -153,175 +128,169 @@ msgid "{author.mention} Too soon. For your next payday you have to wait {time}." msgstr "" #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "Tidak ada rekening di bank." -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "Anda sedang dalam keadaan dingin, coba lagi sebentar lagi." -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "Itu adalah jumlah tawaran yang tidak valid, maaf: /" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "Anda tidak punya cukup uang, teman." -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "" -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "Jumlah tawaran min. Tidak valid." -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "" -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:573 -#, docstring -msgid "Set the cooldown for the slot machine." -msgstr "" - -#: redbot/cogs/economy/economy.py:579 -msgid "Cooldown is now {num} seconds." -msgstr "" - -#: redbot/cogs/economy/economy.py:583 -#, docstring -msgid "Set the cooldown for payday." -msgstr "" - -#: redbot/cogs/economy/economy.py:590 -msgid "Value modified. At least {num} seconds must pass between each payday." -msgstr "" - #: redbot/cogs/economy/economy.py:597 #, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring msgid "Set the amount earned each payday." msgstr "" -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "Har har sangat lucu." -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." msgstr "" -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "" -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "" -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." msgstr "" -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "pekan" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "hari" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "jam" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "menit" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "detik" diff --git a/redbot/cogs/economy/locales/it-IT.po b/redbot/cogs/economy/locales/it-IT.po index d8eaf5ede..82b0db267 100644 --- a/redbot/cogs/economy/locales/it-IT.po +++ b/redbot/cogs/economy/locales/it-IT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,22 +45,8 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "Due simboli consecutivi! L'offerta è stato moltiplicato * 2!" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" -msgstr "Vincite slot machine:\n" -"{two.value} {two.value} {six.value} scommessa * 2500\n" -"{flc.value} {flc.value} {flc.value} + 1000\n" -"{cherries.value} {cherries.value} {cherries.value} + 800\n" -"{two.value} {six.value} scommessa * 4 \n" -"{cherries.value} {cherries.value} scommessa * 3 \n\n" -"tre simboli: + 500 \n" -"due simboli: scommessa * 2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" +msgstr "" #: redbot/cogs/economy/economy.py:112 #, docstring @@ -74,8 +60,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." +msgid "Show the user's account balance.\\n\\n Defaults to yours." msgstr "" #: redbot/cogs/economy/economy.py:161 @@ -93,13 +78,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " msgstr "" #: redbot/cogs/economy/economy.py:201 @@ -120,8 +99,7 @@ msgid "Delete all bank accounts." msgstr "" #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 @@ -138,14 +116,11 @@ msgid "Get some free currency." msgstr "" #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 @@ -153,175 +128,169 @@ msgid "{author.mention} Too soon. For your next payday you have to wait {time}." msgstr "" #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "Non ci sono nessun conto in banca." -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "Sei il cooldown, riprovare in un po '." -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "È un invalido offerta importo, mi dispiace :/" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "Non hai abbastanza soldi, amico." -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "" -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "Importo dell'offerta valida min." -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "" -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:573 -#, docstring -msgid "Set the cooldown for the slot machine." -msgstr "" - -#: redbot/cogs/economy/economy.py:579 -msgid "Cooldown is now {num} seconds." -msgstr "" - -#: redbot/cogs/economy/economy.py:583 -#, docstring -msgid "Set the cooldown for payday." -msgstr "" - -#: redbot/cogs/economy/economy.py:590 -msgid "Value modified. At least {num} seconds must pass between each payday." -msgstr "" - #: redbot/cogs/economy/economy.py:597 #, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring msgid "Set the amount earned each payday." msgstr "" -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "Har har così divertente." -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." msgstr "" -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "" -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "" -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." msgstr "" -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "settimane" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "giorni" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "ore" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "minuti" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "secondi" diff --git a/redbot/cogs/economy/locales/ja-JP.po b/redbot/cogs/economy/locales/ja-JP.po index ae7c030c5..bd9b87845 100644 --- a/redbot/cogs/economy/locales/ja-JP.po +++ b/redbot/cogs/economy/locales/ja-JP.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,22 +45,8 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "2つの連続したシンボル!入札は2倍されました!" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" -msgstr "スロットマシンペイアウト:\n" -"{two.value} {two.value} {six.value} \n" -"ベット*2500 {flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800 \n" -"{two.value} {six.value} ベット*4 \n" -"{cherries.value} {cherries.value} ベット*3\n\n" -"3つのシンボル:+500\n" -"2つのシンボル:ベット*2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" +msgstr "" #: redbot/cogs/economy/economy.py:112 #, docstring @@ -74,8 +60,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." +msgid "Show the user's account balance.\\n\\n Defaults to yours." msgstr "" #: redbot/cogs/economy/economy.py:161 @@ -93,13 +78,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " msgstr "" #: redbot/cogs/economy/economy.py:201 @@ -120,8 +99,7 @@ msgid "Delete all bank accounts." msgstr "" #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 @@ -138,14 +116,11 @@ msgid "Get some free currency." msgstr "" #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 @@ -153,175 +128,169 @@ msgid "{author.mention} Too soon. For your next payday you have to wait {time}." msgstr "" #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "銀行には口座がありません。" -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "クールダウン中です。後でもう一度やり直してください。" -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "無効な入札額です。ごめんね (。•́︿•̀。)" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "十分なお金がないよ。" -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "" -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "最低入札額が無効です。" -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "" -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:573 -#, docstring -msgid "Set the cooldown for the slot machine." -msgstr "" - -#: redbot/cogs/economy/economy.py:579 -msgid "Cooldown is now {num} seconds." -msgstr "" - -#: redbot/cogs/economy/economy.py:583 -#, docstring -msgid "Set the cooldown for payday." -msgstr "" - -#: redbot/cogs/economy/economy.py:590 -msgid "Value modified. At least {num} seconds must pass between each payday." -msgstr "" - #: redbot/cogs/economy/economy.py:597 #, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring msgid "Set the amount earned each payday." msgstr "" -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "まぁ。おもしろいね…" -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." msgstr "" -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "" -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "" -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." msgstr "" -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "週間" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "日間" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "時間" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "分間" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "秒間" diff --git a/redbot/cogs/economy/locales/ko-KR.po b/redbot/cogs/economy/locales/ko-KR.po index b172c8def..080ac87fc 100644 --- a/redbot/cogs/economy/locales/ko-KR.po +++ b/redbot/cogs/economy/locales/ko-KR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,20 +45,8 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "2연속 심볼! 당신의 입찰 가격이 2배로 늘었어요!" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" -msgstr "슬롯 머신 지불금 :\n" -"{two.value} {two.value} {six.value} 베팅 * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} 베팅 * 4\n" -"{cherries.value} {cherries.value} 베팅 * 3" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" +msgstr "" #: redbot/cogs/economy/economy.py:112 #, docstring @@ -72,8 +60,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." +msgid "Show the user's account balance.\\n\\n Defaults to yours." msgstr "" #: redbot/cogs/economy/economy.py:161 @@ -91,13 +78,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " msgstr "" #: redbot/cogs/economy/economy.py:201 @@ -118,8 +99,7 @@ msgid "Delete all bank accounts." msgstr "" #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 @@ -136,14 +116,11 @@ msgid "Get some free currency." msgstr "" #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 @@ -151,175 +128,169 @@ msgid "{author.mention} Too soon. For your next payday you have to wait {time}." msgstr "" #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "은행에 등록된 계좌가 없어요." -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "사용자님은 지금 쿨타임이에요. 잠시 후에 다시 시도해보세요." -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "잘못된 입찰 금액이에요, 죄송해요. ;/" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "동작 그만, 밑장빼기냐? 돈이 없잖아." -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "" -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "최소 입찰 금액이 잘못됐어요." -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "" -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:573 -#, docstring -msgid "Set the cooldown for the slot machine." -msgstr "" - -#: redbot/cogs/economy/economy.py:579 -msgid "Cooldown is now {num} seconds." -msgstr "" - -#: redbot/cogs/economy/economy.py:583 -#, docstring -msgid "Set the cooldown for payday." -msgstr "" - -#: redbot/cogs/economy/economy.py:590 -msgid "Value modified. At least {num} seconds must pass between each payday." -msgstr "" - #: redbot/cogs/economy/economy.py:597 #, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring msgid "Set the amount earned each payday." msgstr "" -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "ㅋㅋㅋ 개 재밌다." -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." msgstr "" -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "" -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "" -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." msgstr "" -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "주" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "날" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "시간" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "분" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "초" diff --git a/redbot/cogs/economy/locales/lol-US.po b/redbot/cogs/economy/locales/lol-US.po index 1fcad2797..76878e723 100644 --- a/redbot/cogs/economy/locales/lol-US.po +++ b/redbot/cogs/economy/locales/lol-US.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: LOLCAT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,14 +45,7 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" msgstr "" #: redbot/cogs/economy/economy.py:112 @@ -67,8 +60,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." +msgid "Show the user's account balance.\\n\\n Defaults to yours." msgstr "" #: redbot/cogs/economy/economy.py:161 @@ -86,13 +78,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " msgstr "" #: redbot/cogs/economy/economy.py:201 @@ -113,8 +99,7 @@ msgid "Delete all bank accounts." msgstr "" #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 @@ -131,14 +116,11 @@ msgid "Get some free currency." msgstr "" #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 @@ -146,175 +128,169 @@ msgid "{author.mention} Too soon. For your next payday you have to wait {time}." msgstr "" #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "" -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "" -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "" -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "" -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "" -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "" -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:573 -#, docstring -msgid "Set the cooldown for the slot machine." -msgstr "" - -#: redbot/cogs/economy/economy.py:579 -msgid "Cooldown is now {num} seconds." -msgstr "" - -#: redbot/cogs/economy/economy.py:583 -#, docstring -msgid "Set the cooldown for payday." -msgstr "" - -#: redbot/cogs/economy/economy.py:590 -msgid "Value modified. At least {num} seconds must pass between each payday." -msgstr "" - #: redbot/cogs/economy/economy.py:597 #, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring msgid "Set the amount earned each payday." msgstr "" -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "" -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." msgstr "" -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "" -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "" -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." msgstr "" -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "" diff --git a/redbot/cogs/economy/locales/nl-NL.po b/redbot/cogs/economy/locales/nl-NL.po index efd7a85d6..7be648ae6 100644 --- a/redbot/cogs/economy/locales/nl-NL.po +++ b/redbot/cogs/economy/locales/nl-NL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,22 +45,8 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "Twee dezelfde symbolen! Je bod is verdubbeld!" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" -msgstr "Slot machine uitbetalingen:\n" -"{two.value} {two.value} {six.value} Bod * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bod * 4\n" -"{cherries.value} {cherries.value} Bod * 3\n\n" -"Drie symbolen: +500\n" -"Twee symbolen: Bod * 2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" +msgstr "" #: redbot/cogs/economy/economy.py:112 #, docstring @@ -74,10 +60,8 @@ msgstr "Beheer de bank." #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." -msgstr "Toon het saldo van de gebruiker.\n\n" -" Standaard naar de jouwe." +msgid "Show the user's account balance.\\n\\n Defaults to yours." +msgstr "" #: redbot/cogs/economy/economy.py:161 msgid "{user}'s balance is {num} {currency}" @@ -94,19 +78,8 @@ msgstr "{user} verstuurde {num}{currency} naar {other_user}" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " -msgstr "Stel het saldo van de bankrekening van de gebruiker in.\n\n" -" Voorbeelden:\n" -" - `[p]bank set @Twentysix 26` - Zet het balans op 26\n" -" - `[p]bank set @Twentysix +2` - Verhoog het balans met 2\n" -" - `[p]bank set @Twentysix -6` - Verhoog het balans met 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " +msgstr "" #: redbot/cogs/economy/economy.py:201 msgid "{author} added {num} {currency} to {user}'s account." @@ -126,10 +99,8 @@ msgid "Delete all bank accounts." msgstr "Verwijder alle bank accounts." #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" -msgstr "Hiermee worden alle bankrekeningen gewist voor {scope}.\n" -"Als je hier zeker van bent, typ `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" +msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 msgid "this server" @@ -145,14 +116,11 @@ msgid "Get some free currency." msgstr "Krijg wat gratis geld." #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 @@ -160,183 +128,169 @@ msgid "{author.mention} Too soon. For your next payday you have to wait {time}." msgstr "{author.mention} Te snel. Voor de volgende uitbetaling moet je nog {time} wachten." #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " -msgstr "Print het leaderbord\n\n" -" Standaard tot top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " +msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "Naam" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "Score" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "Er zijn geen bankrekeningen." -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "Naam" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "Score" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "Toon de uitbetalingen voor de gokautomaat." -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "Gebruik de gokautomaat." -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "Je gaat te snel! Probeer het later opnieuw." -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "Dat is een ongeldig bod, sorry :/" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "Je hebt niet genoeg geld." -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "Niets!" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "Jouw bod: {amount}" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "Beheer Economy-instellingen." -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" -msgstr "---Economy Instellingen---\n" -"Minimale slotbod: {slot_min} \n" -"Maximum slotbod: {slot_max} \n" -"Slot cooldown: {slot_time} \n" -"Betaaldagbedrag: {payday_amount} \n" -"Betaaldag cooldown: {payday_time} \n" -"Bedrag gegeven bij accountregistratie: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" +msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "Stel het minimum gokautomaat bod in." -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "Ongeldig minimaal bod." -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "Het minimum bod is nu {bid} {currency}." -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "Stel het maximale gokautomaat bod in." -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "Ongeldige maximum biedingsbedrag. Moet groter zijn dan het minimumbedrag." -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "Het maximum bod is nu {bid} {currency}." -#: redbot/cogs/economy/economy.py:573 +#: redbot/cogs/economy/economy.py:597 #, docstring msgid "Set the cooldown for the slot machine." msgstr "Stel de cooldown voor de gokautomaat in." -#: redbot/cogs/economy/economy.py:579 +#: redbot/cogs/economy/economy.py:603 msgid "Cooldown is now {num} seconds." msgstr "Cooldown is nu {num} seconden." -#: redbot/cogs/economy/economy.py:583 +#: redbot/cogs/economy/economy.py:607 #, docstring msgid "Set the cooldown for payday." msgstr "Stel de cooldown voor betaaldag." -#: redbot/cogs/economy/economy.py:590 +#: redbot/cogs/economy/economy.py:614 msgid "Value modified. At least {num} seconds must pass between each payday." msgstr "Waarde gewijzigd. Ten minste {num} seconden moeten tussen elke betaaldag doorgaan." -#: redbot/cogs/economy/economy.py:597 +#: redbot/cogs/economy/economy.py:621 #, docstring msgid "Set the amount earned each payday." msgstr "Stel het bedrag in dat elke betaaldag wordt verdiend." -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "Ha ha, heel grappig." -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "Elke betaaldag geeft nu {num} {currency}." -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." msgstr "Stel het bedrag in dat elke betaaldag wordt verdiend voor een rol." -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "De bank moet ingesteld staan op per-server om de per-role betaaldagen werkbaar te maken." -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "Elke betaaldag geeft nu {num} {currency} aan mensen met de rol {role_name}." -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." msgstr "Stel het beginsaldo in voor nieuwe bankrekeningen." -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "Als je een account registreert, krijg je nu {num} {currency}." -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "weken" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "dagen" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "uren" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "minuten" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "seconden" diff --git a/redbot/cogs/economy/locales/no-NO.po b/redbot/cogs/economy/locales/no-NO.po index a57d10326..890793282 100644 --- a/redbot/cogs/economy/locales/no-NO.po +++ b/redbot/cogs/economy/locales/no-NO.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Norwegian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,22 +45,8 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "To påfølgende symboler! Budet er multiplisert * 2!" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" -msgstr "Spilleautomat utbetalinger:\n" -"{two.value} {two.value} {six.value} Bud * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bud * 4\n" -"{cherries.value} {cherries.value} Bud * 3\n\n" -"Tre symboler: +500\n" -"To symboler: Bud * 2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" +msgstr "" #: redbot/cogs/economy/economy.py:112 #, docstring @@ -74,8 +60,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." +msgid "Show the user's account balance.\\n\\n Defaults to yours." msgstr "" #: redbot/cogs/economy/economy.py:161 @@ -93,13 +78,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " msgstr "" #: redbot/cogs/economy/economy.py:201 @@ -120,8 +99,7 @@ msgid "Delete all bank accounts." msgstr "" #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 @@ -138,14 +116,11 @@ msgid "Get some free currency." msgstr "" #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 @@ -153,175 +128,169 @@ msgid "{author.mention} Too soon. For your next payday you have to wait {time}." msgstr "" #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "Det er ingen kontoer i banken." -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "Du er på ventetid, prøv igjen litt." -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "Det er et ugyldig bud beløp, beklager :/" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "Du ikke har nok penger, venn." -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "" -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "Ugyldig minimums bud beløp." -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "" -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:573 -#, docstring -msgid "Set the cooldown for the slot machine." -msgstr "" - -#: redbot/cogs/economy/economy.py:579 -msgid "Cooldown is now {num} seconds." -msgstr "" - -#: redbot/cogs/economy/economy.py:583 -#, docstring -msgid "Set the cooldown for payday." -msgstr "" - -#: redbot/cogs/economy/economy.py:590 -msgid "Value modified. At least {num} seconds must pass between each payday." -msgstr "" - #: redbot/cogs/economy/economy.py:597 #, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring msgid "Set the amount earned each payday." msgstr "" -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "Ha ha så morsomt." -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." msgstr "" -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "" -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "" -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." msgstr "" -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "uker" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "dager" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "timer" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "minutter" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "sekunder" diff --git a/redbot/cogs/economy/locales/pl-PL.po b/redbot/cogs/economy/locales/pl-PL.po index 0d3505606..5c2e10cf6 100644 --- a/redbot/cogs/economy/locales/pl-PL.po +++ b/redbot/cogs/economy/locales/pl-PL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,22 +45,8 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "Dwa kolejne symoble! Twój zakład został podwojony!" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" -msgstr "Wypłaty w automacie:\n" -"{two.value} {two.value} {six.value} Zakład * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Zakład * 4\n" -"{cherries.value} {cherries.value} Zakład * 3\n\n" -"Trzy symbole: +500\n" -"Dwa symbole: Zakład * 2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" +msgstr "" #: redbot/cogs/economy/economy.py:112 #, docstring @@ -74,8 +60,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." +msgid "Show the user's account balance.\\n\\n Defaults to yours." msgstr "" #: redbot/cogs/economy/economy.py:161 @@ -93,13 +78,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " msgstr "" #: redbot/cogs/economy/economy.py:201 @@ -120,13 +99,12 @@ msgid "Delete all bank accounts." msgstr "" #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 msgid "this server" -msgstr "" +msgstr "ten serwer" #: redbot/cogs/economy/economy.py:245 msgid "All bank accounts for {scope} have been deleted." @@ -138,14 +116,11 @@ msgid "Get some free currency." msgstr "" #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 @@ -153,175 +128,169 @@ msgid "{author.mention} Too soon. For your next payday you have to wait {time}." msgstr "" #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "Nie ma żadnych kont w banku." -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "Nazwa" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "Stan" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "Nie możesz tak często robić zakładów, spróbuj za chwilę." -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "Nieprawidłowa kwota zakładu, przepraszam :/" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "Nie masz tyle pieniędzy, kolego." -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "" -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "Nieprawidłowa minimalna kwota zakładu." -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "" -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:573 -#, docstring -msgid "Set the cooldown for the slot machine." -msgstr "" - -#: redbot/cogs/economy/economy.py:579 -msgid "Cooldown is now {num} seconds." -msgstr "" - -#: redbot/cogs/economy/economy.py:583 -#, docstring -msgid "Set the cooldown for payday." -msgstr "" - -#: redbot/cogs/economy/economy.py:590 -msgid "Value modified. At least {num} seconds must pass between each payday." -msgstr "" - #: redbot/cogs/economy/economy.py:597 #, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring msgid "Set the amount earned each payday." msgstr "" -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "He he, tak zabawne." -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." msgstr "" -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "" -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "" -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." msgstr "" -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "tygodni" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "dni" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "godzin" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "minut" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "sekund" diff --git a/redbot/cogs/economy/locales/pt-BR.po b/redbot/cogs/economy/locales/pt-BR.po index eb19e6486..3a32d0ba5 100644 --- a/redbot/cogs/economy/locales/pt-BR.po +++ b/redbot/cogs/economy/locales/pt-BR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese, Brazilian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,22 +45,8 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "Dois símbolos consecutivos! Sua aposta foi multiplicada * 2!" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" -msgstr "Pagamentos da máquina caça-níquel:\n" -"{two.value} {two.value} {six.value} Aposta * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Aposta * 4\n" -"{cherries.value} {cherries.value} Aposta * 3\n\n" -"Três símbolos: +500\n" -"Dois símbolos: Aposta * 2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" +msgstr "" #: redbot/cogs/economy/economy.py:112 #, docstring @@ -74,8 +60,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." +msgid "Show the user's account balance.\\n\\n Defaults to yours." msgstr "" #: redbot/cogs/economy/economy.py:161 @@ -93,13 +78,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " msgstr "" #: redbot/cogs/economy/economy.py:201 @@ -120,8 +99,7 @@ msgid "Delete all bank accounts." msgstr "" #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 @@ -138,14 +116,11 @@ msgid "Get some free currency." msgstr "" #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 @@ -153,175 +128,169 @@ msgid "{author.mention} Too soon. For your next payday you have to wait {time}." msgstr "" #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "Não há nenhuma conta no banco." -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "Você deve aguardar, tente novamente daqui a pouco." -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "Desculpe, mas isso é um valor de aposta inválido :/" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "Você não tem dinheiro suficiente, amigo." -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "" -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "Quantidade de aposta min inválido." -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "" -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:573 -#, docstring -msgid "Set the cooldown for the slot machine." -msgstr "" - -#: redbot/cogs/economy/economy.py:579 -msgid "Cooldown is now {num} seconds." -msgstr "" - -#: redbot/cogs/economy/economy.py:583 -#, docstring -msgid "Set the cooldown for payday." -msgstr "" - -#: redbot/cogs/economy/economy.py:590 -msgid "Value modified. At least {num} seconds must pass between each payday." -msgstr "" - #: redbot/cogs/economy/economy.py:597 #, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring msgid "Set the amount earned each payday." msgstr "" -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "Har har tão engraçado." -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." msgstr "" -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "" -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "" -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." msgstr "" -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "semanas" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "dias" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "horas" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "minutos" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "segundos" diff --git a/redbot/cogs/economy/locales/pt-PT.po b/redbot/cogs/economy/locales/pt-PT.po index 1fc26fdb4..d7f45d663 100644 --- a/redbot/cogs/economy/locales/pt-PT.po +++ b/redbot/cogs/economy/locales/pt-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,14 +45,7 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" msgstr "" #: redbot/cogs/economy/economy.py:112 @@ -67,8 +60,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." +msgid "Show the user's account balance.\\n\\n Defaults to yours." msgstr "" #: redbot/cogs/economy/economy.py:161 @@ -86,13 +78,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " msgstr "" #: redbot/cogs/economy/economy.py:201 @@ -113,8 +99,7 @@ msgid "Delete all bank accounts." msgstr "" #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 @@ -131,14 +116,11 @@ msgid "Get some free currency." msgstr "" #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 @@ -146,175 +128,169 @@ msgid "{author.mention} Too soon. For your next payday you have to wait {time}." msgstr "" #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "" -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "" -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "" -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "" -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "" -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "" -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:573 -#, docstring -msgid "Set the cooldown for the slot machine." -msgstr "" - -#: redbot/cogs/economy/economy.py:579 -msgid "Cooldown is now {num} seconds." -msgstr "" - -#: redbot/cogs/economy/economy.py:583 -#, docstring -msgid "Set the cooldown for payday." -msgstr "" - -#: redbot/cogs/economy/economy.py:590 -msgid "Value modified. At least {num} seconds must pass between each payday." -msgstr "" - #: redbot/cogs/economy/economy.py:597 #, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring msgid "Set the amount earned each payday." msgstr "" -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "" -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." msgstr "" -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "" -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "" -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." msgstr "" -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "" diff --git a/redbot/cogs/economy/locales/ro-RO.po b/redbot/cogs/economy/locales/ro-RO.po new file mode 100644 index 000000000..6e46725de --- /dev/null +++ b/redbot/cogs/economy/locales/ro-RO.po @@ -0,0 +1,296 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:09\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Romanian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /cogs/economy/locales/messages.pot\n" +"Language: ro_RO\n" + +#: redbot/cogs/economy/economy.py:42 +msgid "JACKPOT! 226! Your bid has been multiplied * 2500!" +msgstr "" + +#: redbot/cogs/economy/economy.py:46 +msgid "4LC! +1000!" +msgstr "" + +#: redbot/cogs/economy/economy.py:50 +msgid "Three cherries! +800!" +msgstr "" + +#: redbot/cogs/economy/economy.py:54 +msgid "2 6! Your bid has been multiplied * 4!" +msgstr "" + +#: redbot/cogs/economy/economy.py:58 +msgid "Two cherries! Your bid has been multiplied * 3!" +msgstr "" + +#: redbot/cogs/economy/economy.py:60 +msgid "Three symbols! +500!" +msgstr "" + +#: redbot/cogs/economy/economy.py:63 +msgid "Two consecutive symbols! Your bid has been multiplied * 2!" +msgstr "" + +#: redbot/cogs/economy/economy.py:67 +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" +msgstr "" + +#: redbot/cogs/economy/economy.py:112 +#, docstring +msgid "Get rich and have fun with imaginary currency!" +msgstr "" + +#: redbot/cogs/economy/economy.py:146 +#, docstring +msgid "Manage the bank." +msgstr "" + +#: redbot/cogs/economy/economy.py:151 +#, docstring +msgid "Show the user's account balance.\\n\\n Defaults to yours." +msgstr "" + +#: redbot/cogs/economy/economy.py:161 +msgid "{user}'s balance is {num} {currency}" +msgstr "" + +#: redbot/cogs/economy/economy.py:168 +#, docstring +msgid "Transfer currency to other users." +msgstr "" + +#: redbot/cogs/economy/economy.py:178 +msgid "{user} transferred {num} {currency} to {other_user}" +msgstr "" + +#: redbot/cogs/economy/economy.py:186 +#, docstring +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " +msgstr "" + +#: redbot/cogs/economy/economy.py:201 +msgid "{author} added {num} {currency} to {user}'s account." +msgstr "" + +#: redbot/cogs/economy/economy.py:209 +msgid "{author} removed {num} {currency} from {user}'s account." +msgstr "" + +#: redbot/cogs/economy/economy.py:217 +msgid "{author} set {user}'s account balance to {num} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:231 +#, docstring +msgid "Delete all bank accounts." +msgstr "" + +#: redbot/cogs/economy/economy.py:234 +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" +msgstr "" + +#: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 +msgid "this server" +msgstr "" + +#: redbot/cogs/economy/economy.py:245 +msgid "All bank accounts for {scope} have been deleted." +msgstr "" + +#: redbot/cogs/economy/economy.py:253 +#, docstring +msgid "Get some free currency." +msgstr "" + +#: redbot/cogs/economy/economy.py:267 +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" +msgstr "" + +#: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 +msgid "{author.mention} Too soon. For your next payday you have to wait {time}." +msgstr "" + +#: redbot/cogs/economy/economy.py:315 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" +msgstr "" + +#: redbot/cogs/economy/economy.py:350 +#, docstring +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " +msgstr "" + +#: redbot/cogs/economy/economy.py:367 +msgid "There are no accounts in the bank." +msgstr "" + +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 +#, docstring +msgid "Show the payouts for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:418 +#, docstring +msgid "Use the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:437 +msgid "You're on cooldown, try again in a bit." +msgstr "" + +#: redbot/cogs/economy/economy.py:440 +msgid "That's an invalid bid amount, sorry :/" +msgstr "" + +#: redbot/cogs/economy/economy.py:443 +msgid "You ain't got enough money, friend." +msgstr "" + +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" +msgstr "" + +#: redbot/cogs/economy/economy.py:512 +msgid "Nothing!" +msgstr "" + +#: redbot/cogs/economy/economy.py:516 +msgid "Your bid: {amount}" +msgstr "" + +#: redbot/cogs/economy/economy.py:532 +#, docstring +msgid "Manage Economy settings." +msgstr "" + +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" +msgstr "" + +#: redbot/cogs/economy/economy.py:562 +#, docstring +msgid "Set the minimum slot machine bid." +msgstr "" + +#: redbot/cogs/economy/economy.py:564 +msgid "Invalid min bid amount." +msgstr "" + +#: redbot/cogs/economy/economy.py:573 +msgid "Minimum bid is now {bid} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:578 +#, docstring +msgid "Set the maximum slot machine bid." +msgstr "" + +#: redbot/cogs/economy/economy.py:582 +msgid "Invalid maximum bid amount. Must be greater than the minimum amount." +msgstr "" + +#: redbot/cogs/economy/economy.py:592 +msgid "Maximum bid is now {bid} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:597 +#, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring +msgid "Set the amount earned each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 +msgid "Har har so funny." +msgstr "" + +#: redbot/cogs/economy/economy.py:632 +msgid "Every payday will now give {num} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:639 +#, docstring +msgid "Set the amount earned each payday for a role." +msgstr "" + +#: redbot/cogs/economy/economy.py:646 +msgid "The bank must be per-server for per-role paydays to work." +msgstr "" + +#: redbot/cogs/economy/economy.py:650 +msgid "Every payday will now give {num} {currency} to people with the role {role_name}." +msgstr "" + +#: redbot/cogs/economy/economy.py:658 +#, docstring +msgid "Set the initial balance for new bank accounts." +msgstr "" + +#: redbot/cogs/economy/economy.py:665 +msgid "Registering an account will now give {num} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:674 +msgid "weeks" +msgstr "" + +#: redbot/cogs/economy/economy.py:675 +msgid "days" +msgstr "" + +#: redbot/cogs/economy/economy.py:676 +msgid "hours" +msgstr "" + +#: redbot/cogs/economy/economy.py:677 +msgid "minutes" +msgstr "" + +#: redbot/cogs/economy/economy.py:678 +msgid "seconds" +msgstr "" + diff --git a/redbot/cogs/economy/locales/ru-RU.po b/redbot/cogs/economy/locales/ru-RU.po index 9e5389e1c..85f8fe43b 100644 --- a/redbot/cogs/economy/locales/ru-RU.po +++ b/redbot/cogs/economy/locales/ru-RU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 05:52\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -22,7 +22,7 @@ msgstr "ДЖЕКПОТ! 226! Ваша ставка была умножена н #: redbot/cogs/economy/economy.py:46 msgid "4LC! +1000!" -msgstr "Клевер! +1000!" +msgstr "Четырехлистный клевер! +1000!" #: redbot/cogs/economy/economy.py:50 msgid "Three cherries! +800!" @@ -45,22 +45,8 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "Два последовательных символа! Ваша ставка была умножена на 2!" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" -msgstr "Выплаты слот-машины:\n" -"{two.value} {two.value} {six.value} Ставка * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Ставка * 4\n" -"{cherries.value} {cherries.value} Ставка * 3\n\n" -"Три символа: +500\n" -"Два символа: Ставка * 2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" +msgstr "" #: redbot/cogs/economy/economy.py:112 #, docstring @@ -74,14 +60,12 @@ msgstr "Управление банком." #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." -msgstr "Показать баланс счета пользователя.\n\n" -" По умолчанию ваш." +msgid "Show the user's account balance.\\n\\n Defaults to yours." +msgstr "" #: redbot/cogs/economy/economy.py:161 msgid "{user}'s balance is {num} {currency}" -msgstr "Баланс {user} равен {num} {currency}" +msgstr "Баланс пользователя {user}: {num} {currency}" #: redbot/cogs/economy/economy.py:168 #, docstring @@ -94,20 +78,8 @@ msgstr "{user} перевёл {other_user} {num} {currency}" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " -msgstr "Установите баланс на банковском счете пользователя.\n\n" -" Передача положительных и отрицательных значений добавит/удалит валюту вместо этого.\n\n" -" Примеры:\n" -" - `[p]bank set @Twentysix 26` - Устанавливает баланс на 26\n" -" - `[p]bank set @Twentysix +2` - Увеличивает баланс на 2\n" -" - `[p]bank set @Twentysix -6` - Уменьшает баланс на 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " +msgstr "" #: redbot/cogs/economy/economy.py:201 msgid "{author} added {num} {currency} to {user}'s account." @@ -127,10 +99,8 @@ msgid "Delete all bank accounts." msgstr "Удалить все банковские счета." #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" -msgstr "Это удалит все банковские счета для {scope}.\n" -"Если вы уверены, наберите `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" +msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 msgid "this server" @@ -146,203 +116,181 @@ msgid "Get some free currency." msgstr "Получить немного бесплатной валюты." #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." -msgstr "Вы достигли максимального количества {currency}! (**{balance:,}**) Пожалуйста, потратьте еще немного 😬\n\n" -"У вас сейчас есть {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" -msgstr "{author.mention} Вот, возьми {currency}. Наслждайся! (+{amount} {currency}!)\n\n" -"У вас сейчас есть {new_balance} {currency}.\n\n" -"Вы в настоящее время #{pos} в глобальной таблице лидеров!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" +msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 msgid "{author.mention} Too soon. For your next payday you have to wait {time}." -msgstr "{author.mention} Слишком быстро. Для следующей твоей выплаты тебе нужно подождать {time}." +msgstr "{author.mention}, слишком рано. До следующей выплаты придется подождать {time}." #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." -msgstr "Вы достигли максимального количества {currency}! Пожалуйста, потратьте еще немного 😬\n\n" -"У вас сейчас есть {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" +msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " -msgstr "Напечатать таблицу лидеров.\n\n" -" По умолчанию в топ 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " +msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "Имя" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "Счет" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "В банке нет счетов." -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "Имя" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "Счет" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "Показать выплаты слот-машины." -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "Использовать слот-машину." -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "Ты играешь слишком часто, попробуй чуть позже." -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "К сожалению, это неправильная сумма ставки :/" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "Слушай, у тебя нет столько денег." -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" -msgstr "Вы достигли максимального количества {currency}! Пожалуйста, потратьте еще немного 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" +msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "Ничего!" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "Ваша ставка: {amount}" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "Управление настройками экономики." -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" -msgstr "----Настройки экономики---\n" -"Минимальная ставка в слот-машине: {slot_min}\n" -"Максимальная ставка в слот-машине: {slot_max}\n" -"Время восстановления слот-машины: {slot_time}\n" -"Сумма ежедневного жалованья: {payday_amount}\n" -"Время восстановления ежедневного жалованья: {payday_time}\n" -"Сумма, выдаваемая при регистрации аккаунта: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" +msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "Установите минимальную ставку слот-машины." -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "Неверная минимальная сумма ставки." -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "Минимальная ставка сейчас {bid} {currency}." -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "Установите максимальную ставку слот-машины." -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "Неверная максимальная сумма ставки. Должна быть больше минимальной суммы." -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "Максимальная ставка сейчас {bid} {currency}." -#: redbot/cogs/economy/economy.py:573 +#: redbot/cogs/economy/economy.py:597 #, docstring msgid "Set the cooldown for the slot machine." msgstr "Установите время восстановления слот-машины." -#: redbot/cogs/economy/economy.py:579 +#: redbot/cogs/economy/economy.py:603 msgid "Cooldown is now {num} seconds." msgstr "Перерыв между играми теперь {num} секунд." -#: redbot/cogs/economy/economy.py:583 +#: redbot/cogs/economy/economy.py:607 #, docstring msgid "Set the cooldown for payday." msgstr "Установите время восстановления для выплаты жалованья." -#: redbot/cogs/economy/economy.py:590 +#: redbot/cogs/economy/economy.py:614 msgid "Value modified. At least {num} seconds must pass between each payday." msgstr "Значение изменено. Теперь между выплатами должно пройти как минимум {num} секунд." -#: redbot/cogs/economy/economy.py:597 +#: redbot/cogs/economy/economy.py:621 #, docstring msgid "Set the amount earned each payday." msgstr "Установите сумму, заработанную каждый день выплаты жалованья." -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "Хах, смешно." -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "Каждая выплата теперь дает {num}{currency}." -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." -msgstr "Установите сумму, полученную каждый день выплаты за роль." +msgstr "Установить сумму, зарабатываемую за каждый день выплаты за роль." -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "Банк должен быть серверным, чтобы делать выплаты жалованья для ролей." -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "Теперь каждый день выплаты будет давать {num} {currency} людям с ролью {role_name}." -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." -msgstr "Установите начальный баланс для новых банковских счетов." +msgstr "Установить начальный баланс для новых банковских счетов." -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "Регистрация счета теперь даст {num} {currency}." -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" -msgstr "недель" +msgstr "нед." -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" -msgstr "дней" +msgstr "дн." -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" -msgstr "часов" +msgstr "ч." -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" -msgstr "минут" +msgstr "мин." -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" -msgstr "секунд" +msgstr "с." diff --git a/redbot/cogs/economy/locales/sk-SK.po b/redbot/cogs/economy/locales/sk-SK.po index 2d5226195..90a03ef33 100644 --- a/redbot/cogs/economy/locales/sk-SK.po +++ b/redbot/cogs/economy/locales/sk-SK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Slovak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,14 +45,7 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" msgstr "" #: redbot/cogs/economy/economy.py:112 @@ -67,8 +60,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." +msgid "Show the user's account balance.\\n\\n Defaults to yours." msgstr "" #: redbot/cogs/economy/economy.py:161 @@ -86,13 +78,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " msgstr "" #: redbot/cogs/economy/economy.py:201 @@ -113,8 +99,7 @@ msgid "Delete all bank accounts." msgstr "" #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 @@ -131,14 +116,11 @@ msgid "Get some free currency." msgstr "" #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 @@ -146,175 +128,169 @@ msgid "{author.mention} Too soon. For your next payday you have to wait {time}." msgstr "" #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "" -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "" -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "" -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "" -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "" -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "" -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:573 -#, docstring -msgid "Set the cooldown for the slot machine." -msgstr "" - -#: redbot/cogs/economy/economy.py:579 -msgid "Cooldown is now {num} seconds." -msgstr "" - -#: redbot/cogs/economy/economy.py:583 -#, docstring -msgid "Set the cooldown for payday." -msgstr "" - -#: redbot/cogs/economy/economy.py:590 -msgid "Value modified. At least {num} seconds must pass between each payday." -msgstr "" - #: redbot/cogs/economy/economy.py:597 #, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring msgid "Set the amount earned each payday." msgstr "" -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "" -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." msgstr "" -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "" -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "" -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." msgstr "" -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "" diff --git a/redbot/cogs/economy/locales/sv-SE.po b/redbot/cogs/economy/locales/sv-SE.po index 5267e6431..d17d5c6b4 100644 --- a/redbot/cogs/economy/locales/sv-SE.po +++ b/redbot/cogs/economy/locales/sv-SE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,22 +45,8 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "Två på varandra lika följande symboler! Din insats har multiplicerats * 2!" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" -msgstr "Spelautomatens utbetalningar:\n" -"{two.value} {two.value} {six.value} Insats * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Insats * 4\n" -"{cherries.value} {cherries.value} Insats * 3\n\n" -"Tre symboler: +500\n" -"Två symboler: Insats *2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" +msgstr "" #: redbot/cogs/economy/economy.py:112 #, docstring @@ -74,8 +60,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." +msgid "Show the user's account balance.\\n\\n Defaults to yours." msgstr "" #: redbot/cogs/economy/economy.py:161 @@ -93,13 +78,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " msgstr "" #: redbot/cogs/economy/economy.py:201 @@ -120,8 +99,7 @@ msgid "Delete all bank accounts." msgstr "" #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 @@ -138,14 +116,11 @@ msgid "Get some free currency." msgstr "" #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 @@ -153,175 +128,169 @@ msgid "{author.mention} Too soon. For your next payday you have to wait {time}." msgstr "" #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "Det finns inga konton i banken." -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "Du är på cooldown, försök igen om en liten stund." -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "Det är inte en giltig insats summa, förlåt :/" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "Du har inte tillräckligt med pengar, kompis." -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "" -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "Ej giltig minsta insats summa." -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "" -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:573 -#, docstring -msgid "Set the cooldown for the slot machine." -msgstr "" - -#: redbot/cogs/economy/economy.py:579 -msgid "Cooldown is now {num} seconds." -msgstr "" - -#: redbot/cogs/economy/economy.py:583 -#, docstring -msgid "Set the cooldown for payday." -msgstr "" - -#: redbot/cogs/economy/economy.py:590 -msgid "Value modified. At least {num} seconds must pass between each payday." -msgstr "" - #: redbot/cogs/economy/economy.py:597 #, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring msgid "Set the amount earned each payday." msgstr "" -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "Har har så kul." -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." msgstr "" -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "" -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "" -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." msgstr "" -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "veckor" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "dagar" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "timmar" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "minuter" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "sekunder" diff --git a/redbot/cogs/economy/locales/tr-TR.po b/redbot/cogs/economy/locales/tr-TR.po index 0b4de7ccc..045f6235b 100644 --- a/redbot/cogs/economy/locales/tr-TR.po +++ b/redbot/cogs/economy/locales/tr-TR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,14 +45,7 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" msgstr "" #: redbot/cogs/economy/economy.py:112 @@ -67,8 +60,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." +msgid "Show the user's account balance.\\n\\n Defaults to yours." msgstr "" #: redbot/cogs/economy/economy.py:161 @@ -86,13 +78,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " msgstr "" #: redbot/cogs/economy/economy.py:201 @@ -113,8 +99,7 @@ msgid "Delete all bank accounts." msgstr "" #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 @@ -131,14 +116,11 @@ msgid "Get some free currency." msgstr "" #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 @@ -146,176 +128,170 @@ msgid "{author.mention} Too soon. For your next payday you have to wait {time}." msgstr "" #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "" -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "" -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "" -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "" -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "" -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "Minimum teklif şimdi {bid} {currency} ' dir." -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "En fazla slot makinesidir belirlersiniz." -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "Geçersiz en büyük teklif tutarını. Az büyük olması gerekir." -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "Maksimum teklifi şimdi {bid} {currency} ' dir." -#: redbot/cogs/economy/economy.py:573 +#: redbot/cogs/economy/economy.py:597 #, docstring msgid "Set the cooldown for the slot machine." msgstr "Slot makinesidir için bekleme süresi ayarlayın." -#: redbot/cogs/economy/economy.py:579 +#: redbot/cogs/economy/economy.py:603 msgid "Cooldown is now {num} seconds." msgstr "Bekleme süresi şimdi {num} saniyedir." -#: redbot/cogs/economy/economy.py:583 +#: redbot/cogs/economy/economy.py:607 #, docstring msgid "Set the cooldown for payday." msgstr "Ödeme günü için cooldown'u ayarlayın." -#: redbot/cogs/economy/economy.py:590 +#: redbot/cogs/economy/economy.py:614 msgid "Value modified. At least {num} seconds must pass between each payday." msgstr "Değer değiştirildi. Her ödeme günü arasında en az {num} saniye geçmelidir." -#: redbot/cogs/economy/economy.py:597 +#: redbot/cogs/economy/economy.py:621 #, docstring msgid "Set the amount earned each payday." msgstr "Her payday kazanılan miktarı ayarlayın." -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "Çok komikler." -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "Her ödeme günü şimdi {num} {currency} verecek." -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." msgstr "Bir rol için her maaş günü kazanılan ayarlayın." -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "Banka sunucu rolü başına paydays çalışmak için başına olmalıdır." -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "\n" "Her ödeme günü şimdi {role_name} rolüne sahip olan kişilere {num} {currency} verecek." -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." msgstr "Yeni banka hesapları için başlangıç ​​bakiyesini ayarlayın." -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "Bir hesap kayıt {num} {currency} şimdi verin." -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "hafta" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "günler" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "saatler" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "dakika" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "saniye" diff --git a/redbot/cogs/economy/locales/zh-CN.po b/redbot/cogs/economy/locales/zh-CN.po index ec67190d8..c7b25e714 100644 --- a/redbot/cogs/economy/locales/zh-CN.po +++ b/redbot/cogs/economy/locales/zh-CN.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -45,22 +45,8 @@ msgid "Two consecutive symbols! Your bid has been multiplied * 2!" msgstr "两个连续的符号!你的出价已经翻倍!" #: redbot/cogs/economy/economy.py:67 -msgid "Slot machine payouts:\n" -"{two.value} {two.value} {six.value} Bet * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800\n" -"{two.value} {six.value} Bet * 4\n" -"{cherries.value} {cherries.value} Bet * 3\n\n" -"Three symbols: +500\n" -"Two symbols: Bet * 2" -msgstr "老虎机支付:\n" -"{two.value} {two.value} {six.value} 投注 * 2500\n" -"{flc.value} {flc.value} {flc.value} +1000\n" -"{cherries.value} {cherries.value} {cherries.value} +800 \n" -"{two.value} {six.value} 投注 * 4 \n" -"{cherries.value} {cherries.value} 投注 * 3 \n\n" -"三符号: +500 \n" -"两符号: 下注 * 2" +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" +msgstr "" #: redbot/cogs/economy/economy.py:112 #, docstring @@ -74,8 +60,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:151 #, docstring -msgid "Show the user's account balance.\n\n" -" Defaults to yours." +msgid "Show the user's account balance.\\n\\n Defaults to yours." msgstr "" #: redbot/cogs/economy/economy.py:161 @@ -93,13 +78,7 @@ msgstr "" #: redbot/cogs/economy/economy.py:186 #, docstring -msgid "Set the balance of user's bank account.\n\n" -" Passing positive and negative values will add/remove currency instead.\n\n" -" Examples:\n" -" - `[p]bank set @Twentysix 26` - Sets balance to 26\n" -" - `[p]bank set @Twentysix +2` - Increases balance by 2\n" -" - `[p]bank set @Twentysix -6` - Decreases balance by 6\n" -" " +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " msgstr "" #: redbot/cogs/economy/economy.py:201 @@ -120,8 +99,7 @@ msgid "Delete all bank accounts." msgstr "" #: redbot/cogs/economy/economy.py:234 -msgid "This will delete all bank accounts for {scope}.\n" -"If you're sure, type `{prefix}bank reset yes`" +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" msgstr "" #: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 @@ -138,14 +116,11 @@ msgid "Get some free currency." msgstr "" #: redbot/cogs/economy/economy.py:267 -msgid "You've reached the maximum amount of {currency}! (**{balance:,}**) Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:279 redbot/cogs/economy/economy.py:326 -msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\n\n" -"You currently have {new_balance} {currency}.\n\n" -"You are currently #{pos} on the global leaderboard!" +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 @@ -153,175 +128,169 @@ msgid "{author.mention} Too soon. For your next payday you have to wait {time}." msgstr "" #: redbot/cogs/economy/economy.py:315 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n\n" -"You currently have {new_balance} {currency}." +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" msgstr "" #: redbot/cogs/economy/economy.py:350 #, docstring -msgid "Print the leaderboard.\n\n" -" Defaults to top 10.\n" -" " +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " msgstr "" -#: redbot/cogs/economy/economy.py:364 -msgid "Name" -msgstr "" - -#: redbot/cogs/economy/economy.py:364 -msgid "Score" -msgstr "" - -#: redbot/cogs/economy/economy.py:385 +#: redbot/cogs/economy/economy.py:367 msgid "There are no accounts in the bank." msgstr "在这个银行中没有账户。" -#: redbot/cogs/economy/economy.py:390 +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 #, docstring msgid "Show the payouts for the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:396 +#: redbot/cogs/economy/economy.py:418 #, docstring msgid "Use the slot machine." msgstr "" -#: redbot/cogs/economy/economy.py:415 +#: redbot/cogs/economy/economy.py:437 msgid "You're on cooldown, try again in a bit." msgstr "请冷静,稍后再试。" -#: redbot/cogs/economy/economy.py:418 +#: redbot/cogs/economy/economy.py:440 msgid "That's an invalid bid amount, sorry :/" msgstr "对不起,这是无效出价金额 :/" -#: redbot/cogs/economy/economy.py:421 +#: redbot/cogs/economy/economy.py:443 msgid "You ain't got enough money, friend." msgstr "你没有足够的资金。" -#: redbot/cogs/economy/economy.py:473 -msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\n" -"{old_balance} -> {new_balance}!" +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" msgstr "" -#: redbot/cogs/economy/economy.py:488 +#: redbot/cogs/economy/economy.py:512 msgid "Nothing!" msgstr "" -#: redbot/cogs/economy/economy.py:492 +#: redbot/cogs/economy/economy.py:516 msgid "Your bid: {amount}" msgstr "" -#: redbot/cogs/economy/economy.py:508 +#: redbot/cogs/economy/economy.py:532 #, docstring msgid "Manage Economy settings." msgstr "" -#: redbot/cogs/economy/economy.py:517 -msgid "----Economy Settings---\n" -"Minimum slot bid: {slot_min}\n" -"Maximum slot bid: {slot_max}\n" -"Slot cooldown: {slot_time}\n" -"Payday amount: {payday_amount}\n" -"Payday cooldown: {payday_time}\n" -"Amount given at account registration: {register_amount}" +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" msgstr "" -#: redbot/cogs/economy/economy.py:538 +#: redbot/cogs/economy/economy.py:562 #, docstring msgid "Set the minimum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:540 +#: redbot/cogs/economy/economy.py:564 msgid "Invalid min bid amount." msgstr "无效的最小出价金额。" -#: redbot/cogs/economy/economy.py:549 +#: redbot/cogs/economy/economy.py:573 msgid "Minimum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:554 +#: redbot/cogs/economy/economy.py:578 #, docstring msgid "Set the maximum slot machine bid." msgstr "" -#: redbot/cogs/economy/economy.py:558 +#: redbot/cogs/economy/economy.py:582 msgid "Invalid maximum bid amount. Must be greater than the minimum amount." msgstr "" -#: redbot/cogs/economy/economy.py:568 +#: redbot/cogs/economy/economy.py:592 msgid "Maximum bid is now {bid} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:573 -#, docstring -msgid "Set the cooldown for the slot machine." -msgstr "" - -#: redbot/cogs/economy/economy.py:579 -msgid "Cooldown is now {num} seconds." -msgstr "" - -#: redbot/cogs/economy/economy.py:583 -#, docstring -msgid "Set the cooldown for payday." -msgstr "" - -#: redbot/cogs/economy/economy.py:590 -msgid "Value modified. At least {num} seconds must pass between each payday." -msgstr "" - #: redbot/cogs/economy/economy.py:597 #, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring msgid "Set the amount earned each payday." msgstr "" -#: redbot/cogs/economy/economy.py:600 redbot/cogs/economy/economy.py:618 +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 msgid "Har har so funny." msgstr "非常好笑" -#: redbot/cogs/economy/economy.py:608 +#: redbot/cogs/economy/economy.py:632 msgid "Every payday will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:615 +#: redbot/cogs/economy/economy.py:639 #, docstring msgid "Set the amount earned each payday for a role." msgstr "" -#: redbot/cogs/economy/economy.py:622 +#: redbot/cogs/economy/economy.py:646 msgid "The bank must be per-server for per-role paydays to work." msgstr "" -#: redbot/cogs/economy/economy.py:626 +#: redbot/cogs/economy/economy.py:650 msgid "Every payday will now give {num} {currency} to people with the role {role_name}." msgstr "" -#: redbot/cogs/economy/economy.py:634 +#: redbot/cogs/economy/economy.py:658 #, docstring msgid "Set the initial balance for new bank accounts." msgstr "" -#: redbot/cogs/economy/economy.py:641 +#: redbot/cogs/economy/economy.py:665 msgid "Registering an account will now give {num} {currency}." msgstr "" -#: redbot/cogs/economy/economy.py:650 +#: redbot/cogs/economy/economy.py:674 msgid "weeks" msgstr "周" -#: redbot/cogs/economy/economy.py:651 +#: redbot/cogs/economy/economy.py:675 msgid "days" msgstr "日" -#: redbot/cogs/economy/economy.py:652 +#: redbot/cogs/economy/economy.py:676 msgid "hours" msgstr "小时" -#: redbot/cogs/economy/economy.py:653 +#: redbot/cogs/economy/economy.py:677 msgid "minutes" msgstr "分钟" -#: redbot/cogs/economy/economy.py:654 +#: redbot/cogs/economy/economy.py:678 msgid "seconds" msgstr "秒数" diff --git a/redbot/cogs/economy/locales/zh-TW.po b/redbot/cogs/economy/locales/zh-TW.po new file mode 100644 index 000000000..461ed79b0 --- /dev/null +++ b/redbot/cogs/economy/locales/zh-TW.po @@ -0,0 +1,296 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Chinese Traditional\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /cogs/economy/locales/messages.pot\n" +"Language: zh_TW\n" + +#: redbot/cogs/economy/economy.py:42 +msgid "JACKPOT! 226! Your bid has been multiplied * 2500!" +msgstr "大獎! 226! 你的出價已經翻了2500倍!" + +#: redbot/cogs/economy/economy.py:46 +msgid "4LC! +1000!" +msgstr "4LC! +1000!" + +#: redbot/cogs/economy/economy.py:50 +msgid "Three cherries! +800!" +msgstr "三個櫻桃!+800!" + +#: redbot/cogs/economy/economy.py:54 +msgid "2 6! Your bid has been multiplied * 4!" +msgstr "2 6! 你的出價已經翻了4倍!" + +#: redbot/cogs/economy/economy.py:58 +msgid "Two cherries! Your bid has been multiplied * 3!" +msgstr "兩個櫻桃! 你的出價已經翻了3倍!" + +#: redbot/cogs/economy/economy.py:60 +msgid "Three symbols! +500!" +msgstr "三個符號! +500!" + +#: redbot/cogs/economy/economy.py:63 +msgid "Two consecutive symbols! Your bid has been multiplied * 2!" +msgstr "兩個連續的符號!你的出價已經翻倍!" + +#: redbot/cogs/economy/economy.py:67 +msgid "Slot machine payouts:\\n{two.value} {two.value} {six.value} Bet * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800\\n{two.value} {six.value} Bet * 4\\n{cherries.value} {cherries.value} Bet * 3\\n\\nThree symbols: +500\\nTwo symbols: Bet * 2" +msgstr "老虎機支付:\\n{two.value} {two.value} {six.value} 投注 * 2500\\n{flc.value} {flc.value} {flc.value} +1000\\n{cherries.value} {cherries.value} {cherries.value} +800 \\n{two.value} {six.value} 投注 * 4 \\n{cherries.value} {cherries.value} 投注 * 3 \\n\\n三符號: +500 \\n兩符號: 下注 * 2" + +#: redbot/cogs/economy/economy.py:112 +#, docstring +msgid "Get rich and have fun with imaginary currency!" +msgstr "" + +#: redbot/cogs/economy/economy.py:146 +#, docstring +msgid "Manage the bank." +msgstr "" + +#: redbot/cogs/economy/economy.py:151 +#, docstring +msgid "Show the user's account balance.\\n\\n Defaults to yours." +msgstr "" + +#: redbot/cogs/economy/economy.py:161 +msgid "{user}'s balance is {num} {currency}" +msgstr "" + +#: redbot/cogs/economy/economy.py:168 +#, docstring +msgid "Transfer currency to other users." +msgstr "" + +#: redbot/cogs/economy/economy.py:178 +msgid "{user} transferred {num} {currency} to {other_user}" +msgstr "" + +#: redbot/cogs/economy/economy.py:186 +#, docstring +msgid "Set the balance of user's bank account.\\n\\n Passing positive and negative values will add/remove currency instead.\\n\\n Examples:\\n - `[p]bank set @Twentysix 26` - Sets balance to 26\\n - `[p]bank set @Twentysix +2` - Increases balance by 2\\n - `[p]bank set @Twentysix -6` - Decreases balance by 6\\n " +msgstr "" + +#: redbot/cogs/economy/economy.py:201 +msgid "{author} added {num} {currency} to {user}'s account." +msgstr "" + +#: redbot/cogs/economy/economy.py:209 +msgid "{author} removed {num} {currency} from {user}'s account." +msgstr "" + +#: redbot/cogs/economy/economy.py:217 +msgid "{author} set {user}'s account balance to {num} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:231 +#, docstring +msgid "Delete all bank accounts." +msgstr "" + +#: redbot/cogs/economy/economy.py:234 +msgid "This will delete all bank accounts for {scope}.\\nIf you're sure, type `{prefix}bank reset yes`" +msgstr "" + +#: redbot/cogs/economy/economy.py:238 redbot/cogs/economy/economy.py:246 +msgid "this server" +msgstr "" + +#: redbot/cogs/economy/economy.py:245 +msgid "All bank accounts for {scope} have been deleted." +msgstr "" + +#: redbot/cogs/economy/economy.py:253 +#, docstring +msgid "Get some free currency." +msgstr "" + +#: redbot/cogs/economy/economy.py:267 +msgid "You've reached the maximum amount of {currency}!Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:279 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" +msgstr "" + +#: redbot/cogs/economy/economy.py:296 redbot/cogs/economy/economy.py:342 +msgid "{author.mention} Too soon. For your next payday you have to wait {time}." +msgstr "" + +#: redbot/cogs/economy/economy.py:315 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n\\nYou currently have {new_balance} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:326 +msgid "{author.mention} Here, take some {currency}. Enjoy! (+{amount} {currency}!)\\n\\nYou currently have {new_balance} {currency}.\\n\\nYou are currently #{pos} on the global leaderboard!" +msgstr "" + +#: redbot/cogs/economy/economy.py:350 +#, docstring +msgid "Print the leaderboard.\\n\\n Defaults to top 10.\\n " +msgstr "" + +#: redbot/cogs/economy/economy.py:367 +msgid "There are no accounts in the bank." +msgstr "在這個銀行中沒有帳戶。" + +#: redbot/cogs/economy/economy.py:371 +msgid "Name" +msgstr "" + +#: redbot/cogs/economy/economy.py:372 +msgid "Score" +msgstr "" + +#: redbot/cogs/economy/economy.py:412 +#, docstring +msgid "Show the payouts for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:418 +#, docstring +msgid "Use the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:437 +msgid "You're on cooldown, try again in a bit." +msgstr "正在冷卻時間,稍後再試。" + +#: redbot/cogs/economy/economy.py:440 +msgid "That's an invalid bid amount, sorry :/" +msgstr "這是無效出價金額,抱歉 :/" + +#: redbot/cogs/economy/economy.py:443 +msgid "You ain't got enough money, friend." +msgstr "你沒有足夠的錢,朋友。" + +#: redbot/cogs/economy/economy.py:497 +msgid "You've reached the maximum amount of {currency}! Please spend some more 😬\\n{old_balance} -> {new_balance}!" +msgstr "" + +#: redbot/cogs/economy/economy.py:512 +msgid "Nothing!" +msgstr "" + +#: redbot/cogs/economy/economy.py:516 +msgid "Your bid: {amount}" +msgstr "" + +#: redbot/cogs/economy/economy.py:532 +#, docstring +msgid "Manage Economy settings." +msgstr "" + +#: redbot/cogs/economy/economy.py:541 +msgid "----Economy Settings---\\nMinimum slot bid: {slot_min}\\nMaximum slot bid: {slot_max}\\nSlot cooldown: {slot_time}\\nPayday amount: {payday_amount}\\nPayday cooldown: {payday_time}\\nAmount given at account registration: {register_amount}" +msgstr "" + +#: redbot/cogs/economy/economy.py:562 +#, docstring +msgid "Set the minimum slot machine bid." +msgstr "" + +#: redbot/cogs/economy/economy.py:564 +msgid "Invalid min bid amount." +msgstr "" + +#: redbot/cogs/economy/economy.py:573 +msgid "Minimum bid is now {bid} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:578 +#, docstring +msgid "Set the maximum slot machine bid." +msgstr "" + +#: redbot/cogs/economy/economy.py:582 +msgid "Invalid maximum bid amount. Must be greater than the minimum amount." +msgstr "" + +#: redbot/cogs/economy/economy.py:592 +msgid "Maximum bid is now {bid} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:597 +#, docstring +msgid "Set the cooldown for the slot machine." +msgstr "" + +#: redbot/cogs/economy/economy.py:603 +msgid "Cooldown is now {num} seconds." +msgstr "" + +#: redbot/cogs/economy/economy.py:607 +#, docstring +msgid "Set the cooldown for payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:614 +msgid "Value modified. At least {num} seconds must pass between each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:621 +#, docstring +msgid "Set the amount earned each payday." +msgstr "" + +#: redbot/cogs/economy/economy.py:624 redbot/cogs/economy/economy.py:642 +msgid "Har har so funny." +msgstr "哈哈很有趣。" + +#: redbot/cogs/economy/economy.py:632 +msgid "Every payday will now give {num} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:639 +#, docstring +msgid "Set the amount earned each payday for a role." +msgstr "" + +#: redbot/cogs/economy/economy.py:646 +msgid "The bank must be per-server for per-role paydays to work." +msgstr "" + +#: redbot/cogs/economy/economy.py:650 +msgid "Every payday will now give {num} {currency} to people with the role {role_name}." +msgstr "" + +#: redbot/cogs/economy/economy.py:658 +#, docstring +msgid "Set the initial balance for new bank accounts." +msgstr "" + +#: redbot/cogs/economy/economy.py:665 +msgid "Registering an account will now give {num} {currency}." +msgstr "" + +#: redbot/cogs/economy/economy.py:674 +msgid "weeks" +msgstr "週" + +#: redbot/cogs/economy/economy.py:675 +msgid "days" +msgstr "日" + +#: redbot/cogs/economy/economy.py:676 +msgid "hours" +msgstr "小時" + +#: redbot/cogs/economy/economy.py:677 +msgid "minutes" +msgstr "分鐘" + +#: redbot/cogs/economy/economy.py:678 +msgid "seconds" +msgstr "秒" + diff --git a/redbot/cogs/filter/locales/ar-SA.po b/redbot/cogs/filter/locales/ar-SA.po index 2fedf09b4..f10688b77 100644 --- a/redbot/cogs/filter/locales/ar-SA.po +++ b/redbot/cogs/filter/locales/ar-SA.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: ar_SA\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "" -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "" -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "" -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "" -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "" -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "" -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" #: redbot/cogs/filter/filter.py:268 -#, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Words successfully removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "" diff --git a/redbot/cogs/filter/locales/bg-BG.po b/redbot/cogs/filter/locales/bg-BG.po index d186e84b0..621569e02 100644 --- a/redbot/cogs/filter/locales/bg-BG.po +++ b/redbot/cogs/filter/locales/bg-BG.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Bulgarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: bg_BG\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "" -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "" -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "" -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "" -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "" -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "" -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" #: redbot/cogs/filter/filter.py:268 -#, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Words successfully removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "" diff --git a/redbot/cogs/filter/locales/cs-CZ.po b/redbot/cogs/filter/locales/cs-CZ.po new file mode 100644 index 000000000..aed4c2e44 --- /dev/null +++ b/redbot/cogs/filter/locales/cs-CZ.po @@ -0,0 +1,149 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: cs\n" +"X-Crowdin-File: /cogs/filter/locales/messages.pot\n" +"Language: cs_CZ\n" + +#: redbot/cogs/filter/filter.py:15 +#, docstring +msgid "Filter unwanted words and phrases from text channels." +msgstr "" + +#: redbot/cogs/filter/filter.py:52 +#, docstring +msgid "Manage filter settings." +msgstr "" + +#: redbot/cogs/filter/filter.py:57 +#, docstring +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:66 +msgid "The name to use on filtered names has been set." +msgstr "" + +#: redbot/cogs/filter/filter.py:70 +#, docstring +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:79 +msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" +msgstr "" + +#: redbot/cogs/filter/filter.py:88 +msgid "Autoban disabled." +msgstr "" + +#: redbot/cogs/filter/filter.py:92 +msgid "Count and time have been set." +msgstr "" + +#: redbot/cogs/filter/filter.py:98 +#, docstring +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:111 +msgid "Filtered in this server:" +msgstr "" + +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 +msgid "I can't send direct messages to you." +msgstr "" + +#: redbot/cogs/filter/filter.py:120 +#, docstring +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:133 +msgid "Filtered in this channel:" +msgstr "" + +#: redbot/cogs/filter/filter.py:142 +#, docstring +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:169 +msgid "Words added to filter." +msgstr "" + +#: redbot/cogs/filter/filter.py:171 +msgid "Words already in the filter." +msgstr "" + +#: redbot/cogs/filter/filter.py:175 +#, docstring +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:201 +msgid "Words removed from filter." +msgstr "" + +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 +msgid "Those words weren't in the filter." +msgstr "" + +#: redbot/cogs/filter/filter.py:208 +#, docstring +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:235 +msgid "Words successfully added to filter." +msgstr "" + +#: redbot/cogs/filter/filter.py:237 +msgid "Those words were already in the filter." +msgstr "" + +#: redbot/cogs/filter/filter.py:241 +#, docstring +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:268 +msgid "Words successfully removed from filter." +msgstr "" + +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 +msgid "Names and nicknames will no longer be filtered." +msgstr "" + +#: redbot/cogs/filter/filter.py:284 +msgid "Names and nicknames will now be filtered." +msgstr "" + +#: redbot/cogs/filter/filter.py:400 +msgid "Autoban (too many filtered messages.)" +msgstr "" + +#: redbot/cogs/filter/filter.py:458 +msgid "Filtered nickname" +msgstr "" + +#: redbot/cogs/filter/filter.py:458 +msgid "Filtered name" +msgstr "" + diff --git a/redbot/cogs/filter/locales/da-DK.po b/redbot/cogs/filter/locales/da-DK.po index 0335b2dcb..82cb4361a 100644 --- a/redbot/cogs/filter/locales/da-DK.po +++ b/redbot/cogs/filter/locales/da-DK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: da_DK\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "" -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "" -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "" -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "" -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "" -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "" -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" #: redbot/cogs/filter/filter.py:268 -#, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Words successfully removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "" diff --git a/redbot/cogs/filter/locales/de-DE.po b/redbot/cogs/filter/locales/de-DE.po index 053d873af..8ae4969b3 100644 --- a/redbot/cogs/filter/locales/de-DE.po +++ b/redbot/cogs/filter/locales/de-DE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: de_DE\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." -msgstr "" +msgstr "Filtere unerwünschte Wörter und Phrasen aus Textkanälen." -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." -msgstr "" +msgstr "Filtereinstellungen verwalten." -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." -msgstr "" +msgstr "Der Name der für gefilterte Namen benutzt wird wurde festgelegt." -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "Anzahl und Zeitrahmen müssen entweder beide 0 sein oder beide müssen größer als 0 sein!" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "Autoban deaktiviert." -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "Anzahl und Zeit wurden festgelegt." -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "Auf diesem Server gefiltert:" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "Ich kann keine Direktnachrichten an dich senden." -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" -msgstr "" +msgstr "Gefiltert in diesem Kanal:" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." -msgstr "{} zum Filter hinzugefügt." +msgstr "Wörter wurden dem Filter hinzugefügt." -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "Das ist bereits im Filter enthalten." -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "{} vom Filter entfernt." -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." -msgstr "Das befindet sich nicht im Filter." +msgstr "Diese Wörter befinden sich nicht in dem Filter." -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." -msgstr "" +msgstr "Wörter erfolgreich zum Filter hinzugefügt." -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." -msgstr "" +msgstr "Diese Wörter sind bereits im Filter." -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" #: redbot/cogs/filter/filter.py:268 +msgid "Words successfully removed from filter." +msgstr "Wörter erfolgreich aus dem Filter entfernt." + +#: redbot/cogs/filter/filter.py:274 #, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." -msgstr "" +msgstr "Name und Nicknamen werden nun nicht mehr gefiltert." -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." -msgstr "" +msgstr "Name und Nicknamen werden nun gefiltert." -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" -msgstr "" +msgstr "Automatischer Ban (zu viele gefilterte Nachrichten.)" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" -msgstr "" +msgstr "Gefilterter Nickname" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" -msgstr "" +msgstr "Gefilterter Name" diff --git a/redbot/cogs/filter/locales/el-GR.po b/redbot/cogs/filter/locales/el-GR.po index db031603d..568a01bf8 100644 --- a/redbot/cogs/filter/locales/el-GR.po +++ b/redbot/cogs/filter/locales/el-GR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: el_GR\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "" -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "" -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "" -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "" -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "" -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "" -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" #: redbot/cogs/filter/filter.py:268 -#, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Words successfully removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "" diff --git a/redbot/cogs/filter/locales/en-PT.po b/redbot/cogs/filter/locales/en-PT.po index a68feb67c..935bd4ab8 100644 --- a/redbot/cogs/filter/locales/en-PT.po +++ b/redbot/cogs/filter/locales/en-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Pirate English\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: en_PT\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "" -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "" -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "" -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "" -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "" -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "" -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" #: redbot/cogs/filter/filter.py:268 -#, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Words successfully removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "" diff --git a/redbot/cogs/filter/locales/es-ES.po b/redbot/cogs/filter/locales/es-ES.po index 769bd9ecf..976f6ab0c 100644 --- a/redbot/cogs/filter/locales/es-ES.po +++ b/redbot/cogs/filter/locales/es-ES.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: es_ES\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "" -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "" -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "" -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "¡La cuenta y el periodo del tiempo o ambos deben ser 0 o ambos necesitan ser mayor que 0!" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "Autoban desactivado." -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "Cuenta y tiempo establecidos." -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "Filtrado en este servidor:" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "No puedo enviarte mensajes directos." -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "Palabras añadidas al filtro." -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "Palabras ya en el filtro." -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "Palabras quitadas del filtro." -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "Esas palabras no estaban en el filtro." -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" #: redbot/cogs/filter/filter.py:268 -#, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Words successfully removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "" diff --git a/redbot/cogs/filter/locales/fi-FI.po b/redbot/cogs/filter/locales/fi-FI.po index 6c7d22151..675e7c68e 100644 --- a/redbot/cogs/filter/locales/fi-FI.po +++ b/redbot/cogs/filter/locales/fi-FI.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: fi_FI\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "" -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "" -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "" -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "" -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "" -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "" -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" #: redbot/cogs/filter/filter.py:268 -#, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Words successfully removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "" diff --git a/redbot/cogs/filter/locales/fr-FR.po b/redbot/cogs/filter/locales/fr-FR.po index 325a75f46..61508d710 100644 --- a/redbot/cogs/filter/locales/fr-FR.po +++ b/redbot/cogs/filter/locales/fr-FR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:11\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: fr_FR\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." -msgstr "" +msgstr "Filtrer les mots et phrases indésirables des salons textuels." -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." -msgstr "" +msgstr "Gérer les paramètres du filtre." -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " -msgstr "" +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " +msgstr "Définissez le pseudonyme pour les utilisateurs dont le nom est filtré.\\n\\n Notez que ceci n'a aucun effet si le filtrage des noms est désactivé\\n (pour activer, utilisez `[p]filter names`).\\n\\n Le nom par défaut utilisé est *John Doe*.\\n " -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." -msgstr "" +msgstr "Le nom à utiliser sur les noms filtrés a été défini." -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " -msgstr "" +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " +msgstr "Définissez les conditions d'autoban du filtre.\\n\\n Les utilisateurs seront bannis s'ils envoient `` mots filtrés en\\n `` secondes.\\n\\n Réglez les deux sur zéro pour désactiver l'autoban.\\n " -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" -msgstr "Le nombre et la durée doivent être égaux à 0 ou les deux doivent être supérieurs à 0!" +msgstr "Le nombre et la durée doivent être égaux à 0 ou les deux doivent être supérieurs à 0 !" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "Ban auto désactivé." -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." -msgstr "Le compte et le temps ont été définis." +msgstr "Le compteur et le temps ont été définis." -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " -msgstr "" +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " +msgstr "Ajouter ou supprimer des mots du filtre du serveur.\\n\\n Utilisez les guillemets pour ajouter ou supprimer des phrases.\\n\\n L'utilisation de cette commande sans sous-commandes enverra la liste des\\n mots filtrés du serveur.\\n " -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" -msgstr "Filtré sur ce serveur:" +msgstr "Filtré sur ce serveur :" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." -msgstr "Je ne peux pas vous envoyer de messages directs." +msgstr "Je ne peux pas vous envoyer de messages privé." -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " -msgstr "" +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " +msgstr "Ajouter ou supprimer des mots du filtre de salon.\\n\\n Utilisez les guillemets pour ajouter ou supprimer des phrases.\\n\\n L'utilisation de cette commande sans sous-commandes enverra la liste des\\n mots filtrés de la chaîne.\\n " -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" -msgstr "" +msgstr "Filtré dans ce salon :" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " -msgstr "" +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " +msgstr "Ajouter des mots au filtre.\\n\\n Utilisez les guillemets doubles pour ajouter des phrases.\\n\\n Exemples :\\n - `[p]filter channel add mot1 mot2 mot3`\\n - `[p]filter channel add \\\"C'est une phrase\\\"`\\n " -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "Mots ajoutés au filtre." -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "Mots déjà dans le filtre." -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " -msgstr "" +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " +msgstr "Enlever des mots du filtre.\\n\\n Utilisez les guillemets pour enlever des phrases.\\n\\n Exemples :\\n - `[p]filter channel remove mot1 mot2 mot3`\\n - `[p]filter channel remove \\\"C'est une phrase\\\"`\\n " -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "Mots supprimés du filtre." -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "Ces mots n’étaient pas dans le filtre." -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " -msgstr "" +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " +msgstr "Ajouter des mots au filtre.\\n\\n Utilisez les guillemets pour ajouter des phrases.\\n\\n Exemples :\\n - `[p]filter add mot1 mot2 mot3`\\n - `[p]filter add \\\"C'est une phrase\\\"`\\n " -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." -msgstr "" +msgstr "Mots ajoutés avec succès au filtre." -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." -msgstr "" +msgstr "Ces mots étaient déjà dans le filtre." -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." -msgstr "" +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " +msgstr "Enlever des mots du filtre.\\n\\n Utilisez les guillemets pour enlever des phrases.\\n\\n Exemples :\\n - `[p]filter remove mot1 mot2 mot3`\\n - `[p]filter remove \\\"C'est une phrase\\\"`\\n " #: redbot/cogs/filter/filter.py:268 +msgid "Words successfully removed from filter." +msgstr "Mots supprimés avec succès du filtre." + +#: redbot/cogs/filter/filter.py:274 #, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " -msgstr "" +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "Activer le filtrage des noms et des pseudos.\\n\\n Ceci est désactivé par défaut.\\n " -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." -msgstr "" +msgstr "Les noms et pseudos ne seront plus filtrés." -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." -msgstr "" +msgstr "Les noms et les pseudos seront maintenant filtrés." -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" -msgstr "" +msgstr "Autoban (trop de messages filtrés.)" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" -msgstr "" +msgstr "Pseudo filtré" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" -msgstr "" +msgstr "Nom filtré" diff --git a/redbot/cogs/filter/locales/hu-HU.po b/redbot/cogs/filter/locales/hu-HU.po index 2af3d2b26..0a6a279e0 100644 --- a/redbot/cogs/filter/locales/hu-HU.po +++ b/redbot/cogs/filter/locales/hu-HU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: hu_HU\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "" -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "" -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "" -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "" -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "" -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "" -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" #: redbot/cogs/filter/filter.py:268 -#, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Words successfully removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "" diff --git a/redbot/cogs/filter/locales/id-ID.po b/redbot/cogs/filter/locales/id-ID.po index 02245fee6..b32683bb0 100644 --- a/redbot/cogs/filter/locales/id-ID.po +++ b/redbot/cogs/filter/locales/id-ID.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: id_ID\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "" -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "" -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "" -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "Count dan jangka waktu keduanya harus 0 atau keduanya harus lebih besar dari 0!" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "Autoban dimatikan." -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "Jumlah dan waktu telah ditetapkan." -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "Disaring pada server ini:" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "Saya tidak dapat mengirim pesan langsung kepada Anda." -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "Kata-kata yang ditambahkan untuk disaring." -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "Kata-kata yang sudah di disaring." -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "Kata-kata dihapus dari penyaring." -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "Kata-kata tidak dalam penyaring." -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" #: redbot/cogs/filter/filter.py:268 -#, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Words successfully removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "" diff --git a/redbot/cogs/filter/locales/it-IT.po b/redbot/cogs/filter/locales/it-IT.po index 2fde43c38..b500c85f8 100644 --- a/redbot/cogs/filter/locales/it-IT.po +++ b/redbot/cogs/filter/locales/it-IT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: it_IT\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "" -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "" -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "" -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "Conteggio e timeframe entrambe devono essere 0 o entrambe devono essere maggiore di 0!" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "Autoban disabilitato." -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "Conteggio e tempo sono state impostate." -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "Filtrato in questo server:" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "Io non riesco a inviare messaggi diretti a voi." -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "Parole aggiunte al filtro." -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "Parole già nel filtro." -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "Parole rimossi dal filtro." -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "Quelle parole non erano nel filtro." -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" #: redbot/cogs/filter/filter.py:268 -#, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Words successfully removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "" diff --git a/redbot/cogs/filter/locales/ja-JP.po b/redbot/cogs/filter/locales/ja-JP.po index c8f8b2464..3f34d37a8 100644 --- a/redbot/cogs/filter/locales/ja-JP.po +++ b/redbot/cogs/filter/locales/ja-JP.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: ja_JP\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "" -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "" -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "" -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "" -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "" -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "" -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" #: redbot/cogs/filter/filter.py:268 -#, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Words successfully removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "" diff --git a/redbot/cogs/filter/locales/ko-KR.po b/redbot/cogs/filter/locales/ko-KR.po index 0be943cae..bcdb41f97 100644 --- a/redbot/cogs/filter/locales/ko-KR.po +++ b/redbot/cogs/filter/locales/ko-KR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: ko_KR\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "" -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "" -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "" -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "개수와 시간은 모두 0이어야 하거나 0보다 커야 해요!" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "자동 밴이 중지됐어요." -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "개수와 시간이 설정됐어요." -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "이 서버에서 필터링 된 항목 :" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "사용자님에게 직접 메시지를 보낼 수 없어요." -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "필터링에 추가된 단어예요." -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "필터에 이미 있는 단어예요." -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "필터에서 제거된 단어예요." -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "해당 단어들은 필터에 들어 있지 않아요." -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" #: redbot/cogs/filter/filter.py:268 -#, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Words successfully removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "" diff --git a/redbot/cogs/filter/locales/lol-US.po b/redbot/cogs/filter/locales/lol-US.po index c26358c52..93973be56 100644 --- a/redbot/cogs/filter/locales/lol-US.po +++ b/redbot/cogs/filter/locales/lol-US.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: LOLCAT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: lol_US\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "" -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "" -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "" -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "" -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "" -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "" -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" #: redbot/cogs/filter/filter.py:268 -#, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Words successfully removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "" diff --git a/redbot/cogs/filter/locales/nl-NL.po b/redbot/cogs/filter/locales/nl-NL.po index 66952c849..444cdfbfe 100644 --- a/redbot/cogs/filter/locales/nl-NL.po +++ b/redbot/cogs/filter/locales/nl-NL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: nl_NL\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "Filter ongewenste woorden en zinnen uit tekstkanalen." -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "Beheer filter instellingen." -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "De naam die moet worden gebruikt voor gefilterde namen is ingesteld." -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "Zowel telling als tijdsbestek moeten 0 zijn of beide moeten groter zijn dan 0!" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "Automatisch bannen is uitgeschakeld." -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "Telling en tijd zijn ingesteld." -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "Gefilterd in deze server:" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "Ik kan je geen persoonlijke berichten versturen." -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "Gefilterd in dit kanaal:" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "Woord is toegevoegd aan het filter." -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "Het woord staat al in het filter." -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "Woord verwijderd uit het filter." -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "Deze woorden zijn niet opgenomen in de filter." -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "Het woord is succesvol toegevoegd aan het filter." -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "Deze woorden staan al in het filter." -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:262 +#: redbot/cogs/filter/filter.py:268 msgid "Words successfully removed from filter." msgstr "De woorden zijn succesvol verwijderd uit het filter." -#: redbot/cogs/filter/filter.py:268 +#: redbot/cogs/filter/filter.py:274 #, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "Namen en bijnamen worden niet langer gefilterd." -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "Namen en bijnamen zullen nu worden gefilterd." -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "Autoban (te veel gefilterde berichten.)" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "Gefilterde bijnaam" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "Gefilterde naam" diff --git a/redbot/cogs/filter/locales/no-NO.po b/redbot/cogs/filter/locales/no-NO.po index 025aec1fa..1f374760b 100644 --- a/redbot/cogs/filter/locales/no-NO.po +++ b/redbot/cogs/filter/locales/no-NO.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Norwegian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: no_NO\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "" -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "" -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "" -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "" -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "" -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "" -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" #: redbot/cogs/filter/filter.py:268 -#, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Words successfully removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "" diff --git a/redbot/cogs/filter/locales/pl-PL.po b/redbot/cogs/filter/locales/pl-PL.po index 6c55530d4..7cb588063 100644 --- a/redbot/cogs/filter/locales/pl-PL.po +++ b/redbot/cogs/filter/locales/pl-PL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: pl_PL\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "" -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "" -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "" -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "" -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "" -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "" -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" #: redbot/cogs/filter/filter.py:268 -#, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Words successfully removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "" diff --git a/redbot/cogs/filter/locales/pt-BR.po b/redbot/cogs/filter/locales/pt-BR.po index 090336d69..4c119bac5 100644 --- a/redbot/cogs/filter/locales/pt-BR.po +++ b/redbot/cogs/filter/locales/pt-BR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese, Brazilian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: pt_BR\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "" -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "" -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "" -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "" -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "" -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "" -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" #: redbot/cogs/filter/filter.py:268 -#, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Words successfully removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "" diff --git a/redbot/cogs/filter/locales/pt-PT.po b/redbot/cogs/filter/locales/pt-PT.po index 73f53e34e..84df34e67 100644 --- a/redbot/cogs/filter/locales/pt-PT.po +++ b/redbot/cogs/filter/locales/pt-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: pt_PT\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "" -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "" -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "" -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "" -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "" -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "" -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" #: redbot/cogs/filter/filter.py:268 -#, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Words successfully removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "" diff --git a/redbot/cogs/filter/locales/ro-RO.po b/redbot/cogs/filter/locales/ro-RO.po new file mode 100644 index 000000000..91e3aa86c --- /dev/null +++ b/redbot/cogs/filter/locales/ro-RO.po @@ -0,0 +1,149 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:09\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Romanian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /cogs/filter/locales/messages.pot\n" +"Language: ro_RO\n" + +#: redbot/cogs/filter/filter.py:15 +#, docstring +msgid "Filter unwanted words and phrases from text channels." +msgstr "" + +#: redbot/cogs/filter/filter.py:52 +#, docstring +msgid "Manage filter settings." +msgstr "" + +#: redbot/cogs/filter/filter.py:57 +#, docstring +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:66 +msgid "The name to use on filtered names has been set." +msgstr "" + +#: redbot/cogs/filter/filter.py:70 +#, docstring +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:79 +msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" +msgstr "" + +#: redbot/cogs/filter/filter.py:88 +msgid "Autoban disabled." +msgstr "" + +#: redbot/cogs/filter/filter.py:92 +msgid "Count and time have been set." +msgstr "" + +#: redbot/cogs/filter/filter.py:98 +#, docstring +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:111 +msgid "Filtered in this server:" +msgstr "" + +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 +msgid "I can't send direct messages to you." +msgstr "" + +#: redbot/cogs/filter/filter.py:120 +#, docstring +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:133 +msgid "Filtered in this channel:" +msgstr "" + +#: redbot/cogs/filter/filter.py:142 +#, docstring +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:169 +msgid "Words added to filter." +msgstr "" + +#: redbot/cogs/filter/filter.py:171 +msgid "Words already in the filter." +msgstr "" + +#: redbot/cogs/filter/filter.py:175 +#, docstring +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:201 +msgid "Words removed from filter." +msgstr "" + +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 +msgid "Those words weren't in the filter." +msgstr "" + +#: redbot/cogs/filter/filter.py:208 +#, docstring +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:235 +msgid "Words successfully added to filter." +msgstr "" + +#: redbot/cogs/filter/filter.py:237 +msgid "Those words were already in the filter." +msgstr "" + +#: redbot/cogs/filter/filter.py:241 +#, docstring +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:268 +msgid "Words successfully removed from filter." +msgstr "" + +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 +msgid "Names and nicknames will no longer be filtered." +msgstr "" + +#: redbot/cogs/filter/filter.py:284 +msgid "Names and nicknames will now be filtered." +msgstr "" + +#: redbot/cogs/filter/filter.py:400 +msgid "Autoban (too many filtered messages.)" +msgstr "" + +#: redbot/cogs/filter/filter.py:458 +msgid "Filtered nickname" +msgstr "" + +#: redbot/cogs/filter/filter.py:458 +msgid "Filtered name" +msgstr "" + diff --git a/redbot/cogs/filter/locales/ru-RU.po b/redbot/cogs/filter/locales/ru-RU.po index 12cdcbc37..91fe50f0d 100644 --- a/redbot/cogs/filter/locales/ru-RU.po +++ b/redbot/cogs/filter/locales/ru-RU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 05:52\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,210 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: ru_RU\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "Фильтровать нежелательные слова и фразы из текстовых каналов." -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "Управление настройками фильтра." -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " -msgstr "Установить псевдоним для пользователей с отфильтрованным именем.\n\n" -" Обратите внимание, что это не действует, если фильтрация имен отключена\n" -" (чтобы переключить, введите `[p]filter names`).\n\n" -" Имя по умолчанию *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " +msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "Имя для использования в отфильтрованных именах было установлено." -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " -msgstr "Установите условия фильтра автобана.\n\n" -" Пользователи будут забанены, если они отправят ``\n" -" отфильтрованных слов за `` секунд.\n\n" -" Установите оба в ноль, чтобы отключить автобан.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " +msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "Количество или период должны быть равны 0, либо оба должна быть больше 0!" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "Автобан отключен." -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "Количество и период были сохранены." -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " -msgstr "Добавить или удалить слова из фильтра сервера.\n\n" -" Используйте двойные кавычки, чтобы добавить или удалить предложения.\n\n" -" Использование этой команды без подкоманд отправит\n" -" список отфильтрованных слов сервера.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " +msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" -msgstr "Filtered in this server:" +msgstr "Отфильтровано на этом сервере:" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "Я не могу отправить вам личное сообщение." -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " -msgstr "Добавить или удалить слова из фильтра канала.\n\n" -" Используйте двойные кавычки, чтобы добавить или удалить предложения.\n\n" -" Использование этой команды без подкоманд отправит список\n" -" отфильтрованных слов канала.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " +msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "Отфильтровано в этом канале:" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " -msgstr "Добавить слова в фильтр.\n\n" -" Используйте двойные кавычки, чтобы добавить предложения.\n\n" -" Примеры:\n" -" - `[p]filter channel add слово1 слово2 слово3`\n" -" - `[p]filter channel add \"Это предложение\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " +msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "Слова добавлены в фильтр." -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "Слова уже в фильтре." -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " -msgstr "Удалить слова из фильтра.\n\n" -" Используйте двойные кавычки, чтобы удалить предложения.\n\n" -" Примеры:\n" -" - `[p]filter channel remove слово1 слово2 слово3`\n" -" - `[p]filter channel remove \"Это предложение\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " +msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "Слова удалены из фильтра." -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "Эти слова не были в фильтре." -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " -msgstr "Добавить слова в фильтр.\n\n" -" Используйте двойные кавычки, чтобы добавить предложения.\n\n" -" Примеры:\n" -" - `[p]filter add слово1 слово2 слово3`\n" -" - `[p]filter add \"Это предложение\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " +msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "Слова успешно добавлены в фильтр." -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "Эти слова уже были в фильтре." -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "Удалить слова из фильтра.\n\n" -" Используйте двойные кавычки, чтобы удалить предложения.\n\n" -" Примеры:\n" -" - `[p]filter remove слоово1 слово2 слово3`\n" -" - `[p]filter remove \"Это предложение\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " +msgstr "" -#: redbot/cogs/filter/filter.py:262 +#: redbot/cogs/filter/filter.py:268 msgid "Words successfully removed from filter." msgstr "Слова успешно удалены из фильтра." -#: redbot/cogs/filter/filter.py:268 +#: redbot/cogs/filter/filter.py:274 #, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " -msgstr "Переключение фильтрации имен и никнеймов.\n\n" -" Отключено по умолчанию.\n" -" " +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "Имена и никнеймы больше не будут фильтроваться." -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "Имена и никнеймы теперь будут отфильтрованы." -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "Автобан (слишком много отфильтрованных сообщений.)" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "Отфильтрованный никнейм" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "Отфильтрованное имя" diff --git a/redbot/cogs/filter/locales/sk-SK.po b/redbot/cogs/filter/locales/sk-SK.po index fe790d374..03153c256 100644 --- a/redbot/cogs/filter/locales/sk-SK.po +++ b/redbot/cogs/filter/locales/sk-SK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Slovak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: sk_SK\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "" -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "" -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "" -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "" -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "" -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "" -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" #: redbot/cogs/filter/filter.py:268 -#, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Words successfully removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "" diff --git a/redbot/cogs/filter/locales/sv-SE.po b/redbot/cogs/filter/locales/sv-SE.po index be36ee1ca..89b23e9ce 100644 --- a/redbot/cogs/filter/locales/sv-SE.po +++ b/redbot/cogs/filter/locales/sv-SE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: sv_SE\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "" -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "" -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "" -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "Räknare och tidsram måste båda vara satta till 0 eller så måste båda vara höre än 0!" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "Autoban inaktiv." -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "Räknare och tid har ställts in." -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "Filter i denna server:" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "Jag kan inte skicka direkt meddelanden till dig." -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "Lagt till ord i filtret." -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "Orden finns redan i filtret." -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "Ord borttaget ur filtret." -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "Dessa är var inte i filtret." -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" #: redbot/cogs/filter/filter.py:268 -#, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Words successfully removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "" diff --git a/redbot/cogs/filter/locales/tr-TR.po b/redbot/cogs/filter/locales/tr-TR.po index e0513b0da..f9a1631f7 100644 --- a/redbot/cogs/filter/locales/tr-TR.po +++ b/redbot/cogs/filter/locales/tr-TR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: tr_TR\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "" -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "" -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "" -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "" -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "" -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "" -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" #: redbot/cogs/filter/filter.py:268 -#, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Words successfully removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "Filtre adı" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "Filtre adı" diff --git a/redbot/cogs/filter/locales/zh-CN.po b/redbot/cogs/filter/locales/zh-CN.po index 2ff0ecaae..6ca8654a0 100644 --- a/redbot/cogs/filter/locales/zh-CN.po +++ b/redbot/cogs/filter/locales/zh-CN.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,172 +16,134 @@ msgstr "" "X-Crowdin-File: /cogs/filter/locales/messages.pot\n" "Language: zh_CN\n" -#: redbot/cogs/filter/filter.py:14 +#: redbot/cogs/filter/filter.py:15 #, docstring msgid "Filter unwanted words and phrases from text channels." msgstr "" -#: redbot/cogs/filter/filter.py:50 +#: redbot/cogs/filter/filter.py:52 #, docstring msgid "Manage filter settings." msgstr "" -#: redbot/cogs/filter/filter.py:55 +#: redbot/cogs/filter/filter.py:57 #, docstring -msgid "Set the nickname for users with a filtered name.\n\n" -" Note that this has no effect if filtering names is disabled\n" -" (to toggle, run `[p]filter names`).\n\n" -" The default name used is *John Doe*.\n" -" " +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:64 +#: redbot/cogs/filter/filter.py:66 msgid "The name to use on filtered names has been set." msgstr "" -#: redbot/cogs/filter/filter.py:68 +#: redbot/cogs/filter/filter.py:70 #, docstring -msgid "Set the filter's autoban conditions.\n\n" -" Users will be banned if they send `` filtered words in\n" -" `` seconds.\n\n" -" Set both to zero to disable autoban.\n" -" " +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:77 +#: redbot/cogs/filter/filter.py:79 msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" msgstr "" -#: redbot/cogs/filter/filter.py:86 +#: redbot/cogs/filter/filter.py:88 msgid "Autoban disabled." msgstr "" -#: redbot/cogs/filter/filter.py:90 +#: redbot/cogs/filter/filter.py:92 msgid "Count and time have been set." msgstr "" -#: redbot/cogs/filter/filter.py:96 +#: redbot/cogs/filter/filter.py:98 #, docstring -msgid "Add or remove words from server filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the server's filtered words.\n" -" " +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:109 +#: redbot/cogs/filter/filter.py:111 msgid "Filtered in this server:" msgstr "" -#: redbot/cogs/filter/filter.py:114 redbot/cogs/filter/filter.py:136 +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 msgid "I can't send direct messages to you." msgstr "" -#: redbot/cogs/filter/filter.py:118 +#: redbot/cogs/filter/filter.py:120 #, docstring -msgid "Add or remove words from channel filter.\n\n" -" Use double quotes to add or remove sentences.\n\n" -" Using this command with no subcommands will send the list of\n" -" the channel's filtered words.\n" -" " +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " msgstr "" -#: redbot/cogs/filter/filter.py:131 +#: redbot/cogs/filter/filter.py:133 msgid "Filtered in this channel:" msgstr "" -#: redbot/cogs/filter/filter.py:140 +#: redbot/cogs/filter/filter.py:142 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter channel add word1 word2 word3`\n" -" - `[p]filter channel add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:166 +#: redbot/cogs/filter/filter.py:169 msgid "Words added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:168 +#: redbot/cogs/filter/filter.py:171 msgid "Words already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:172 +#: redbot/cogs/filter/filter.py:175 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter channel remove word1 word2 word3`\n" -" - `[p]filter channel remove \"This is a sentence\"`\n" -" " +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:198 +#: redbot/cogs/filter/filter.py:201 msgid "Words removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:200 redbot/cogs/filter/filter.py:264 +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 msgid "Those words weren't in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:204 +#: redbot/cogs/filter/filter.py:208 #, docstring -msgid "Add words to the filter.\n\n" -" Use double quotes to add sentences.\n\n" -" Examples:\n" -" - `[p]filter add word1 word2 word3`\n" -" - `[p]filter add \"This is a sentence\"`\n" -" " +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " msgstr "" -#: redbot/cogs/filter/filter.py:230 +#: redbot/cogs/filter/filter.py:235 msgid "Words successfully added to filter." msgstr "" -#: redbot/cogs/filter/filter.py:232 +#: redbot/cogs/filter/filter.py:237 msgid "Those words were already in the filter." msgstr "" -#: redbot/cogs/filter/filter.py:236 +#: redbot/cogs/filter/filter.py:241 #, docstring -msgid "Remove words from the filter.\n\n" -" Use double quotes to remove sentences.\n\n" -" Examples:\n" -" - `[p]filter remove word1 word2 word3`\n" -" - `[p]filter remove \"This is a sentence\"`\n" -" " -msgstr "" - -#: redbot/cogs/filter/filter.py:262 -msgid "Words successfully removed from filter." +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " msgstr "" #: redbot/cogs/filter/filter.py:268 -#, docstring -msgid "Toggle name and nickname filtering.\n\n" -" This is disabled by default.\n" -" " +msgid "Words successfully removed from filter." msgstr "" -#: redbot/cogs/filter/filter.py:276 +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 msgid "Names and nicknames will no longer be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:278 +#: redbot/cogs/filter/filter.py:284 msgid "Names and nicknames will now be filtered." msgstr "" -#: redbot/cogs/filter/filter.py:354 +#: redbot/cogs/filter/filter.py:400 msgid "Autoban (too many filtered messages.)" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered nickname" msgstr "" -#: redbot/cogs/filter/filter.py:409 +#: redbot/cogs/filter/filter.py:458 msgid "Filtered name" msgstr "" diff --git a/redbot/cogs/filter/locales/zh-TW.po b/redbot/cogs/filter/locales/zh-TW.po new file mode 100644 index 000000000..54034b8e1 --- /dev/null +++ b/redbot/cogs/filter/locales/zh-TW.po @@ -0,0 +1,149 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Chinese Traditional\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /cogs/filter/locales/messages.pot\n" +"Language: zh_TW\n" + +#: redbot/cogs/filter/filter.py:15 +#, docstring +msgid "Filter unwanted words and phrases from text channels." +msgstr "" + +#: redbot/cogs/filter/filter.py:52 +#, docstring +msgid "Manage filter settings." +msgstr "" + +#: redbot/cogs/filter/filter.py:57 +#, docstring +msgid "Set the nickname for users with a filtered name.\\n\\n Note that this has no effect if filtering names is disabled\\n (to toggle, run `[p]filter names`).\\n\\n The default name used is *John Doe*.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:66 +msgid "The name to use on filtered names has been set." +msgstr "" + +#: redbot/cogs/filter/filter.py:70 +#, docstring +msgid "Set the filter's autoban conditions.\\n\\n Users will be banned if they send `` filtered words in\\n `` seconds.\\n\\n Set both to zero to disable autoban.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:79 +msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!" +msgstr "" + +#: redbot/cogs/filter/filter.py:88 +msgid "Autoban disabled." +msgstr "" + +#: redbot/cogs/filter/filter.py:92 +msgid "Count and time have been set." +msgstr "" + +#: redbot/cogs/filter/filter.py:98 +#, docstring +msgid "Add or remove words from server filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the server's filtered words.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:111 +msgid "Filtered in this server:" +msgstr "" + +#: redbot/cogs/filter/filter.py:116 redbot/cogs/filter/filter.py:138 +msgid "I can't send direct messages to you." +msgstr "" + +#: redbot/cogs/filter/filter.py:120 +#, docstring +msgid "Add or remove words from channel filter.\\n\\n Use double quotes to add or remove sentences.\\n\\n Using this command with no subcommands will send the list of\\n the channel's filtered words.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:133 +msgid "Filtered in this channel:" +msgstr "" + +#: redbot/cogs/filter/filter.py:142 +#, docstring +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter channel add word1 word2 word3`\\n - `[p]filter channel add \\\"This is a sentence\\\"`\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:169 +msgid "Words added to filter." +msgstr "" + +#: redbot/cogs/filter/filter.py:171 +msgid "Words already in the filter." +msgstr "" + +#: redbot/cogs/filter/filter.py:175 +#, docstring +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter channel remove word1 word2 word3`\\n - `[p]filter channel remove \\\"This is a sentence\\\"`\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:201 +msgid "Words removed from filter." +msgstr "" + +#: redbot/cogs/filter/filter.py:204 redbot/cogs/filter/filter.py:270 +msgid "Those words weren't in the filter." +msgstr "" + +#: redbot/cogs/filter/filter.py:208 +#, docstring +msgid "Add words to the filter.\\n\\n Use double quotes to add sentences.\\n\\n Examples:\\n - `[p]filter add word1 word2 word3`\\n - `[p]filter add \\\"This is a sentence\\\"`\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:235 +msgid "Words successfully added to filter." +msgstr "" + +#: redbot/cogs/filter/filter.py:237 +msgid "Those words were already in the filter." +msgstr "" + +#: redbot/cogs/filter/filter.py:241 +#, docstring +msgid "Remove words from the filter.\\n\\n Use double quotes to remove sentences.\\n\\n Examples:\\n - `[p]filter remove word1 word2 word3`\\n - `[p]filter remove \\\"This is a sentence\\\"`\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:268 +msgid "Words successfully removed from filter." +msgstr "" + +#: redbot/cogs/filter/filter.py:274 +#, docstring +msgid "Toggle name and nickname filtering.\\n\\n This is disabled by default.\\n " +msgstr "" + +#: redbot/cogs/filter/filter.py:282 +msgid "Names and nicknames will no longer be filtered." +msgstr "" + +#: redbot/cogs/filter/filter.py:284 +msgid "Names and nicknames will now be filtered." +msgstr "" + +#: redbot/cogs/filter/filter.py:400 +msgid "Autoban (too many filtered messages.)" +msgstr "" + +#: redbot/cogs/filter/filter.py:458 +msgid "Filtered nickname" +msgstr "" + +#: redbot/cogs/filter/filter.py:458 +msgid "Filtered name" +msgstr "" + diff --git a/redbot/cogs/general/locales/ar-SA.po b/redbot/cogs/general/locales/ar-SA.po index f42ebafac..b0691c2fa 100644 --- a/redbot/cogs/general/locales/ar-SA.po +++ b/redbot/cogs/general/locales/ar-SA.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -103,10 +103,7 @@ msgstr "" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " msgstr "" #: redbot/cogs/general/general.py:77 @@ -115,10 +112,7 @@ msgstr "" #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " msgstr "" #: redbot/cogs/general/general.py:94 @@ -127,14 +121,11 @@ msgstr "" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" msgstr "" #: redbot/cogs/general/general.py:117 @@ -154,127 +145,125 @@ msgstr "" msgid "Play Rock Paper Scissors." msgstr "" -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " -msgstr "" - -#: redbot/cogs/general/general.py:169 -msgid "That doesn't look like a question." +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " msgstr "" #: redbot/cogs/general/general.py:173 +msgid "That doesn't look like a question." +msgstr "" + +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." msgstr "" -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr "" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" msgstr "" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." msgstr "" -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." msgstr "" -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "" -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "" -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "" -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "" -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "" #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/bg-BG.po b/redbot/cogs/general/locales/bg-BG.po index a063b111f..983735d23 100644 --- a/redbot/cogs/general/locales/bg-BG.po +++ b/redbot/cogs/general/locales/bg-BG.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Bulgarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -103,10 +103,7 @@ msgstr "Много съмнително" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " msgstr "" #: redbot/cogs/general/general.py:77 @@ -115,10 +112,7 @@ msgstr "" #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " msgstr "" #: redbot/cogs/general/general.py:94 @@ -127,14 +121,11 @@ msgstr "" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" msgstr "" #: redbot/cogs/general/general.py:117 @@ -154,127 +145,125 @@ msgstr "ТУРА!*" msgid "Play Rock Paper Scissors." msgstr "" -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " msgstr "" -#: redbot/cogs/general/general.py:169 +#: redbot/cogs/general/general.py:173 msgid "That doesn't look like a question." msgstr "Това не прилича на въпрос." -#: redbot/cogs/general/general.py:173 +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." msgstr "" -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr " Хронометърът - стартиран!" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" msgstr "" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." msgstr "" -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." msgstr "" -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "Регион" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "Потребители" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "Текстови канали" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "Гласови канали" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "Роли" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "Собственик" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "" -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "Трябва ми пълномощното за `Вграждане на връзки` за да изпратя това." -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "" -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "" -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "" #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/cs-CZ.po b/redbot/cogs/general/locales/cs-CZ.po new file mode 100644 index 000000000..3f2cec39d --- /dev/null +++ b/redbot/cogs/general/locales/cs-CZ.po @@ -0,0 +1,269 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: cs\n" +"X-Crowdin-File: /cogs/general/locales/messages.pot\n" +"Language: cs_CZ\n" + +#: redbot/cogs/general/general.py:36 +#, docstring +msgid "General commands." +msgstr "" + +#: redbot/cogs/general/general.py:41 +msgid "As I see it, yes" +msgstr "" + +#: redbot/cogs/general/general.py:42 +msgid "It is certain" +msgstr "" + +#: redbot/cogs/general/general.py:43 +msgid "It is decidedly so" +msgstr "" + +#: redbot/cogs/general/general.py:44 +msgid "Most likely" +msgstr "" + +#: redbot/cogs/general/general.py:45 +msgid "Outlook good" +msgstr "" + +#: redbot/cogs/general/general.py:46 +msgid "Signs point to yes" +msgstr "" + +#: redbot/cogs/general/general.py:47 +msgid "Without a doubt" +msgstr "" + +#: redbot/cogs/general/general.py:48 +msgid "Yes" +msgstr "" + +#: redbot/cogs/general/general.py:49 +msgid "Yes – definitely" +msgstr "" + +#: redbot/cogs/general/general.py:50 +msgid "You may rely on it" +msgstr "" + +#: redbot/cogs/general/general.py:51 +msgid "Reply hazy, try again" +msgstr "" + +#: redbot/cogs/general/general.py:52 +msgid "Ask again later" +msgstr "" + +#: redbot/cogs/general/general.py:53 +msgid "Better not tell you now" +msgstr "" + +#: redbot/cogs/general/general.py:54 +msgid "Cannot predict now" +msgstr "" + +#: redbot/cogs/general/general.py:55 +msgid "Concentrate and ask again" +msgstr "" + +#: redbot/cogs/general/general.py:56 +msgid "Don't count on it" +msgstr "" + +#: redbot/cogs/general/general.py:57 +msgid "My reply is no" +msgstr "" + +#: redbot/cogs/general/general.py:58 +msgid "My sources say no" +msgstr "" + +#: redbot/cogs/general/general.py:59 +msgid "Outlook not so good" +msgstr "" + +#: redbot/cogs/general/general.py:60 +msgid "Very doubtful" +msgstr "" + +#: redbot/cogs/general/general.py:70 +#, docstring +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " +msgstr "" + +#: redbot/cogs/general/general.py:77 +msgid "Not enough options to pick from." +msgstr "" + +#: redbot/cogs/general/general.py:83 +#, docstring +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " +msgstr "" + +#: redbot/cogs/general/general.py:94 +msgid "{author.mention} Maybe higher than 1? ;P" +msgstr "" + +#: redbot/cogs/general/general.py:98 +#, docstring +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " +msgstr "" + +#: redbot/cogs/general/general.py:106 +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" +msgstr "" + +#: redbot/cogs/general/general.py:117 +msgid "*flips a coin and... " +msgstr "" + +#: redbot/cogs/general/general.py:117 +msgid "HEADS!*" +msgstr "" + +#: redbot/cogs/general/general.py:117 +msgid "TAILS!*" +msgstr "" + +#: redbot/cogs/general/general.py:121 +#, docstring +msgid "Play Rock Paper Scissors." +msgstr "" + +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 +msgid "{choice} You win {author.mention}!" +msgstr "" + +#: redbot/cogs/general/general.py:153 +msgid "{choice} You lose {author.mention}!" +msgstr "" + +#: redbot/cogs/general/general.py:159 +msgid "{choice} We're square {author.mention}!" +msgstr "" + +#: redbot/cogs/general/general.py:166 +#, docstring +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " +msgstr "" + +#: redbot/cogs/general/general.py:173 +msgid "That doesn't look like a question." +msgstr "" + +#: redbot/cogs/general/general.py:177 +#, docstring +msgid "Start or stop the stopwatch." +msgstr "" + +#: redbot/cogs/general/general.py:181 +msgid " Stopwatch started!" +msgstr "" + +#: redbot/cogs/general/general.py:186 +msgid " Stopwatch stopped! Time: **{seconds}**" +msgstr "" + +#: redbot/cogs/general/general.py:192 +#, docstring +msgid "Create a lmgtfy link." +msgstr "" + +#: redbot/cogs/general/general.py:201 +#, docstring +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " +msgstr "" + +#: redbot/cogs/general/general.py:224 +#, docstring +msgid "Show server information." +msgstr "" + +#: redbot/cogs/general/general.py:231 +msgid "Since {date}. That's over {num} days ago!" +msgstr "" + +#: redbot/cogs/general/general.py:235 +msgid "Region" +msgstr "" + +#: redbot/cogs/general/general.py:236 +msgid "Users" +msgstr "" + +#: redbot/cogs/general/general.py:237 +msgid "Text Channels" +msgstr "" + +#: redbot/cogs/general/general.py:238 +msgid "Voice Channels" +msgstr "" + +#: redbot/cogs/general/general.py:239 +msgid "Roles" +msgstr "" + +#: redbot/cogs/general/general.py:240 +msgid "Owner" +msgstr "" + +#: redbot/cogs/general/general.py:241 +msgid "Server ID: " +msgstr "" + +#: redbot/cogs/general/general.py:252 +msgid "I need the `Embed links` permission to send this." +msgstr "" + +#: redbot/cogs/general/general.py:256 +#, docstring +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " +msgstr "" + +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 +msgid "No Urban Dictionary entries were found, or there was an error in the process." +msgstr "" + +#: redbot/cogs/general/general.py:278 +msgid "No Urban Dictionary entries were found." +msgstr "" + +#: redbot/cogs/general/general.py:284 +msgid "{word} by {author}" +msgstr "" + +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" +msgstr "" + +#: redbot/cogs/general/general.py:295 +msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:314 +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" +msgstr "" + diff --git a/redbot/cogs/general/locales/da-DK.po b/redbot/cogs/general/locales/da-DK.po index 8f36ee10c..6495c81ac 100644 --- a/redbot/cogs/general/locales/da-DK.po +++ b/redbot/cogs/general/locales/da-DK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -103,10 +103,7 @@ msgstr "" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " msgstr "" #: redbot/cogs/general/general.py:77 @@ -115,10 +112,7 @@ msgstr "" #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " msgstr "" #: redbot/cogs/general/general.py:94 @@ -127,14 +121,11 @@ msgstr "" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" msgstr "" #: redbot/cogs/general/general.py:117 @@ -154,127 +145,125 @@ msgstr "" msgid "Play Rock Paper Scissors." msgstr "" -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " -msgstr "" - -#: redbot/cogs/general/general.py:169 -msgid "That doesn't look like a question." +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " msgstr "" #: redbot/cogs/general/general.py:173 +msgid "That doesn't look like a question." +msgstr "" + +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." msgstr "" -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr "" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" msgstr "" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." msgstr "" -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." msgstr "" -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "" -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "" -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "" -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "" -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "" #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/de-DE.po b/redbot/cogs/general/locales/de-DE.po index 60d36f52b..8fc8e8764 100644 --- a/redbot/cogs/general/locales/de-DE.po +++ b/redbot/cogs/general/locales/de-DE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -19,7 +19,7 @@ msgstr "" #: redbot/cogs/general/general.py:36 #, docstring msgid "General commands." -msgstr "" +msgstr "Allgemeine Befehle." #: redbot/cogs/general/general.py:41 msgid "As I see it, yes" @@ -103,38 +103,29 @@ msgstr "Sehr zweifelhaft" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " msgstr "" #: redbot/cogs/general/general.py:77 msgid "Not enough options to pick from." -msgstr "" +msgstr "Nicht genug Optionen zur Auswahl." #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " msgstr "" #: redbot/cogs/general/general.py:94 msgid "{author.mention} Maybe higher than 1? ;P" -msgstr "" +msgstr "{author.mention} Wir wäre es mit mehr als 1? ;P" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" msgstr "" #: redbot/cogs/general/general.py:117 @@ -152,129 +143,127 @@ msgstr "Zahl!*" #: redbot/cogs/general/general.py:121 #, docstring msgid "Play Rock Paper Scissors." +msgstr "Spiele Schere Stein Papier." + +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." msgstr "" -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" -msgstr "" +msgstr "{choice} Du gewinnst, {author.mention}!" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" -msgstr "" +msgstr "{choice} Du verlierst, {author.mention}!" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" -msgstr "" +msgstr "{choice} Unentschieden, {author.mention}!" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " msgstr "" -#: redbot/cogs/general/general.py:169 +#: redbot/cogs/general/general.py:173 msgid "That doesn't look like a question." msgstr "Das sieht nicht nach einer Frage aus." -#: redbot/cogs/general/general.py:173 +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." -msgstr "" +msgstr "Starte oder stoppe die Stoppuhr." -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr " Stoppuhr gestartet!" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" -msgstr "" +msgstr " Stoppuhr angehalten! Zeit: **{seconds}**" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." -msgstr "" +msgstr "Erstelle einen Imgtfy Link." -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." -msgstr "" - -#: redbot/cogs/general/general.py:227 -msgid "Since {date}. That's over {num} days ago!" -msgstr "" +msgstr "Zeige Server Informationen." #: redbot/cogs/general/general.py:231 +msgid "Since {date}. That's over {num} days ago!" +msgstr "Seit {date}. Das ist über {num} Tage her!" + +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "Region" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "Benutzer" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "Text-Kanäle" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "Sprachkanäle" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "Rollen" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "Eigentümer" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "Server-ID: " -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "Ich benötige die 'Embed links' Berechtigung, um dies zu senden." -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." -msgstr "" +msgstr "Keine Urban Dictionary Einträge gefunden, oder es gab einen Fehler während des Vorgangs." -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." -msgstr "" +msgstr "Keine Urban Dictionary Einträge gefunden." -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" +msgstr "{word} von {author}" + +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" -msgstr "" - -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." -msgstr "" +msgstr "{thumbs_down} Runter / {thumbs_up} Hoch, Powered by Urban Dictionary." #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/el-GR.po b/redbot/cogs/general/locales/el-GR.po index a820f41e3..95098c3d8 100644 --- a/redbot/cogs/general/locales/el-GR.po +++ b/redbot/cogs/general/locales/el-GR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -103,10 +103,7 @@ msgstr "" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " msgstr "" #: redbot/cogs/general/general.py:77 @@ -115,10 +112,7 @@ msgstr "" #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " msgstr "" #: redbot/cogs/general/general.py:94 @@ -127,14 +121,11 @@ msgstr "" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" msgstr "" #: redbot/cogs/general/general.py:117 @@ -154,127 +145,125 @@ msgstr "" msgid "Play Rock Paper Scissors." msgstr "" -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " -msgstr "" - -#: redbot/cogs/general/general.py:169 -msgid "That doesn't look like a question." +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " msgstr "" #: redbot/cogs/general/general.py:173 +msgid "That doesn't look like a question." +msgstr "" + +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." msgstr "" -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr "" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" msgstr "" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." msgstr "" -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." msgstr "" -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "" -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "" -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "" -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "" -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "" #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/en-PT.po b/redbot/cogs/general/locales/en-PT.po index e8250ebcf..29f936fee 100644 --- a/redbot/cogs/general/locales/en-PT.po +++ b/redbot/cogs/general/locales/en-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Pirate English\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -103,10 +103,7 @@ msgstr "Mighty doubtful, capt'n" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " msgstr "" #: redbot/cogs/general/general.py:77 @@ -115,10 +112,7 @@ msgstr "" #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " msgstr "" #: redbot/cogs/general/general.py:94 @@ -127,14 +121,11 @@ msgstr "" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" msgstr "" #: redbot/cogs/general/general.py:117 @@ -154,127 +145,125 @@ msgstr "TAILS!*" msgid "Play Rock Paper Scissors." msgstr "" -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " msgstr "" -#: redbot/cogs/general/general.py:169 +#: redbot/cogs/general/general.py:173 msgid "That doesn't look like a question." msgstr "'tis not a question!" -#: redbot/cogs/general/general.py:173 +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." msgstr "" -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr " Stopwatch started!" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" msgstr "" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." msgstr "" -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." msgstr "" -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "Seas" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "Crew members" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "Text Channels" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "Speakin' Channels" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "Duties" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "Capt'n" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "" -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "Yarrr, I needs th' `Embed links` permission t' send this." -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "" -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "" -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "" #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/es-ES.po b/redbot/cogs/general/locales/es-ES.po index 13fe1053b..a524a3ec9 100644 --- a/redbot/cogs/general/locales/es-ES.po +++ b/redbot/cogs/general/locales/es-ES.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -103,10 +103,7 @@ msgstr "\"Muy dudoso\"" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " msgstr "" #: redbot/cogs/general/general.py:77 @@ -115,10 +112,7 @@ msgstr "" #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " msgstr "" #: redbot/cogs/general/general.py:94 @@ -127,14 +121,11 @@ msgstr "" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" msgstr "" #: redbot/cogs/general/general.py:117 @@ -154,127 +145,125 @@ msgstr "CRUZ! *" msgid "Play Rock Paper Scissors." msgstr "" -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " msgstr "" -#: redbot/cogs/general/general.py:169 +#: redbot/cogs/general/general.py:173 msgid "That doesn't look like a question." msgstr "Eso no parece una pregunta." -#: redbot/cogs/general/general.py:173 +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." msgstr "" -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr " Cronómetro iniciado!" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" msgstr "" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." msgstr "" -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." msgstr "" -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "Región" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "Usuarios" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "Canales de texto" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "Canales de voz" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "Roles" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "Propietario" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "ID del servidor: " -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "Necesito el permiso de 'Insertar enlaces' para enviar esto." -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "" -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "" -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "" #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/fi-FI.po b/redbot/cogs/general/locales/fi-FI.po index 6b8d79aff..387685471 100644 --- a/redbot/cogs/general/locales/fi-FI.po +++ b/redbot/cogs/general/locales/fi-FI.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -103,10 +103,7 @@ msgstr "" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " msgstr "" #: redbot/cogs/general/general.py:77 @@ -115,10 +112,7 @@ msgstr "" #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " msgstr "" #: redbot/cogs/general/general.py:94 @@ -127,14 +121,11 @@ msgstr "" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" msgstr "" #: redbot/cogs/general/general.py:117 @@ -154,127 +145,125 @@ msgstr "" msgid "Play Rock Paper Scissors." msgstr "" -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " -msgstr "" - -#: redbot/cogs/general/general.py:169 -msgid "That doesn't look like a question." +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " msgstr "" #: redbot/cogs/general/general.py:173 +msgid "That doesn't look like a question." +msgstr "" + +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." msgstr "" -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr "" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" msgstr "" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." msgstr "" -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." msgstr "" -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "" -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "" -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "" -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "" -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "" #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/fr-FR.po b/redbot/cogs/general/locales/fr-FR.po index ea75e9247..c4645b7ca 100644 --- a/redbot/cogs/general/locales/fr-FR.po +++ b/redbot/cogs/general/locales/fr-FR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:11\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -43,7 +43,7 @@ msgstr "Ça semble correct" #: redbot/cogs/general/general.py:46 msgid "Signs point to yes" -msgstr "Tout semble l'indiquer" +msgstr "Les signes portent à croire que oui" #: redbot/cogs/general/general.py:47 msgid "Without a doubt" @@ -103,14 +103,8 @@ msgstr "J'en doute fort" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " -msgstr "Choisissez entre plusieurs options.\n\n" -" Pour indiquer les options qui incluent les espaces, vous devez utiliser\n" -" des guillemets doubles.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " +msgstr "Choisissez entre plusieurs options.\\n\\n Pour indiquer les options qui incluent les espaces, vous devez utiliser\\n des guillemets.\\n " #: redbot/cogs/general/general.py:77 msgid "Not enough options to pick from." @@ -118,14 +112,8 @@ msgstr "Trop peu de possibilités pour faire un choix." #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " -msgstr "Lancez un nombre aléatoire.\n\n" -" Le résultat sera compris entre 1 et ``.\n\n" -" `` par défaut est 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " +msgstr "Lancez un nombre aléatoire.\\n\\n Le résultat sera compris entre 1 et ``.\\n\\n `` par défaut est 100.\\n " #: redbot/cogs/general/general.py:94 msgid "{author.mention} Maybe higher than 1? ;P" @@ -133,21 +121,16 @@ msgstr "{author.mention} Peut-être supérieur à 1 ? ;P" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " -msgstr "Tirer à pile ou face... ou un utilisateur.\n\n" -" La valeur par défaut est une pile ou face. " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " +msgstr "Tirer à pile ou face ... ou un utilisateur.\\n\\n La valeur par défaut est une pièce.\\n " #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" -msgstr "Bien essayé. Tu penses que c'est drôle?\n" -"Que dirais-tu de *cela* à la place :\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" +msgstr "Bien essayé. Tu penses que c'est drôle ?\\nQue dirais-tu de *cela* à la place :\\n\\n" #: redbot/cogs/general/general.py:117 msgid "*flips a coin and... " -msgstr "*lance une pièce et... " +msgstr "*Lance une pièce et... " #: redbot/cogs/general/general.py:117 msgid "HEADS!*" @@ -162,137 +145,125 @@ msgstr "FACE !*" msgid "Play Rock Paper Scissors." msgstr "Jouer à Pierre Feuille Ciseaux." -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "Cette option n'est pas valide. Essayez {r}, {p}, ou {s}." + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" msgstr "{choice} Vous avez gagner {author.mention} !" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" msgstr "{choice} Vous avez perdu {author.mention} !" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "{choice} Nous sommes quittes {author.mention} !" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " -msgstr "Demande à 8 ball une question.\n\n" -" La question doit se terminer par un point d'interrogation.\n" -" " +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " +msgstr "Demande à 8 ball une question.\\n\\n La question doit se terminer par un point d'interrogation.\\n " -#: redbot/cogs/general/general.py:169 +#: redbot/cogs/general/general.py:173 msgid "That doesn't look like a question." msgstr "Ça ne ressemble pas à une question." -#: redbot/cogs/general/general.py:173 +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." msgstr "Démarrez ou arrêtez le chronomètre." -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr " Chronomètre démarré !" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" msgstr " Chronomètre arrêté ! Temps : **{seconds}**" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." msgstr "Créé un lien lmgtfy." -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " -msgstr "Parce que tout le monde aime les câlins !\n\n" -" Jusqu'à 10 niveaux d'intensité.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " +msgstr "Parce que tout le monde aime les câlins !\\n\\n Jusqu'à 10 niveaux d'intensité.\\n " -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." msgstr "Afficher les informations du serveur." -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "Depuis le {date}. C'était il y a {num} jours !" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "Région" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "Utilisateurs" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "Salons textuels" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "Salons vocaux" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "Rôles" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" -msgstr "Possesseur" +msgstr "Propriétaire" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "ID du serveur : " -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "J'ai besoin de la permission `Intégrer des liens` pour envoyer ceci." -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " -msgstr "Recherche sur Urban Dictionary.\n\n" -" Ceci utilise l'API non-officielle d'Urban Dictionary.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " +msgstr "Recherche sur Urban Dictionary.\\n\\n Ceci utilise l'API non-officielle d'Urban Dictionary.\\n " -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "Aucun résultats d'Urban Dictionary n'a été trouvé, ou il y a eu une erreur dans le processus." -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "Aucun résultats d'Urban Dictionary n'a été trouvé." -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "{word} par {author}" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" -msgstr "{definition}\n\n" -"**Exemple :** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" +msgstr "{definition}\\n\\n**Exemple :** {example}" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." -msgstr "{thumbs_down} Bas / {thumbs_up} haut, Propulsé par Urban Dictionary." +msgstr "{thumbs_down} Bas / {thumbs_up} Haut, Propulsé par Urban Dictionary." #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." -msgstr "<{permalink}>\n" -" {word} par {author}\n\n" -"{description}\n\n" -"{thumbs_down} Bas / {thumbs_up} Haut, Propulsé par Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "<{permalink}>\\n {word} par {author}\\n\\n{description}\\n\\n{thumbs_down} Bas / {thumbs_up} Haut, Propulsé par Urban Dictionary." + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" +msgstr "{definition}\\n\\n**Exemple :** {example}" diff --git a/redbot/cogs/general/locales/hu-HU.po b/redbot/cogs/general/locales/hu-HU.po index f7bf609ca..daa09baea 100644 --- a/redbot/cogs/general/locales/hu-HU.po +++ b/redbot/cogs/general/locales/hu-HU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -103,10 +103,7 @@ msgstr "Nagyon kétséges" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " msgstr "" #: redbot/cogs/general/general.py:77 @@ -115,10 +112,7 @@ msgstr "" #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " msgstr "" #: redbot/cogs/general/general.py:94 @@ -127,14 +121,11 @@ msgstr "" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" msgstr "" #: redbot/cogs/general/general.py:117 @@ -154,127 +145,125 @@ msgstr "ÍRÁS!*" msgid "Play Rock Paper Scissors." msgstr "" -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " -msgstr "" - -#: redbot/cogs/general/general.py:169 -msgid "That doesn't look like a question." +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " msgstr "" #: redbot/cogs/general/general.py:173 +msgid "That doesn't look like a question." +msgstr "" + +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." msgstr "" -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr "" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" msgstr "" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." msgstr "" -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." msgstr "" -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "" -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "" -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "" -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "" -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "" #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/id-ID.po b/redbot/cogs/general/locales/id-ID.po index c48ac5943..a456c2447 100644 --- a/redbot/cogs/general/locales/id-ID.po +++ b/redbot/cogs/general/locales/id-ID.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -19,7 +19,7 @@ msgstr "" #: redbot/cogs/general/general.py:36 #, docstring msgid "General commands." -msgstr "" +msgstr "Perintah umum." #: redbot/cogs/general/general.py:41 msgid "As I see it, yes" @@ -103,38 +103,29 @@ msgstr "Sangat ragu" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " msgstr "" #: redbot/cogs/general/general.py:77 msgid "Not enough options to pick from." -msgstr "" +msgstr "Tidak cukup pilihan untuk dipilih." #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " msgstr "" #: redbot/cogs/general/general.py:94 msgid "{author.mention} Maybe higher than 1? ;P" -msgstr "" +msgstr "Mungkin lebih dari 1? ;P" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" msgstr "" #: redbot/cogs/general/general.py:117 @@ -154,127 +145,125 @@ msgstr "EKOR! *" msgid "Play Rock Paper Scissors." msgstr "" -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" -msgstr "" +msgstr "Kau menang!" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" -msgstr "" +msgstr "Kau kalah!" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " msgstr "" -#: redbot/cogs/general/general.py:169 +#: redbot/cogs/general/general.py:173 msgid "That doesn't look like a question." msgstr "Itu tidak seperti pertanyaan." -#: redbot/cogs/general/general.py:173 +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." -msgstr "" +msgstr "Memulai atau menghentikan stopwatch." -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr " Stopwatch dimulai!" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" -msgstr "" +msgstr " Stopwatch berhenti! Waktu: ****" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." -msgstr "" +msgstr "Membuat tautan lmgtfy." -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." -msgstr "" +msgstr "Menampilkan informasi server." -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "Wilayah" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "Pengguna" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "Saluran Teks" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "Saluran Suara" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "Peran" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "Pemilik" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " -msgstr "" +msgstr "ID Server:" -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "Saya butuh izin `Embed links` untuk mengirim ini." -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "" -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "" -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" +msgstr "oleh" + +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" -msgstr "" - -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "" #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/it-IT.po b/redbot/cogs/general/locales/it-IT.po index dc2bede8c..412acfb51 100644 --- a/redbot/cogs/general/locales/it-IT.po +++ b/redbot/cogs/general/locales/it-IT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -103,10 +103,7 @@ msgstr "Molto dubbioso" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " msgstr "" #: redbot/cogs/general/general.py:77 @@ -115,10 +112,7 @@ msgstr "" #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " msgstr "" #: redbot/cogs/general/general.py:94 @@ -127,14 +121,11 @@ msgstr "" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" msgstr "" #: redbot/cogs/general/general.py:117 @@ -154,127 +145,125 @@ msgstr "TAILS!*" msgid "Play Rock Paper Scissors." msgstr "" -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " msgstr "" -#: redbot/cogs/general/general.py:169 +#: redbot/cogs/general/general.py:173 msgid "That doesn't look like a question." msgstr "Che non sembra una domanda." -#: redbot/cogs/general/general.py:173 +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." msgstr "" -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr " Cronometro è iniziato!" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" msgstr "" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." msgstr "" -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." msgstr "" -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "Regione" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "Utenti" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "Canali di testo" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "Canali vocali" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "Ruoli" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "Proprietario" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "" -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "Ho bisogno dell'autorizzazione 'Embed links' per inviare questo." -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "" -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "" -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "" #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/ja-JP.po b/redbot/cogs/general/locales/ja-JP.po index 541af2ff6..bcc0c3d9d 100644 --- a/redbot/cogs/general/locales/ja-JP.po +++ b/redbot/cogs/general/locales/ja-JP.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -103,10 +103,7 @@ msgstr "かなり怪しい" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " msgstr "" #: redbot/cogs/general/general.py:77 @@ -115,10 +112,7 @@ msgstr "" #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " msgstr "" #: redbot/cogs/general/general.py:94 @@ -127,14 +121,11 @@ msgstr "" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" msgstr "" #: redbot/cogs/general/general.py:117 @@ -154,127 +145,125 @@ msgstr "裏!" msgid "Play Rock Paper Scissors." msgstr "" -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " msgstr "" -#: redbot/cogs/general/general.py:169 +#: redbot/cogs/general/general.py:173 msgid "That doesn't look like a question." msgstr "それは質問に見えません。" -#: redbot/cogs/general/general.py:173 +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." msgstr "" -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr " ストップウォッチが始まった!" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" msgstr "" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." msgstr "" -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." msgstr "" -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "地域" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "人 のユーザー" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "テキストチャネル" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "音声チャネル" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "役職" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "オーナー" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "" -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "送るには「リンクを埋め込み」の許可が必要です。" -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "" -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "" -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "" #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/ko-KR.po b/redbot/cogs/general/locales/ko-KR.po index 997dfa91c..04eb40be2 100644 --- a/redbot/cogs/general/locales/ko-KR.po +++ b/redbot/cogs/general/locales/ko-KR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -103,10 +103,7 @@ msgstr "동작 그만, 밑장빼기냐?" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " msgstr "" #: redbot/cogs/general/general.py:77 @@ -115,10 +112,7 @@ msgstr "" #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " msgstr "" #: redbot/cogs/general/general.py:94 @@ -127,14 +121,11 @@ msgstr "" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" msgstr "" #: redbot/cogs/general/general.py:117 @@ -154,127 +145,125 @@ msgstr "뒷면!*" msgid "Play Rock Paper Scissors." msgstr "" -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " msgstr "" -#: redbot/cogs/general/general.py:169 +#: redbot/cogs/general/general.py:173 msgid "That doesn't look like a question." msgstr "그건 질문으로 보이지 않아요." -#: redbot/cogs/general/general.py:173 +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." msgstr "" -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr "스톱워치가 시작됐어요!" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" msgstr "" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." msgstr "" -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." msgstr "" -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "지역" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "사용자" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "텍스트 채널" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "음성 채널" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "역할" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "주인님" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "" -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "이걸 보내려면 'Embed links' 권한이 필요해요." -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "" -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "" -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "" #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/lol-US.po b/redbot/cogs/general/locales/lol-US.po index b7e2976be..82fbef3fe 100644 --- a/redbot/cogs/general/locales/lol-US.po +++ b/redbot/cogs/general/locales/lol-US.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: LOLCAT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -103,10 +103,7 @@ msgstr "" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " msgstr "" #: redbot/cogs/general/general.py:77 @@ -115,10 +112,7 @@ msgstr "" #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " msgstr "" #: redbot/cogs/general/general.py:94 @@ -127,14 +121,11 @@ msgstr "" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" msgstr "" #: redbot/cogs/general/general.py:117 @@ -154,127 +145,125 @@ msgstr "" msgid "Play Rock Paper Scissors." msgstr "" -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " -msgstr "" - -#: redbot/cogs/general/general.py:169 -msgid "That doesn't look like a question." +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " msgstr "" #: redbot/cogs/general/general.py:173 +msgid "That doesn't look like a question." +msgstr "" + +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." msgstr "" -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr "" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" msgstr "" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." msgstr "" -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." msgstr "" -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "" -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "" -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "" -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "" -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "" #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/nl-NL.po b/redbot/cogs/general/locales/nl-NL.po index 20c3e4ebd..0f40113ed 100644 --- a/redbot/cogs/general/locales/nl-NL.po +++ b/redbot/cogs/general/locales/nl-NL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -103,12 +103,8 @@ msgstr "Onwaarschijnlijk" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " -msgstr "Kies uit meerdere opties. \n\n" -" Als u opties wilt aangeven die witruimte bevatten, moet u dubbele aanhalingstekens gebruiken." +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " +msgstr "" #: redbot/cogs/general/general.py:77 msgid "Not enough options to pick from." @@ -116,14 +112,8 @@ msgstr "Niet genoeg opties om uit te kiezen." #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " -msgstr "Rol een willekeurig getal.\n\n" -" Het resultaat zal tussen 1 en `` zijn.\n\n" -" `` staat standaard op 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " +msgstr "" #: redbot/cogs/general/general.py:94 msgid "{author.mention} Maybe higher than 1? ;P" @@ -131,18 +121,12 @@ msgstr "{author.mention} Misschien hoger dan 1? :P" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " -msgstr "Draai een munt... of een gebruiker. \n\n" -" Standaard is een munt.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " +msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" -msgstr "Goed geprobeerd. Denk je dat dit grappig is? \n" -" Hoe zit het met * dit * in plaats daarvan:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" +msgstr "" #: redbot/cogs/general/general.py:117 msgid "*flips a coin and... " @@ -161,134 +145,125 @@ msgstr "MUNT!*" msgid "Play Rock Paper Scissors." msgstr "Speel Steen Papier Schaar." -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" msgstr "{choice} Je wint {author.mention}!" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" msgstr "{choice}Je verliest {author.mention}!" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "{choice} Wij zijn vierkant {author.mention}!" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " -msgstr "Stel 8 ball een vraag. \n\n" -" Vraag moet eindigen met een vraagteken.\n" -" " +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " +msgstr "" -#: redbot/cogs/general/general.py:169 +#: redbot/cogs/general/general.py:173 msgid "That doesn't look like a question." msgstr "Dat ziet er niet als een vraag uit." -#: redbot/cogs/general/general.py:173 +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." msgstr "Start of stop de stopwatch." -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr " Stopwatch gestart!" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" msgstr " Stopwatch is gestopt! Tijd: **{seconds}**" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." msgstr "Maak een lmgtfy-link." -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " -msgstr "Omdat iedereen van knuffels houdt! \n\n" -" Tot 10 intensiteitsniveaus.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " +msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." msgstr "Toon serverinformatie." -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "Sinds {date}. Dat is meer dan {num} dagen geleden!" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "Regio" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "Gebruikers" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "Tekstkanalen" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "Spraakkanalen" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "Rollen" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "Eigenaar" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "Server ID: " -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "Ik heb de `Embed links` permissie nodig om dit te kunnen versturen." -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " -msgstr "Zoek in het stedenbouwkundig woordenboek. \n\n" -" Dit maakt gebruik van de niet-officiële Urban Dictionary API.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " +msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "" -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "" -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "{word} door {author}" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" -msgstr "{definition}\n\n" -"** Voorbeeld: ** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" +msgstr "" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "{thumbs_down} Omlaag / {thumbs_up} Omhoog, mogelijk gemaakt door Urban Dictionary." #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/no-NO.po b/redbot/cogs/general/locales/no-NO.po index 1afcbcfdf..b038aec81 100644 --- a/redbot/cogs/general/locales/no-NO.po +++ b/redbot/cogs/general/locales/no-NO.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Norwegian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -103,10 +103,7 @@ msgstr "Veldig tvilsomt" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " msgstr "" #: redbot/cogs/general/general.py:77 @@ -115,10 +112,7 @@ msgstr "Ikke nok valgmulighetene å plukke fra." #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " msgstr "" #: redbot/cogs/general/general.py:94 @@ -127,14 +121,11 @@ msgstr "" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" msgstr "" #: redbot/cogs/general/general.py:117 @@ -154,127 +145,125 @@ msgstr "HALER!*" msgid "Play Rock Paper Scissors." msgstr "" -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " msgstr "" -#: redbot/cogs/general/general.py:169 +#: redbot/cogs/general/general.py:173 msgid "That doesn't look like a question." msgstr "Det ser ikke ut som et spørsmål." -#: redbot/cogs/general/general.py:173 +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." msgstr "" -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr " Stoppeklokken har startet!" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" msgstr "" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." msgstr "" -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." msgstr "" -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "Region" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "Brukere" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "Tekst kanaler" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "Stemme kanaler" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "Roller" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "Eier" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "" -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "Jeg trenger \"Innebygde koblinger\" tillatelse til å sende denne." -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "" -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "" -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "" #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/pl-PL.po b/redbot/cogs/general/locales/pl-PL.po index 1a0415e8b..51433b56f 100644 --- a/redbot/cogs/general/locales/pl-PL.po +++ b/redbot/cogs/general/locales/pl-PL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -19,7 +19,7 @@ msgstr "" #: redbot/cogs/general/general.py:36 #, docstring msgid "General commands." -msgstr "" +msgstr "Generalne komendy." #: redbot/cogs/general/general.py:41 msgid "As I see it, yes" @@ -103,22 +103,16 @@ msgstr "Bardzo wątpliwe" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " msgstr "" #: redbot/cogs/general/general.py:77 msgid "Not enough options to pick from." -msgstr "" +msgstr "Za mało opcji do wyboru." #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " msgstr "" #: redbot/cogs/general/general.py:94 @@ -127,14 +121,11 @@ msgstr "" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" msgstr "" #: redbot/cogs/general/general.py:117 @@ -152,129 +143,127 @@ msgstr "RESZKA!*" #: redbot/cogs/general/general.py:121 #, docstring msgid "Play Rock Paper Scissors." +msgstr "Zagraj w Papier Nożyce Kamień." + +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." msgstr "" -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" -msgstr "" +msgstr "{choice} Wygrywasz {author.mention}!" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" -msgstr "" +msgstr "{choice} Przegrywasz {author.mention}!" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" -msgstr "" +msgstr "{choice} Remis {author.mention}!" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " msgstr "" -#: redbot/cogs/general/general.py:169 +#: redbot/cogs/general/general.py:173 msgid "That doesn't look like a question." msgstr "To nie wygląda na pytanie." -#: redbot/cogs/general/general.py:173 +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." -msgstr "" +msgstr "Uruchom lub zatrzymaj stoper." -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr " Uruchomiono stoper!" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" -msgstr "" +msgstr " Stoper zatrzymany! Czas: **{seconds}**" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." -msgstr "" +msgstr "Utwórz link do lmgtfy." -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." -msgstr "" - -#: redbot/cogs/general/general.py:227 -msgid "Since {date}. That's over {num} days ago!" -msgstr "" +msgstr "Pokazuje informacje o serwerze." #: redbot/cogs/general/general.py:231 +msgid "Since {date}. That's over {num} days ago!" +msgstr "Od {date}. To ponad {num} dni temu!" + +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "Region" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "Użytkownicy" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "Kanały Tekstowe" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "Kanały Głosowe" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "Role" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "Właściciel" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " -msgstr "" +msgstr "ID serwera: " -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "Potrzebuję uprawnienia `Zamieszczanie linków\" by to wysłać." -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "" -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "" -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "" #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/pt-BR.po b/redbot/cogs/general/locales/pt-BR.po index e8e86624e..8a3b8b26a 100644 --- a/redbot/cogs/general/locales/pt-BR.po +++ b/redbot/cogs/general/locales/pt-BR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese, Brazilian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -103,10 +103,7 @@ msgstr "" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " msgstr "" #: redbot/cogs/general/general.py:77 @@ -115,10 +112,7 @@ msgstr "" #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " msgstr "" #: redbot/cogs/general/general.py:94 @@ -127,14 +121,11 @@ msgstr "" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" msgstr "" #: redbot/cogs/general/general.py:117 @@ -154,127 +145,125 @@ msgstr "" msgid "Play Rock Paper Scissors." msgstr "" -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " -msgstr "" - -#: redbot/cogs/general/general.py:169 -msgid "That doesn't look like a question." +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " msgstr "" #: redbot/cogs/general/general.py:173 +msgid "That doesn't look like a question." +msgstr "" + +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." msgstr "" -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr "" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" msgstr "" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." msgstr "" -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." msgstr "" -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "" -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "" -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "" -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "" -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "" #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/pt-PT.po b/redbot/cogs/general/locales/pt-PT.po index 5b486c4ad..a0859d934 100644 --- a/redbot/cogs/general/locales/pt-PT.po +++ b/redbot/cogs/general/locales/pt-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -103,10 +103,7 @@ msgstr "" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " msgstr "" #: redbot/cogs/general/general.py:77 @@ -115,10 +112,7 @@ msgstr "" #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " msgstr "" #: redbot/cogs/general/general.py:94 @@ -127,14 +121,11 @@ msgstr "" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" msgstr "" #: redbot/cogs/general/general.py:117 @@ -154,127 +145,125 @@ msgstr "" msgid "Play Rock Paper Scissors." msgstr "" -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " -msgstr "" - -#: redbot/cogs/general/general.py:169 -msgid "That doesn't look like a question." +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " msgstr "" #: redbot/cogs/general/general.py:173 +msgid "That doesn't look like a question." +msgstr "" + +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." msgstr "" -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr "" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" msgstr "" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." msgstr "" -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." msgstr "" -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "" -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "" -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "" -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "" -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "" #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/ro-RO.po b/redbot/cogs/general/locales/ro-RO.po new file mode 100644 index 000000000..f24357b00 --- /dev/null +++ b/redbot/cogs/general/locales/ro-RO.po @@ -0,0 +1,269 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:09\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Romanian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /cogs/general/locales/messages.pot\n" +"Language: ro_RO\n" + +#: redbot/cogs/general/general.py:36 +#, docstring +msgid "General commands." +msgstr "" + +#: redbot/cogs/general/general.py:41 +msgid "As I see it, yes" +msgstr "" + +#: redbot/cogs/general/general.py:42 +msgid "It is certain" +msgstr "" + +#: redbot/cogs/general/general.py:43 +msgid "It is decidedly so" +msgstr "" + +#: redbot/cogs/general/general.py:44 +msgid "Most likely" +msgstr "" + +#: redbot/cogs/general/general.py:45 +msgid "Outlook good" +msgstr "" + +#: redbot/cogs/general/general.py:46 +msgid "Signs point to yes" +msgstr "" + +#: redbot/cogs/general/general.py:47 +msgid "Without a doubt" +msgstr "" + +#: redbot/cogs/general/general.py:48 +msgid "Yes" +msgstr "" + +#: redbot/cogs/general/general.py:49 +msgid "Yes – definitely" +msgstr "" + +#: redbot/cogs/general/general.py:50 +msgid "You may rely on it" +msgstr "" + +#: redbot/cogs/general/general.py:51 +msgid "Reply hazy, try again" +msgstr "" + +#: redbot/cogs/general/general.py:52 +msgid "Ask again later" +msgstr "" + +#: redbot/cogs/general/general.py:53 +msgid "Better not tell you now" +msgstr "" + +#: redbot/cogs/general/general.py:54 +msgid "Cannot predict now" +msgstr "" + +#: redbot/cogs/general/general.py:55 +msgid "Concentrate and ask again" +msgstr "" + +#: redbot/cogs/general/general.py:56 +msgid "Don't count on it" +msgstr "" + +#: redbot/cogs/general/general.py:57 +msgid "My reply is no" +msgstr "" + +#: redbot/cogs/general/general.py:58 +msgid "My sources say no" +msgstr "" + +#: redbot/cogs/general/general.py:59 +msgid "Outlook not so good" +msgstr "" + +#: redbot/cogs/general/general.py:60 +msgid "Very doubtful" +msgstr "" + +#: redbot/cogs/general/general.py:70 +#, docstring +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " +msgstr "" + +#: redbot/cogs/general/general.py:77 +msgid "Not enough options to pick from." +msgstr "" + +#: redbot/cogs/general/general.py:83 +#, docstring +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " +msgstr "" + +#: redbot/cogs/general/general.py:94 +msgid "{author.mention} Maybe higher than 1? ;P" +msgstr "" + +#: redbot/cogs/general/general.py:98 +#, docstring +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " +msgstr "" + +#: redbot/cogs/general/general.py:106 +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" +msgstr "" + +#: redbot/cogs/general/general.py:117 +msgid "*flips a coin and... " +msgstr "" + +#: redbot/cogs/general/general.py:117 +msgid "HEADS!*" +msgstr "" + +#: redbot/cogs/general/general.py:117 +msgid "TAILS!*" +msgstr "" + +#: redbot/cogs/general/general.py:121 +#, docstring +msgid "Play Rock Paper Scissors." +msgstr "" + +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 +msgid "{choice} You win {author.mention}!" +msgstr "" + +#: redbot/cogs/general/general.py:153 +msgid "{choice} You lose {author.mention}!" +msgstr "" + +#: redbot/cogs/general/general.py:159 +msgid "{choice} We're square {author.mention}!" +msgstr "" + +#: redbot/cogs/general/general.py:166 +#, docstring +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " +msgstr "" + +#: redbot/cogs/general/general.py:173 +msgid "That doesn't look like a question." +msgstr "" + +#: redbot/cogs/general/general.py:177 +#, docstring +msgid "Start or stop the stopwatch." +msgstr "" + +#: redbot/cogs/general/general.py:181 +msgid " Stopwatch started!" +msgstr "" + +#: redbot/cogs/general/general.py:186 +msgid " Stopwatch stopped! Time: **{seconds}**" +msgstr "" + +#: redbot/cogs/general/general.py:192 +#, docstring +msgid "Create a lmgtfy link." +msgstr "" + +#: redbot/cogs/general/general.py:201 +#, docstring +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " +msgstr "" + +#: redbot/cogs/general/general.py:224 +#, docstring +msgid "Show server information." +msgstr "" + +#: redbot/cogs/general/general.py:231 +msgid "Since {date}. That's over {num} days ago!" +msgstr "" + +#: redbot/cogs/general/general.py:235 +msgid "Region" +msgstr "" + +#: redbot/cogs/general/general.py:236 +msgid "Users" +msgstr "" + +#: redbot/cogs/general/general.py:237 +msgid "Text Channels" +msgstr "" + +#: redbot/cogs/general/general.py:238 +msgid "Voice Channels" +msgstr "" + +#: redbot/cogs/general/general.py:239 +msgid "Roles" +msgstr "" + +#: redbot/cogs/general/general.py:240 +msgid "Owner" +msgstr "" + +#: redbot/cogs/general/general.py:241 +msgid "Server ID: " +msgstr "" + +#: redbot/cogs/general/general.py:252 +msgid "I need the `Embed links` permission to send this." +msgstr "" + +#: redbot/cogs/general/general.py:256 +#, docstring +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " +msgstr "" + +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 +msgid "No Urban Dictionary entries were found, or there was an error in the process." +msgstr "" + +#: redbot/cogs/general/general.py:278 +msgid "No Urban Dictionary entries were found." +msgstr "" + +#: redbot/cogs/general/general.py:284 +msgid "{word} by {author}" +msgstr "" + +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" +msgstr "" + +#: redbot/cogs/general/general.py:295 +msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:314 +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" +msgstr "" + diff --git a/redbot/cogs/general/locales/ru-RU.po b/redbot/cogs/general/locales/ru-RU.po index a4e69f422..53ecafa95 100644 --- a/redbot/cogs/general/locales/ru-RU.po +++ b/redbot/cogs/general/locales/ru-RU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 05:52\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -31,7 +31,7 @@ msgstr "Это точно" #: redbot/cogs/general/general.py:43 msgid "It is decidedly so" -msgstr "Это так решительно" +msgstr "Это решительно так" #: redbot/cogs/general/general.py:44 msgid "Most likely" @@ -95,7 +95,7 @@ msgstr "Мои источники говорят - нет" #: redbot/cogs/general/general.py:59 msgid "Outlook not so good" -msgstr "Outlook не так хорош" +msgstr "Перспектива не так хороша" #: redbot/cogs/general/general.py:60 msgid "Very doubtful" @@ -103,14 +103,8 @@ msgstr "Весьма сомнительно" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " -msgstr "Выберите между несколькими вариантами.\n\n" -" Для обозначения параметров, которые включают пробелы,\n" -" вы должны использовать двойные кавычки.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " +msgstr "" #: redbot/cogs/general/general.py:77 msgid "Not enough options to pick from." @@ -118,14 +112,8 @@ msgstr "Недостаточно вариантов для выбора." #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " -msgstr "Выбрать случайное число.\n\n" -" Результат будет между 1 и ``.\n\n" -" `` по умолчанию 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " +msgstr "" #: redbot/cogs/general/general.py:94 msgid "{author.mention} Maybe higher than 1? ;P" @@ -133,18 +121,12 @@ msgstr "{author.mention} Может быть больше 1? ;P" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " -msgstr "Подбрось монетку... или пользователя.\n\n" -" По умолчанию монетку.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " +msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" -msgstr "Хорошая попытка. Вы думаете это смешно?\n" -" Как насчет *этого*:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" +msgstr "" #: redbot/cogs/general/general.py:117 msgid "*flips a coin and... " @@ -163,137 +145,125 @@ msgstr "ХВОСТЫ!*" msgid "Play Rock Paper Scissors." msgstr "Играть в камень, ножницы, бумага." -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" msgstr "{choice} Ты победил {author.mention}!" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" msgstr "{choice} Ты проиграл {author.mention}!" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "{choice} Мы квиты {author.mention}!" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " -msgstr "Задать вопрос магическому шару 8.\n\n" -" Вопрос должен заканчиваться знаком вопроса.\n" -" " - -#: redbot/cogs/general/general.py:169 -msgid "That doesn't look like a question." -msgstr "Это не выглядит как вопрос." +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " +msgstr "" #: redbot/cogs/general/general.py:173 +msgid "That doesn't look like a question." +msgstr "Это не похоже на вопрос." + +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." msgstr "Запустить или остановить секундомер." -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr " Секундомер включен!" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" msgstr " Секундомер остановлен! Время: **{seconds}**" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." msgstr "Создать ссылку на lmgtfy." -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " -msgstr "Потому что все любят обнимашки!\n\n" -" До 10 уровней интенсивности.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " +msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." msgstr "Показать информацию о сервере." -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "С момента {date}. Это закончилось {num} дней назад!" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "Регион" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "Пользователи" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "Текстовые каналы" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "Голосовые каналы" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "Роли" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "Владелец" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "ID сервера: " -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "Мне нужно разрешение \"Встраивать ссылки\" чтобы отправить это." -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " -msgstr "Поиск в Urban Dictionary.\n\n" -" Используется неофициальный API Urban Dictionary.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " +msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "Записи Urban Dictionary не найдены, или в процессе произошла ошибка." -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "Записи Urban Dictionary не найдены." -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "{word} от {author}" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" -msgstr "{definition}\n\n" -"**Пример:** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" +msgstr "" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "{thumbs_down} Вниз / {thumbs_up} Вверх, Powered by Urban Dictionary." #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." -msgstr "<{permalink}>\n" -" {word} от {author}\n\n" -"{description}\n\n" -"{thumbs_down} Вниз / {thumbs_up} Вверх, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" +msgstr "" diff --git a/redbot/cogs/general/locales/sk-SK.po b/redbot/cogs/general/locales/sk-SK.po index 0a4af9ea6..11a996fe2 100644 --- a/redbot/cogs/general/locales/sk-SK.po +++ b/redbot/cogs/general/locales/sk-SK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Slovak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -103,10 +103,7 @@ msgstr "Veľmi pochybné" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " msgstr "" #: redbot/cogs/general/general.py:77 @@ -115,10 +112,7 @@ msgstr "" #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " msgstr "" #: redbot/cogs/general/general.py:94 @@ -127,14 +121,11 @@ msgstr "" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" msgstr "" #: redbot/cogs/general/general.py:117 @@ -154,127 +145,125 @@ msgstr "ZNAK!*" msgid "Play Rock Paper Scissors." msgstr "" -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " msgstr "" -#: redbot/cogs/general/general.py:169 +#: redbot/cogs/general/general.py:173 msgid "That doesn't look like a question." msgstr "Nevyzerá to ako otázka." -#: redbot/cogs/general/general.py:173 +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." msgstr "" -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr " Stopky spustené!" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" msgstr "" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." msgstr "" -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." msgstr "" -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "Kraj" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "Užívatelia" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "Textový kanál" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "Hlasový kanál" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "Role" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "Vlastník" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "Server ID: " -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "Potrebujem povolenie `Vložiť odkazy` na odoslanie tejto správy." -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "" -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "" -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "" #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/sv-SE.po b/redbot/cogs/general/locales/sv-SE.po index b205617ed..51f616363 100644 --- a/redbot/cogs/general/locales/sv-SE.po +++ b/redbot/cogs/general/locales/sv-SE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -103,10 +103,7 @@ msgstr "Mycket tveksamt" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " msgstr "" #: redbot/cogs/general/general.py:77 @@ -115,10 +112,7 @@ msgstr "" #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " msgstr "" #: redbot/cogs/general/general.py:94 @@ -127,14 +121,11 @@ msgstr "" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" msgstr "" #: redbot/cogs/general/general.py:117 @@ -154,127 +145,125 @@ msgstr "KLAVE!*" msgid "Play Rock Paper Scissors." msgstr "" -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " msgstr "" -#: redbot/cogs/general/general.py:169 +#: redbot/cogs/general/general.py:173 msgid "That doesn't look like a question." msgstr "Det där ser inte ut som en fråga." -#: redbot/cogs/general/general.py:173 +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." msgstr "" -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr " Tidtagaruret har startats!" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" msgstr "" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." msgstr "" -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." msgstr "" -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "Region" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "Användare" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "Text kanaler" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "Röst kanaler" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "Roller" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "Ägare" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "Server ID: " -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "Jag behöver behörigheten `Embed links` för att kunna sända detta." -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "" -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "" -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "" #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/tr-TR.po b/redbot/cogs/general/locales/tr-TR.po index cfa54e87e..f7c6fb049 100644 --- a/redbot/cogs/general/locales/tr-TR.po +++ b/redbot/cogs/general/locales/tr-TR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -103,14 +103,8 @@ msgstr "Oldukça süpheli" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " -msgstr "Birden fazla seçenekler arasından seçim.\n\n" -" boşluk içeren seçenekleri belirtmek için\n" -" çift tırnak kullanmanız gerekir.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " +msgstr "" #: redbot/cogs/general/general.py:77 msgid "Not enough options to pick from." @@ -118,14 +112,8 @@ msgstr "Seçim yapmak için yeterli seçenekleri." #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " -msgstr "Rastgele bir sayı rulo.\n\n" -" sonuç 1 ve '' arasında olacaktır.\n\n" -" '' 100'e varsayılan olarak ayarlanır.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " +msgstr "" #: redbot/cogs/general/general.py:94 msgid "{author.mention} Maybe higher than 1? ;P" @@ -133,18 +121,12 @@ msgstr "{author.mention} belki 1'den daha yüksek?; P" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " -msgstr "Bir bozuk para veya bir Kullanıcı çevirme. bir sikke\n\n" -" varsayılan değeri.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " +msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" -msgstr "İyi denemeydi. Sence bu komik mi?\n" -" ne dersin * bu * yerine:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" +msgstr "" #: redbot/cogs/general/general.py:117 msgid "*flips a coin and... " @@ -163,134 +145,125 @@ msgstr "KUYRUKLARI! *" msgid "Play Rock Paper Scissors." msgstr "Rock Paper Scissors oynamak." -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" msgstr "{choice} {author.mention} kazanın!" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" msgstr "{choice} {author.mention} kaybedersin!" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "{choice} biz kare {author.mention}!" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " -msgstr "8 top bir soru sor.\n\n" -" soru bir soru işareti ile bitmelidir.\n" -" " +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " +msgstr "" -#: redbot/cogs/general/general.py:169 +#: redbot/cogs/general/general.py:173 msgid "That doesn't look like a question." msgstr "Bu bir soru gibi gözükmüyor." -#: redbot/cogs/general/general.py:173 +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." msgstr "Başlatma veya durdurma kronometre." -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr " Kronometre başladı!" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" msgstr " Kronometre durdu! Saat: **{seconds} **" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." msgstr "Lmgtfy bağlantı oluşturun." -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " -msgstr "Çünkü herkes hugs seviyor!\n\n" -" 10 yoğunluk düzeye kadar.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " +msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." msgstr "Sunucu bilgileri gösterir." -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "{date} beri. Bu {num} gün eder!" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "Bölge" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "Kullanıcılar" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "Mesaj Kanalları" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "Ses Kanalları" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "Roller" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "Sahibi" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "Sunucu kimliği: " -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "Ben \"Embed bağlantılar\" Bunu Gönder iznine sahip olmanız gerekir." -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " -msgstr "Kentsel Sözlük Arama.\n\n" -" bu gayri resmi kentsel sözlük API kullanır.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " +msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "" -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "" -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "{word} {author}" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" -msgstr "{definition}\n\n" -"** örnek: ** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" +msgstr "" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "aşağı {thumbs_down} / {thumbs_up}, Kentsel Sözlük tarafından desteklenmektedir." #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/zh-CN.po b/redbot/cogs/general/locales/zh-CN.po index 79a97ac30..6025e7e6e 100644 --- a/redbot/cogs/general/locales/zh-CN.po +++ b/redbot/cogs/general/locales/zh-CN.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -103,10 +103,7 @@ msgstr "非常可疑" #: redbot/cogs/general/general.py:70 #, docstring -msgid "Choose between multiple options.\n\n" -" To denote options which include whitespace, you should use\n" -" double quotes.\n" -" " +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " msgstr "" #: redbot/cogs/general/general.py:77 @@ -115,10 +112,7 @@ msgstr "" #: redbot/cogs/general/general.py:83 #, docstring -msgid "Roll a random number.\n\n" -" The result will be between 1 and ``.\n\n" -" `` defaults to 100.\n" -" " +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " msgstr "" #: redbot/cogs/general/general.py:94 @@ -127,14 +121,11 @@ msgstr "" #: redbot/cogs/general/general.py:98 #, docstring -msgid "Flip a coin... or a user.\n\n" -" Defaults to a coin.\n" -" " +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " msgstr "" #: redbot/cogs/general/general.py:106 -msgid "Nice try. You think this is funny?\n" -" How about *this* instead:\n\n" +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" msgstr "" #: redbot/cogs/general/general.py:117 @@ -154,127 +145,125 @@ msgstr "尾部!*" msgid "Play Rock Paper Scissors." msgstr "" -#: redbot/cogs/general/general.py:143 +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 msgid "{choice} You win {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:149 +#: redbot/cogs/general/general.py:153 msgid "{choice} You lose {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:155 +#: redbot/cogs/general/general.py:159 msgid "{choice} We're square {author.mention}!" msgstr "" -#: redbot/cogs/general/general.py:162 +#: redbot/cogs/general/general.py:166 #, docstring -msgid "Ask 8 ball a question.\n\n" -" Question must end with a question mark.\n" -" " +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " msgstr "" -#: redbot/cogs/general/general.py:169 +#: redbot/cogs/general/general.py:173 msgid "That doesn't look like a question." msgstr "这看起来不像是个问题。" -#: redbot/cogs/general/general.py:173 +#: redbot/cogs/general/general.py:177 #, docstring msgid "Start or stop the stopwatch." msgstr "" -#: redbot/cogs/general/general.py:177 +#: redbot/cogs/general/general.py:181 msgid " Stopwatch started!" msgstr "计时秒表已开始!" -#: redbot/cogs/general/general.py:182 +#: redbot/cogs/general/general.py:186 msgid " Stopwatch stopped! Time: **{seconds}**" msgstr "" -#: redbot/cogs/general/general.py:188 +#: redbot/cogs/general/general.py:192 #, docstring msgid "Create a lmgtfy link." msgstr "" -#: redbot/cogs/general/general.py:197 +#: redbot/cogs/general/general.py:201 #, docstring -msgid "Because everyone likes hugs!\n\n" -" Up to 10 intensity levels.\n" -" " +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " msgstr "" -#: redbot/cogs/general/general.py:220 +#: redbot/cogs/general/general.py:224 #, docstring msgid "Show server information." msgstr "" -#: redbot/cogs/general/general.py:227 +#: redbot/cogs/general/general.py:231 msgid "Since {date}. That's over {num} days ago!" msgstr "" -#: redbot/cogs/general/general.py:231 +#: redbot/cogs/general/general.py:235 msgid "Region" msgstr "区域" -#: redbot/cogs/general/general.py:232 +#: redbot/cogs/general/general.py:236 msgid "Users" msgstr "用户" -#: redbot/cogs/general/general.py:233 +#: redbot/cogs/general/general.py:237 msgid "Text Channels" msgstr "文字频道" -#: redbot/cogs/general/general.py:234 +#: redbot/cogs/general/general.py:238 msgid "Voice Channels" msgstr "语音频道" -#: redbot/cogs/general/general.py:235 +#: redbot/cogs/general/general.py:239 msgid "Roles" msgstr "角色" -#: redbot/cogs/general/general.py:236 +#: redbot/cogs/general/general.py:240 msgid "Owner" msgstr "所有者" -#: redbot/cogs/general/general.py:237 +#: redbot/cogs/general/general.py:241 msgid "Server ID: " msgstr "" -#: redbot/cogs/general/general.py:248 +#: redbot/cogs/general/general.py:252 msgid "I need the `Embed links` permission to send this." msgstr "我需要`嵌入链接` 的权限来发送这个。" -#: redbot/cogs/general/general.py:252 +#: redbot/cogs/general/general.py:256 #, docstring -msgid "Search the Urban Dictionary.\n\n" -" This uses the unofficial Urban Dictionary API.\n" -" " +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " msgstr "" -#: redbot/cogs/general/general.py:268 redbot/cogs/general/general.py:331 +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 msgid "No Urban Dictionary entries were found, or there was an error in the process." msgstr "" -#: redbot/cogs/general/general.py:274 +#: redbot/cogs/general/general.py:278 msgid "No Urban Dictionary entries were found." msgstr "" -#: redbot/cogs/general/general.py:280 +#: redbot/cogs/general/general.py:284 msgid "{word} by {author}" msgstr "" -#: redbot/cogs/general/general.py:285 redbot/cogs/general/general.py:310 -msgid "{definition}\n\n" -"**Example:** {example}" +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" -#: redbot/cogs/general/general.py:291 +#: redbot/cogs/general/general.py:295 msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." msgstr "" #: redbot/cogs/general/general.py:314 -msgid "<{permalink}>\n" -" {word} by {author}\n\n" -"{description}\n\n" -"{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" msgstr "" diff --git a/redbot/cogs/general/locales/zh-TW.po b/redbot/cogs/general/locales/zh-TW.po new file mode 100644 index 000000000..d017aa440 --- /dev/null +++ b/redbot/cogs/general/locales/zh-TW.po @@ -0,0 +1,269 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Chinese Traditional\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /cogs/general/locales/messages.pot\n" +"Language: zh_TW\n" + +#: redbot/cogs/general/general.py:36 +#, docstring +msgid "General commands." +msgstr "" + +#: redbot/cogs/general/general.py:41 +msgid "As I see it, yes" +msgstr "我看到了,是" + +#: redbot/cogs/general/general.py:42 +msgid "It is certain" +msgstr "這是肯定的" + +#: redbot/cogs/general/general.py:43 +msgid "It is decidedly so" +msgstr "這是確定的,因此" + +#: redbot/cogs/general/general.py:44 +msgid "Most likely" +msgstr "非常可能的" + +#: redbot/cogs/general/general.py:45 +msgid "Outlook good" +msgstr "前景很好" + +#: redbot/cogs/general/general.py:46 +msgid "Signs point to yes" +msgstr "標誌指向是" + +#: redbot/cogs/general/general.py:47 +msgid "Without a doubt" +msgstr "毫無疑問" + +#: redbot/cogs/general/general.py:48 +msgid "Yes" +msgstr "是" + +#: redbot/cogs/general/general.py:49 +msgid "Yes – definitely" +msgstr "絶對是的" + +#: redbot/cogs/general/general.py:50 +msgid "You may rely on it" +msgstr "" + +#: redbot/cogs/general/general.py:51 +msgid "Reply hazy, try again" +msgstr "回覆不清楚,再試一次" + +#: redbot/cogs/general/general.py:52 +msgid "Ask again later" +msgstr "稍後再問一次" + +#: redbot/cogs/general/general.py:53 +msgid "Better not tell you now" +msgstr "" + +#: redbot/cogs/general/general.py:54 +msgid "Cannot predict now" +msgstr "現在無法預測" + +#: redbot/cogs/general/general.py:55 +msgid "Concentrate and ask again" +msgstr "集中精神後再問一次" + +#: redbot/cogs/general/general.py:56 +msgid "Don't count on it" +msgstr "不要指望它" + +#: redbot/cogs/general/general.py:57 +msgid "My reply is no" +msgstr "我的答覆是不" + +#: redbot/cogs/general/general.py:58 +msgid "My sources say no" +msgstr "我的消息來源說不" + +#: redbot/cogs/general/general.py:59 +msgid "Outlook not so good" +msgstr "前景不是很好" + +#: redbot/cogs/general/general.py:60 +msgid "Very doubtful" +msgstr "非常可疑" + +#: redbot/cogs/general/general.py:70 +#, docstring +msgid "Choose between multiple options.\\n\\n To denote options which include whitespace, you should use\\n double quotes.\\n " +msgstr "" + +#: redbot/cogs/general/general.py:77 +msgid "Not enough options to pick from." +msgstr "" + +#: redbot/cogs/general/general.py:83 +#, docstring +msgid "Roll a random number.\\n\\n The result will be between 1 and ``.\\n\\n `` defaults to 100.\\n " +msgstr "" + +#: redbot/cogs/general/general.py:94 +msgid "{author.mention} Maybe higher than 1? ;P" +msgstr "" + +#: redbot/cogs/general/general.py:98 +#, docstring +msgid "Flip a coin... or a user.\\n\\n Defaults to a coin.\\n " +msgstr "" + +#: redbot/cogs/general/general.py:106 +msgid "Nice try. You think this is funny?\\n How about *this* instead:\\n\\n" +msgstr "" + +#: redbot/cogs/general/general.py:117 +msgid "*flips a coin and... " +msgstr "*擲硬幣而… " + +#: redbot/cogs/general/general.py:117 +msgid "HEADS!*" +msgstr "頭部!*" + +#: redbot/cogs/general/general.py:117 +msgid "TAILS!*" +msgstr "尾部!*" + +#: redbot/cogs/general/general.py:121 +#, docstring +msgid "Play Rock Paper Scissors." +msgstr "" + +#: redbot/cogs/general/general.py:126 +msgid "This isn't a valid option. Try {r}, {p}, or {s}." +msgstr "" + +#: redbot/cogs/general/general.py:147 +msgid "{choice} You win {author.mention}!" +msgstr "" + +#: redbot/cogs/general/general.py:153 +msgid "{choice} You lose {author.mention}!" +msgstr "" + +#: redbot/cogs/general/general.py:159 +msgid "{choice} We're square {author.mention}!" +msgstr "" + +#: redbot/cogs/general/general.py:166 +#, docstring +msgid "Ask 8 ball a question.\\n\\n Question must end with a question mark.\\n " +msgstr "" + +#: redbot/cogs/general/general.py:173 +msgid "That doesn't look like a question." +msgstr "這看起來不像是個問題。" + +#: redbot/cogs/general/general.py:177 +#, docstring +msgid "Start or stop the stopwatch." +msgstr "" + +#: redbot/cogs/general/general.py:181 +msgid " Stopwatch started!" +msgstr " 碼錶開始計時!" + +#: redbot/cogs/general/general.py:186 +msgid " Stopwatch stopped! Time: **{seconds}**" +msgstr " 碼錶停止計時!時間: **{seconds}**" + +#: redbot/cogs/general/general.py:192 +#, docstring +msgid "Create a lmgtfy link." +msgstr "" + +#: redbot/cogs/general/general.py:201 +#, docstring +msgid "Because everyone likes hugs!\\n\\n Up to 10 intensity levels.\\n " +msgstr "" + +#: redbot/cogs/general/general.py:224 +#, docstring +msgid "Show server information." +msgstr "" + +#: redbot/cogs/general/general.py:231 +msgid "Since {date}. That's over {num} days ago!" +msgstr "" + +#: redbot/cogs/general/general.py:235 +msgid "Region" +msgstr "區域" + +#: redbot/cogs/general/general.py:236 +msgid "Users" +msgstr "使用者" + +#: redbot/cogs/general/general.py:237 +msgid "Text Channels" +msgstr "文字頻道" + +#: redbot/cogs/general/general.py:238 +msgid "Voice Channels" +msgstr "語音頻道" + +#: redbot/cogs/general/general.py:239 +msgid "Roles" +msgstr "身分組" + +#: redbot/cogs/general/general.py:240 +msgid "Owner" +msgstr "擁有者" + +#: redbot/cogs/general/general.py:241 +msgid "Server ID: " +msgstr "" + +#: redbot/cogs/general/general.py:252 +msgid "I need the `Embed links` permission to send this." +msgstr "我需要`嵌入連結` 的權限來發送這個訊息。" + +#: redbot/cogs/general/general.py:256 +#, docstring +msgid "Search the Urban Dictionary.\\n\\n This uses the unofficial Urban Dictionary API.\\n " +msgstr "" + +#: redbot/cogs/general/general.py:272 redbot/cogs/general/general.py:338 +msgid "No Urban Dictionary entries were found, or there was an error in the process." +msgstr "" + +#: redbot/cogs/general/general.py:278 +msgid "No Urban Dictionary entries were found." +msgstr "" + +#: redbot/cogs/general/general.py:284 +msgid "{word} by {author}" +msgstr "" + +#: redbot/cogs/general/general.py:289 +msgid "{definition}\\n\\n**Example:** {example}" +msgstr "" + +#: redbot/cogs/general/general.py:295 +msgid "{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:314 +msgid "<{permalink}>\\n {word} by {author}\\n\\n{description}\\n\\n{thumbs_down} Down / {thumbs_up} Up, Powered by Urban Dictionary." +msgstr "" + +#: redbot/cogs/general/general.py:320 +msgid "{definition}\\n\\n**Example:** {example}" +msgstr "" + diff --git a/redbot/cogs/image/locales/ar-SA.po b/redbot/cogs/image/locales/ar-SA.po index fbe3232ff..f83b3edd3 100644 --- a/redbot/cogs/image/locales/ar-SA.po +++ b/redbot/cogs/image/locales/ar-SA.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,94 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: ar_SA\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "" -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "" -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "" -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" msgstr "" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "" -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "" -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "" -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " +msgid "Explain how to set imgur API tokens." msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "" -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "" -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "" -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "" +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/bg-BG.po b/redbot/cogs/image/locales/bg-BG.po index 829c7b7fa..4bd99058a 100644 --- a/redbot/cogs/image/locales/bg-BG.po +++ b/redbot/cogs/image/locales/bg-BG.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Bulgarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,94 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: bg_BG\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "" -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "" -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "" -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" -msgstr "Резултати от търсенето...\n" +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" +msgstr "" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "" -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "Само \"нови\" и \"избрани (топ)\" са валидни типове за сортиране." -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "Няма резултати." -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " +msgid "Explain how to set imgur API tokens." msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "" -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "" -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "" -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "" +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/cs-CZ.po b/redbot/cogs/image/locales/cs-CZ.po new file mode 100644 index 000000000..97750182f --- /dev/null +++ b/redbot/cogs/image/locales/cs-CZ.po @@ -0,0 +1,103 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: cs\n" +"X-Crowdin-File: /cogs/image/locales/messages.pot\n" +"Language: cs_CZ\n" + +#: redbot/cogs/image/image.py:13 +#, docstring +msgid "Image related commands." +msgstr "" + +#: redbot/cogs/image/image.py:37 +#, docstring +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " +msgstr "" + +#: redbot/cogs/image/image.py:45 +#, docstring +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " +msgstr "" + +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 +msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." +msgstr "" + +#: redbot/cogs/image/image.py:66 +msgid "Your search returned no results." +msgstr "" + +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" +msgstr "" + +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 +msgid "Something went wrong. Error code is {code}." +msgstr "" + +#: redbot/cogs/image/image.py:83 +#, docstring +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " +msgstr "" + +#: redbot/cogs/image/image.py:97 +msgid "Only 'new' and 'top' are a valid sort type." +msgstr "" + +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 +msgid "No results found." +msgstr "" + +#: redbot/cogs/image/image.py:139 +#, docstring +msgid "Explain how to set imgur API tokens." +msgstr "" + +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" +msgstr "" + +#: redbot/cogs/image/image.py:160 +#, docstring +msgid "Retrieve the first search result from Giphy." +msgstr "" + +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 +msgid "Error contacting the Giphy API." +msgstr "" + +#: redbot/cogs/image/image.py:193 +#, docstring +msgid "Retrieve a random GIF from a Giphy search." +msgstr "" + +#: redbot/cogs/image/image.py:221 +msgid "Error contacting the API." +msgstr "" + +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/da-DK.po b/redbot/cogs/image/locales/da-DK.po index 76f86911c..c2ce78a28 100644 --- a/redbot/cogs/image/locales/da-DK.po +++ b/redbot/cogs/image/locales/da-DK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,94 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: da_DK\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "" -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "" -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "" -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" msgstr "" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "" -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "" -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "" -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " +msgid "Explain how to set imgur API tokens." msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "" -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "" -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "" -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "" +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/de-DE.po b/redbot/cogs/image/locales/de-DE.po index cb342c5a1..040a7e44c 100644 --- a/redbot/cogs/image/locales/de-DE.po +++ b/redbot/cogs/image/locales/de-DE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,94 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: de_DE\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." -msgstr "" +msgstr "Image spezifische Befehle." -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." -msgstr "" +msgstr "Eine Client ID wurde nicht definiert! Bitte lege eine mit `{prefix}imgurcreds` fest." -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." +msgstr "Die Suche gab keine Treffer." + +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" msgstr "" -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" -msgstr "Suchergebnisse..." - -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." -msgstr "" +msgstr "Etwas ist schief gelaufen. Fehlercode {code}." -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "Nur 'new' und 'top' sind valide Sortierarten." -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "Keine Suchergebnisse gefunden." -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " +msgid "Explain how to set imgur API tokens." msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." +msgstr "Empfange das erste Suchergebnis von Giphy." + +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." msgstr "" -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." -msgstr "" +msgstr "Fehler beim Kontaktieren der Giphy API." -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." -msgstr "" +msgstr "Lade eine zufällige GIF aus einer Giphy Suche." -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." +msgstr "Fehler beim Kontaktieren der API." + +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" msgstr "" diff --git a/redbot/cogs/image/locales/el-GR.po b/redbot/cogs/image/locales/el-GR.po index 932e43d2f..b42da49d9 100644 --- a/redbot/cogs/image/locales/el-GR.po +++ b/redbot/cogs/image/locales/el-GR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,94 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: el_GR\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "" -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "" -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "" -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" msgstr "" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "" -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "" -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "" -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " +msgid "Explain how to set imgur API tokens." msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "" -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "" -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "" -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "" +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/en-PT.po b/redbot/cogs/image/locales/en-PT.po index a358fc98e..c30699e5c 100644 --- a/redbot/cogs/image/locales/en-PT.po +++ b/redbot/cogs/image/locales/en-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Pirate English\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,94 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: en_PT\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "" -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "" -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "" -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" -msgstr "Search results...\n" +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" +msgstr "" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "" -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "Yarrr, Only 'new' and 'top' arrr a valid sort type." -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "Nothing was found, capt'n." -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " +msgid "Explain how to set imgur API tokens." msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "" -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "" -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "" -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "" +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/es-ES.po b/redbot/cogs/image/locales/es-ES.po index e2e9483fb..539ca1683 100644 --- a/redbot/cogs/image/locales/es-ES.po +++ b/redbot/cogs/image/locales/es-ES.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,94 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: es_ES\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "" -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "" -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "" -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" -msgstr "Resultados de la búsqueda...\n" +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" +msgstr "" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "" -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "Solo \"nuevo\" y \"arriba\" son validos." -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "No se encontraron resultados." -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " +msgid "Explain how to set imgur API tokens." msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "" -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "" -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "" -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "" +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/fi-FI.po b/redbot/cogs/image/locales/fi-FI.po index 70fb997b1..c52039b64 100644 --- a/redbot/cogs/image/locales/fi-FI.po +++ b/redbot/cogs/image/locales/fi-FI.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,94 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: fi_FI\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "" -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "" -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "" -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" msgstr "" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "" -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "" -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "" -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " +msgid "Explain how to set imgur API tokens." msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "" -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "" -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "" -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "" +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/fr-FR.po b/redbot/cogs/image/locales/fr-FR.po index 941ca3ffa..95a2e555f 100644 --- a/redbot/cogs/image/locales/fr-FR.po +++ b/redbot/cogs/image/locales/fr-FR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:11\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,113 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: fr_FR\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "Commandes relatives aux images." -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " -msgstr "Retrouver des images venant d'Imgur.\n\n" -" Assurez-vous de définir l'ID client à l'aide de `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " +msgstr "Retrouver des images venant d'Imgur.\\n\\n Assurez-vous de définir l'ID client à l'aide de `[p]imgurcreds`.\\n " -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " -msgstr "Recherche sur Imgur le terme spécifié.\n\n" -" Envoie jusqu'à 3 résultats.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " +msgstr "Recherche sur Imgur le terme spécifié.\\n\\n Envoie jusqu'à 3 résultats.\\n " -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "Aucun ID client n'a été défini ! Veuillez en définir un avec `{prefix}imgurcreds`." -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "Votre recherche n'a donné aucun résultat." -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" -msgstr "Résultats de la recherche...\n" +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" +msgstr "Résultats de la recherche ...\\n" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "Quelque chose s'est mal passé. Code d'erreur : {code}." -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " -msgstr "Obtenir des images venant d'un subreddit.\n\n" -" Vous pouvez personnaliser la recherche à l'aide des options suivantes :\n" -" - ``: new, top (Nouveau, top)\n" -" - ``: day, week, month, year, all (Jour, semaine, mois, année, tout)\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " +msgstr "Obtenir des images venant d'un subreddit.\\n\\n Vous pouvez personnaliser la recherche à l'aide des options suivantes :\\n - ``: new, top (Nouveau, Top)\\n - ``: day, week, month, year, all (Jour, semaine, mois, année, tout)\\n " -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "Seulement 'new' et 'top' sont des types de tri valables." -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "Aucun résultat trouvé." -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " -msgstr "Définissez l'ID client Imgur.\n\n" -" Pour obtenir un ID client Imgur :\n" -" 1. Connectez-vous à un compte Imgur.\n" -" 2. Visitez [cette page](https://api.imgur.com/oauth2/addclient)\n" -" 3. Entrez un nom pour votre application\n" -" 4. Sélectionnez *Utilisation anonyme sans autorisation utilisateur* pour le type d'autorisation. \n" -" 5. Définissez l'URL de rappel d'autorisation sur `https://localhost`\n" -" 6. Laissez le site Web de l'application vide\n" -" 7. Entrez une adresse email valide et une description\n" -" 8. Cochez le captcha et cliquez sur suivant\n" -" 9. Votre ID client figurera à la page suivante.\n" -" " +msgid "Explain how to set imgur API tokens." +msgstr "Expliquez comment définir le token d'API Imgur." -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" -msgstr "L'ID client Imgur a été défini !" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" +msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "Récupère le premier résultat d'une recherche Giphy." -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "La clé d'API n'a pas été définie ! Veuillez en définir une avec `{prefix}giphycreds`." + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "Erreur lors du contact avec l'API Giphy." -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "Récupère un GIF aléatoire à partir d'une recherche Giphy." -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "Erreur lors du contact avec l'API." +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "Expliquez comment définir le token d'API Giphy" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/hu-HU.po b/redbot/cogs/image/locales/hu-HU.po index 1a0165fa3..62fbcbd9c 100644 --- a/redbot/cogs/image/locales/hu-HU.po +++ b/redbot/cogs/image/locales/hu-HU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,94 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: hu_HU\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "" -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "" -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "" -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" -msgstr "Keresési eredmények...\n" +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" +msgstr "" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "" -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "Csak az 'új' és 'top' érvényesek rendezési típusnak." -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "Nincs találat." -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " +msgid "Explain how to set imgur API tokens." msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "" -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "" -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "" -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "" +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/id-ID.po b/redbot/cogs/image/locales/id-ID.po index db7500a48..c58f14cd5 100644 --- a/redbot/cogs/image/locales/id-ID.po +++ b/redbot/cogs/image/locales/id-ID.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,94 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: id_ID\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "" -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "" -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "" -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" -msgstr "Hasil Pencarian...\n" +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" +msgstr "" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "" -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "Hanya 'baru' dan 'atas' adalah jenis jenis yang valid." -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "Tidak ada hasil yang ditemukan." -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " +msgid "Explain how to set imgur API tokens." msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "" -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "" -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "" -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "" +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/it-IT.po b/redbot/cogs/image/locales/it-IT.po index 7a64b6048..dac80c47f 100644 --- a/redbot/cogs/image/locales/it-IT.po +++ b/redbot/cogs/image/locales/it-IT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,94 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: it_IT\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "" -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "" -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "" -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" -msgstr "Risultati della ricerca...\n" +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" +msgstr "" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "" -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "Un tipo di ordinamento valido solo 'new' e 'top'." -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "Nessun risultato trovato." -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " +msgid "Explain how to set imgur API tokens." msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "" -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "" -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "" -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "" +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/ja-JP.po b/redbot/cogs/image/locales/ja-JP.po index 7d0467b2b..0a297b2bf 100644 --- a/redbot/cogs/image/locales/ja-JP.po +++ b/redbot/cogs/image/locales/ja-JP.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,94 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: ja_JP\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "" -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "" -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "" -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" -msgstr "検索結果…\n" +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" +msgstr "" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "" -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "有効なソートタイプは「new」と「top」のみです。" -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "結果が見つかりません。" -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " +msgid "Explain how to set imgur API tokens." msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "" -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "" -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "" -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "" +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/ko-KR.po b/redbot/cogs/image/locales/ko-KR.po index 4860589ac..cda4ae816 100644 --- a/redbot/cogs/image/locales/ko-KR.po +++ b/redbot/cogs/image/locales/ko-KR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,94 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: ko_KR\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "" -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "" -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "" -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" -msgstr "검색 중..." +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" +msgstr "" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "" -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "'new' 와 'top' 만이 사용 가능한 타입이에요." -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "결과를 찾을 수 없어요." -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " +msgid "Explain how to set imgur API tokens." msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "" -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "" -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "" -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "" +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/lol-US.po b/redbot/cogs/image/locales/lol-US.po index 7af0cca5f..5a2fa6d83 100644 --- a/redbot/cogs/image/locales/lol-US.po +++ b/redbot/cogs/image/locales/lol-US.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: LOLCAT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,94 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: lol_US\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "" -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "" -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "" -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" msgstr "" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "" -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "" -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "" -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " +msgid "Explain how to set imgur API tokens." msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "" -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "" -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "" -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "" +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/nl-NL.po b/redbot/cogs/image/locales/nl-NL.po index ed6feef14..d67e52513 100644 --- a/redbot/cogs/image/locales/nl-NL.po +++ b/redbot/cogs/image/locales/nl-NL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,113 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: nl_NL\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "Beeld gerelateerde commando's." -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " -msgstr "Ophalen van foto's van Imgur. \n\n" -" Zorg ervoor dat u de Client-ID instelt met `[p] imgurrissen`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " +msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " -msgstr "Zoek in Imgur voor de opgegeven termijn. \n\n" -" Retourneert maximaal 3 resultaten.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " +msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "Er is geen client-ID ingesteld! Stel een een in met `{prefix} imgurcreds`." -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "Je zoekopdracht leverde geen resultaten op." -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" -msgstr "Zoekresultaten...\n" +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" +msgstr "" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "Er is iets fout gegaan. Foutcode is {code}." -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " -msgstr "Download afbeeldingen van een subreddit. \n\n" -" Je kunt de zoekopdracht aanpassen met de volgende opties:\n" -" - ``: nieuw, bovenaan\n" -" - ``: dag, week, maand, jaar, alles\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " +msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "Alleen `new` en `top` zijn geldige sorteertypes." -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "Geen resultaten gevonden." -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " -msgstr "Stel de Imgur Client-ID in. \n\n" -" Om een ​​Imgur Client-ID te krijgen: \n" -" 1. Log in op een Imgur-account. \n" -" 2. Ga naar [this] (https://api.imgur.com/oauth2/addclient) pagina \n" -" 3. Voer een naam in voor uw toepassing \n" -" 4. Selecteer * Anoniem gebruik zonder toestemming van de gebruiker * voor het auth-type \n" -" 5. Stel de autorisatie-callback in URL naar `https: // localhost` \n" -" 6. Laat de app-website leeg \n" -" 7. Voer een geldig e-mailadres en een beschrijving in \n" -" 8. Vink het vakje captcha aan en klik op volgend \n" -" 9. Je klant-ID staat op de volgende pagina.\n" -" " +msgid "Explain how to set imgur API tokens." +msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" -msgstr "De Imgur Client ID is ingesteld!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" +msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "Haal het eerste zoekresultaat op van Giphy." -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "Fout bij het contacteren van de Giphy API." -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "Haal een willekeurige GIF op uit een Giphy-zoekopdracht." -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "Fout bij het contacteren van de API." +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/no-NO.po b/redbot/cogs/image/locales/no-NO.po index 961c727c1..1681c5011 100644 --- a/redbot/cogs/image/locales/no-NO.po +++ b/redbot/cogs/image/locales/no-NO.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Norwegian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,94 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: no_NO\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "" -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "" -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "" -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" -msgstr "Søkeresultater...\n" +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" +msgstr "" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "" -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "Bare \"nye\" og \"topp\" er en gyldig sorteringstype." -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "Ingen treff." -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " +msgid "Explain how to set imgur API tokens." msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "" -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "" -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "" -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "" +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/pl-PL.po b/redbot/cogs/image/locales/pl-PL.po index 9400e3b97..386273e57 100644 --- a/redbot/cogs/image/locales/pl-PL.po +++ b/redbot/cogs/image/locales/pl-PL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,94 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: pl_PL\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "" -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "" -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." +msgstr "Wyszukiwanie nie zwróciło żadnych wyników." + +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" msgstr "" -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" -msgstr "Wyniki wyszukiwania...\n" - -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "" -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "Tylko 'new' i 'top' są prawidłowy typami sortowania." -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "Nie znaleziono żadnych wyników." -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " +msgid "Explain how to set imgur API tokens." msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "" -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "" -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "" -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." +msgstr "Błąd połączenia z API." + +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" msgstr "" diff --git a/redbot/cogs/image/locales/pt-BR.po b/redbot/cogs/image/locales/pt-BR.po index 29ef602a4..1f7414d97 100644 --- a/redbot/cogs/image/locales/pt-BR.po +++ b/redbot/cogs/image/locales/pt-BR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese, Brazilian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,94 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: pt_BR\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "" -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "" -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "" -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" msgstr "" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "" -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "" -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "" -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " +msgid "Explain how to set imgur API tokens." msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "" -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "" -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "" -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "" +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/pt-PT.po b/redbot/cogs/image/locales/pt-PT.po index 05cfdedf2..878ce46bd 100644 --- a/redbot/cogs/image/locales/pt-PT.po +++ b/redbot/cogs/image/locales/pt-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,94 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: pt_PT\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "" -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "" -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "" -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" msgstr "" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "" -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "" -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "" -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " +msgid "Explain how to set imgur API tokens." msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "" -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "" -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "" -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "" +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/ro-RO.po b/redbot/cogs/image/locales/ro-RO.po new file mode 100644 index 000000000..7f005c466 --- /dev/null +++ b/redbot/cogs/image/locales/ro-RO.po @@ -0,0 +1,103 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:09\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Romanian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /cogs/image/locales/messages.pot\n" +"Language: ro_RO\n" + +#: redbot/cogs/image/image.py:13 +#, docstring +msgid "Image related commands." +msgstr "" + +#: redbot/cogs/image/image.py:37 +#, docstring +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " +msgstr "" + +#: redbot/cogs/image/image.py:45 +#, docstring +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " +msgstr "" + +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 +msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." +msgstr "" + +#: redbot/cogs/image/image.py:66 +msgid "Your search returned no results." +msgstr "" + +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" +msgstr "" + +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 +msgid "Something went wrong. Error code is {code}." +msgstr "" + +#: redbot/cogs/image/image.py:83 +#, docstring +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " +msgstr "" + +#: redbot/cogs/image/image.py:97 +msgid "Only 'new' and 'top' are a valid sort type." +msgstr "" + +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 +msgid "No results found." +msgstr "" + +#: redbot/cogs/image/image.py:139 +#, docstring +msgid "Explain how to set imgur API tokens." +msgstr "" + +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" +msgstr "" + +#: redbot/cogs/image/image.py:160 +#, docstring +msgid "Retrieve the first search result from Giphy." +msgstr "" + +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 +msgid "Error contacting the Giphy API." +msgstr "" + +#: redbot/cogs/image/image.py:193 +#, docstring +msgid "Retrieve a random GIF from a Giphy search." +msgstr "" + +#: redbot/cogs/image/image.py:221 +msgid "Error contacting the API." +msgstr "" + +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/ru-RU.po b/redbot/cogs/image/locales/ru-RU.po index e7bfb26e1..4d7998b09 100644 --- a/redbot/cogs/image/locales/ru-RU.po +++ b/redbot/cogs/image/locales/ru-RU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 05:52\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,113 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: ru_RU\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "Команды, связанные с изображениями." -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " -msgstr "Получить изображения из Imgur.\n\n" -" Обязательно установите ID клиента с помощью `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " +msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " -msgstr "Поиск в Imgur по указанному термину.\n\n" -" Возвращает до 3 результатов.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " +msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "ID клиента не был установлен! Пожалуйста, установите его с помощью `{prefix}imgurcreds`." -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "Ваш поиск не дал результатов." -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" -msgstr "Результаты поиска...\n" +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" +msgstr "" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "Что-то пошло не так. Код ошибки {code}." -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " -msgstr "Получить изображения из subreddit.\n\n" -" Вы можете настроить поиск с помощью следующих параметров:\n" -" - ``: new, top (новое, лучшее)\n" -" - ``: day, week, month, year, all (день, неделя, месяц, год, все)\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " +msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "Вы можете отсортировать только по 'new' или 'top'." -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "Результаты не найдены." -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " -msgstr "Установите ID клиента Imgur.\n\n" -" Чтобы получить ID клиента Imgur:\n" -" 1. Войдите в учетную запись Imgur.\n" -" 2. Посетите [эту](https://api.imgur.com/oauth2/addclient) страницу\n" -" 3. Введите имя для вашего приложения\n" -" 4. Выберите *Anonymous usage without user authorization* для типа аутентификации\n" -" 5. Установите URL обратного вызова авторизации на `https://localhost`\n" -" 6. Оставьте сайт приложения пустым\n" -" 7. Введите действующий адрес электронной почты и описание\n" -" 8. Поставьте галочку напротив и нажмите 'далее'\n" -" 9. Ваш ID клиента будет на следующей странице.\n" -" " +msgid "Explain how to set imgur API tokens." +msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" -msgstr "ID клиента Imgur был установлен!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" +msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "Получить первый результат поиска из Giphy." -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "Ошибка связи с Giphy API." -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "Получить случайный GIF из поиска Giphy." -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "Ошибка при обращении к API." +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/sk-SK.po b/redbot/cogs/image/locales/sk-SK.po index 48ea61484..00bc48624 100644 --- a/redbot/cogs/image/locales/sk-SK.po +++ b/redbot/cogs/image/locales/sk-SK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Slovak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,94 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: sk_SK\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "" -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "" -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "" -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" msgstr "" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "" -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "" -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "" -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " +msgid "Explain how to set imgur API tokens." msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "" -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "" -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "" -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "" +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/sv-SE.po b/redbot/cogs/image/locales/sv-SE.po index 50a17bf76..3446a0126 100644 --- a/redbot/cogs/image/locales/sv-SE.po +++ b/redbot/cogs/image/locales/sv-SE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,94 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: sv_SE\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "" -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "" -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "" -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" -msgstr "Sökresultat...\n" +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" +msgstr "" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "" -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "Bara 'new' och 'top' är giltiga sorteringstyper." -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "Inga resultat hittades." -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " +msgid "Explain how to set imgur API tokens." msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "" -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "" -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "" -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "" +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/tr-TR.po b/redbot/cogs/image/locales/tr-TR.po index 1031831ef..d453646dc 100644 --- a/redbot/cogs/image/locales/tr-TR.po +++ b/redbot/cogs/image/locales/tr-TR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,111 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: tr_TR\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "Görüntü ile ilgili komutları." -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " -msgstr "Resimler Imgur almak.\n\n" -"
'1
imgurcreds' kullanarak istemci kimliğini ayarlamak emin olun.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " +msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " -msgstr "Belirtilen terim için Imgur'u ara.\n\n" -" En fazla 3 sonuç döndürür. " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " +msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "Bir Müşteri Kimliği ayarlanmamış! Lütfen bir tane` {prefix} imgurcreds` ile ayarlayın." -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "Aramanız sonuç döndürdü." -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" -msgstr "Arama sonuçları...\n" +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" +msgstr "" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "Bir şeyler ters gitti. Hata kodu {code} ' dır." -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " -msgstr "Görüntüleri bir subreddit olsun.\n\n" -" arama aşağıdaki seçeneklerle özelleştirebilirsiniz:\n" -" - '': yeni,\n" -" - '' top: gün, hafta, ay, yıl, tüm\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " +msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "Sadece 'yeni' ve 'üst' geçerli bir sıralama türüdür." -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "Hiçbir sonuç bulunamadı." -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " -msgstr "Imgur Müşteri Kimliği'ni ayarlayın.\n\n" -" Bir Imgur Müşteri Kimliği almak için:\n" -" 1. Bir Imgur hesabına giriş yapın.\n" -" 2. [bu] adresini ziyaret edin (https://api.imgur.com/oauth2/addclient) sayfası\n" -" 3. Başvurunuz için bir isim girin\n" -" 4. Yetkilendirme türü için kullanıcı yetkilendirmesi olmadan * Anonim kullanımı * seçeneğini belirleyin.\n" -" 5. Yetkilendirme geri arama URL'sini `https: // localhost` olarak ayarlayın.\n" -" 6. Uygulama web sitesini boş bırakın\n" -" 7. Geçerli bir e-posta adresi ve bir açıklama girin\n" -" 8. Captcha kutusunu işaretleyin ve sonraki tuşa tıklayın\n" -" 9. Müşteri kimliğiniz bir sonraki sayfada olacaktır. " +msgid "Explain how to set imgur API tokens." +msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" -msgstr "Imgur istemci kimliği henüz belirlenmedi!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" +msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "İlk arama sonucu Giphy almak." -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "Giphy API'sı ile iletişim kurulurken hata oluştu." -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "Rastgele bir GIF Giphy aramanın almak." -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "Giphy API'sı ile iletişim kurulurken hata oluştu." +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/zh-CN.po b/redbot/cogs/image/locales/zh-CN.po index 404e613f6..c347c38a3 100644 --- a/redbot/cogs/image/locales/zh-CN.po +++ b/redbot/cogs/image/locales/zh-CN.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,94 +16,88 @@ msgstr "" "X-Crowdin-File: /cogs/image/locales/messages.pot\n" "Language: zh_CN\n" -#: redbot/cogs/image/image.py:15 +#: redbot/cogs/image/image.py:13 #, docstring msgid "Image related commands." msgstr "" -#: redbot/cogs/image/image.py:32 +#: redbot/cogs/image/image.py:37 #, docstring -msgid "Retrieve pictures from Imgur.\n\n" -" Make sure to set the Client ID using `[p]imgurcreds`.\n" -" " +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " msgstr "" -#: redbot/cogs/image/image.py:40 +#: redbot/cogs/image/image.py:45 #, docstring -msgid "Search Imgur for the specified term.\n\n" -" Returns up to 3 results.\n" -" " +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " msgstr "" -#: redbot/cogs/image/image.py:49 redbot/cogs/image/image.py:102 +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." msgstr "" -#: redbot/cogs/image/image.py:61 +#: redbot/cogs/image/image.py:66 msgid "Your search returned no results." msgstr "" -#: redbot/cogs/image/image.py:64 -msgid "Search results...\n" -msgstr "搜索结果...\n" +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" +msgstr "" -#: redbot/cogs/image/image.py:71 redbot/cogs/image/image.py:128 +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 msgid "Something went wrong. Error code is {code}." msgstr "" -#: redbot/cogs/image/image.py:78 +#: redbot/cogs/image/image.py:83 #, docstring -msgid "Get images from a subreddit.\n\n" -" You can customize the search with the following options:\n" -" - ``: new, top\n" -" - ``: day, week, month, year, all\n" -" " +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " msgstr "" -#: redbot/cogs/image/image.py:92 +#: redbot/cogs/image/image.py:97 msgid "Only 'new' and 'top' are a valid sort type." msgstr "只有 '新的' 和 '顶部' 是合法的排序类型。" -#: redbot/cogs/image/image.py:125 redbot/cogs/image/image.py:170 -#: redbot/cogs/image/image.py:194 +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 msgid "No results found." msgstr "没有找到任何结果。" -#: redbot/cogs/image/image.py:134 +#: redbot/cogs/image/image.py:139 #, docstring -msgid "Set the Imgur Client ID.\n\n" -" To get an Imgur Client ID:\n" -" 1. Login to an Imgur account.\n" -" 2. Visit [this](https://api.imgur.com/oauth2/addclient) page\n" -" 3. Enter a name for your application\n" -" 4. Select *Anonymous usage without user authorization* for the auth type\n" -" 5. Set the authorization callback URL to `https://localhost`\n" -" 6. Leave the app website blank\n" -" 7. Enter a valid email address and a description\n" -" 8. Check the captcha box and click next\n" -" 9. Your Client ID will be on the next page.\n" -" " +msgid "Explain how to set imgur API tokens." msgstr "" -#: redbot/cogs/image/image.py:148 -msgid "The Imgur Client ID has been set!" +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" msgstr "" -#: redbot/cogs/image/image.py:153 +#: redbot/cogs/image/image.py:160 #, docstring msgid "Retrieve the first search result from Giphy." msgstr "" -#: redbot/cogs/image/image.py:172 +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 msgid "Error contacting the Giphy API." msgstr "" -#: redbot/cogs/image/image.py:177 +#: redbot/cogs/image/image.py:193 #, docstring msgid "Retrieve a random GIF from a Giphy search." msgstr "" -#: redbot/cogs/image/image.py:196 +#: redbot/cogs/image/image.py:221 msgid "Error contacting the API." msgstr "" +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/image/locales/zh-TW.po b/redbot/cogs/image/locales/zh-TW.po new file mode 100644 index 000000000..5108d09fc --- /dev/null +++ b/redbot/cogs/image/locales/zh-TW.po @@ -0,0 +1,103 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Chinese Traditional\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /cogs/image/locales/messages.pot\n" +"Language: zh_TW\n" + +#: redbot/cogs/image/image.py:13 +#, docstring +msgid "Image related commands." +msgstr "" + +#: redbot/cogs/image/image.py:37 +#, docstring +msgid "Retrieve pictures from Imgur.\\n\\n Make sure to set the Client ID using `[p]imgurcreds`.\\n " +msgstr "" + +#: redbot/cogs/image/image.py:45 +#, docstring +msgid "Search Imgur for the specified term.\\n\\n Returns up to 3 results.\\n " +msgstr "" + +#: redbot/cogs/image/image.py:54 redbot/cogs/image/image.py:107 +msgid "A Client ID has not been set! Please set one with `{prefix}imgurcreds`." +msgstr "" + +#: redbot/cogs/image/image.py:66 +msgid "Your search returned no results." +msgstr "" + +#: redbot/cogs/image/image.py:69 +msgid "Search results...\\n" +msgstr "搜尋結果…\\n" + +#: redbot/cogs/image/image.py:76 redbot/cogs/image/image.py:133 +msgid "Something went wrong. Error code is {code}." +msgstr "" + +#: redbot/cogs/image/image.py:83 +#, docstring +msgid "Get images from a subreddit.\\n\\n You can customize the search with the following options:\\n - ``: new, top\\n - ``: day, week, month, year, all\\n " +msgstr "" + +#: redbot/cogs/image/image.py:97 +msgid "Only 'new' and 'top' are a valid sort type." +msgstr "只有 '最新' 和 '熱門' 是有效的排序方式。" + +#: redbot/cogs/image/image.py:130 redbot/cogs/image/image.py:186 +#: redbot/cogs/image/image.py:219 +msgid "No results found." +msgstr "" + +#: redbot/cogs/image/image.py:139 +#, docstring +msgid "Explain how to set imgur API tokens." +msgstr "" + +#: redbot/cogs/image/image.py:141 +msgid "To get an Imgur Client ID:\\n1. Login to an Imgur account.\\n2. Visit this page https://api.imgur.com/oauth2/addclient.\\n3. Enter a name for your application.\\n4. Select *Anonymous usage without user authorization* for the auth type.\\n5. Set the authorization callback URL to `https://localhost`.\\n6. Leave the app website blank.\\n7. Enter a valid email address and a description.\\n8. Check the captcha box and click next.\\n9. Your Client ID will be on the next page.\\n10. Run the command `{prefix}set api imgur client_id,`.\\n" +msgstr "" + +#: redbot/cogs/image/image.py:160 +#, docstring +msgid "Retrieve the first search result from Giphy." +msgstr "" + +#: redbot/cogs/image/image.py:170 redbot/cogs/image/image.py:203 +msgid "An API key has not been set! Please set one with `{prefix}giphycreds`." +msgstr "" + +#: redbot/cogs/image/image.py:188 +msgid "Error contacting the Giphy API." +msgstr "" + +#: redbot/cogs/image/image.py:193 +#, docstring +msgid "Retrieve a random GIF from a Giphy search." +msgstr "" + +#: redbot/cogs/image/image.py:221 +msgid "Error contacting the API." +msgstr "" + +#: redbot/cogs/image/image.py:226 +#, docstring +msgid "Explain how to set Giphy API tokens" +msgstr "" + +#: redbot/cogs/image/image.py:228 +msgid "To get a Giphy API Key:\\n1. Login to a Giphy account.\\n2. Visit [this](https://developers.giphy.com/dashboard) page\\n3. Press `Create an App`\\n4. Write an app name, example: `Red Bot`\\n5. Write an app description, example: `Used for Red Bot`\\n6. Copy the API key shown.\\n7. Do `{prefix}set api GIPHY api_key,your_api_key`\\n" +msgstr "" + diff --git a/redbot/cogs/mod/locales/ar-SA.po b/redbot/cogs/mod/locales/ar-SA.po index 873e74a9f..c6bfa11c9 100644 --- a/redbot/cogs/mod/locales/ar-SA.po +++ b/redbot/cogs/mod/locales/ar-SA.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,607 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: ar_SA\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." msgstr "" -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" msgstr "" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "" - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "" - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "" - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "" - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "" - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "" -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "" + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "" + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "" -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "" -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "" -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "" -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "" -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "" -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." +msgid "Moderation tools." msgstr "" -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "" -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "" -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1361 +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 #, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +msgid "Unban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" msgstr "" -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "" + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" msgstr "" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "" -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "" -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "" + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "" + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/bg-BG.po b/redbot/cogs/mod/locales/bg-BG.po index 0a1fe351f..283baf676 100644 --- a/redbot/cogs/mod/locales/bg-BG.po +++ b/redbot/cogs/mod/locales/bg-BG.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Bulgarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,607 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: bg_BG\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." msgstr "" -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" msgstr "" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "" - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "" - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "" - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "" - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "" - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "" -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "" + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "" + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "" -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "" -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "" -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "" -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "" -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "" -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." +msgid "Moderation tools." msgstr "" -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "" -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "" -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1361 +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 #, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +msgid "Unban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" msgstr "" -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "Завършено." + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" -msgstr "" +msgstr "Роли" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "" -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "" -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "Да" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "" + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "" + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/cs-CZ.po b/redbot/cogs/mod/locales/cs-CZ.po new file mode 100644 index 000000000..e3d30d821 --- /dev/null +++ b/redbot/cogs/mod/locales/cs-CZ.po @@ -0,0 +1,647 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: cs\n" +"X-Crowdin-File: /cogs/mod/locales/messages.pot\n" +"Language: cs_CZ\n" + +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." +msgstr "" + +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" +msgstr "" + +#: redbot/cogs/mod/kickban.py:73 +msgid "I cannot let you do that. Self-harm is bad {}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 +msgid "Invalid days. Must be between 0 and 7." +msgstr "" + +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "" + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "" + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 +msgid "Done. It was about time." +msgstr "" + +#: redbot/cogs/mod/kickban.py:243 +#, docstring +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" +msgstr "" + +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." +msgstr "" + +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" +msgstr "" + +#: redbot/cogs/mod/kickban.py:277 +msgid "I lack the permissions to do this." +msgstr "" + +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." +msgstr "" + +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 +#, docstring +msgid "Temporarily ban a user from this server." +msgstr "" + +#: redbot/cogs/mod/kickban.py:383 +msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:396 +msgid "I can't do that for some reason." +msgstr "" + +#: redbot/cogs/mod/kickban.py:398 +msgid "Something went wrong while banning" +msgstr "" + +#: redbot/cogs/mod/kickban.py:413 +msgid "Done. Enough chaos for now" +msgstr "" + +#: redbot/cogs/mod/kickban.py:420 +#, docstring +msgid "Kick a user and delete 1 day's worth of their messages." +msgstr "" + +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:463 +msgid "My role is not high enough to softban that user." +msgstr "" + +#: redbot/cogs/mod/kickban.py:497 +msgid "Done. Enough chaos." +msgstr "" + +#: redbot/cogs/mod/kickban.py:505 +#, docstring +msgid "Kick a member from a voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 +msgid "Couldn't find a user with that ID!" +msgstr "" + +#: redbot/cogs/mod/kickban.py:571 +msgid "It seems that user isn't banned!" +msgstr "" + +#: redbot/cogs/mod/kickban.py:579 +msgid "Something went wrong while attempting to unban that user" +msgstr "" + +#: redbot/cogs/mod/kickban.py:596 +msgid "Unbanned that user from this server" +msgstr "" + +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:618 +msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" +msgstr "" + +#: redbot/cogs/mod/mod.py:44 +#, docstring +msgid "Moderation tools." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:54 +#, docstring +msgid "Add servers or channels to the ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:60 +#, docstring +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " +msgstr "" + +#: redbot/cogs/mod/movetocore.py:68 +msgid "Channel added to ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:70 +msgid "Channel already in ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:75 +#, docstring +msgid "Ignore commands in this server." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:79 +msgid "This server has been added to the ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:81 +msgid "This server is already being ignored." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:87 +#, docstring +msgid "Remove servers or channels from the ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:93 +#, docstring +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " +msgstr "" + +#: redbot/cogs/mod/movetocore.py:102 +msgid "Channel removed from ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:104 +msgid "That channel is not in the ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:109 +#, docstring +msgid "Remove this server from the ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:113 +msgid "This server has been removed from the ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:115 +msgid "This server is not in the ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" +msgstr "" + +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 +#, docstring +msgid "Unban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "" + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 +msgid "Chilling in {} status" +msgstr "" + +#: redbot/cogs/mod/names.py:119 +msgid "Playing {}" +msgstr "" + +#: redbot/cogs/mod/names.py:121 +msgid "Streaming [{}]({})" +msgstr "" + +#: redbot/cogs/mod/names.py:123 +msgid "Listening to {}" +msgstr "" + +#: redbot/cogs/mod/names.py:125 +msgid "Watching {}" +msgstr "" + +#: redbot/cogs/mod/names.py:133 +msgid "Joined Discord on" +msgstr "" + +#: redbot/cogs/mod/names.py:134 +msgid "Joined this server on" +msgstr "" + +#: redbot/cogs/mod/names.py:136 +msgid "Roles" +msgstr "" + +#: redbot/cogs/mod/names.py:140 +msgid "Previous Names" +msgstr "" + +#: redbot/cogs/mod/names.py:144 +msgid "Previous Nicknames" +msgstr "" + +#: redbot/cogs/mod/names.py:147 +msgid "Current voice channel" +msgstr "" + +#: redbot/cogs/mod/names.py:151 +msgid "Member #{} | User ID: {}" +msgstr "" + +#: redbot/cogs/mod/names.py:168 +#, docstring +msgid "Show previous names and nicknames of a user." +msgstr "" + +#: redbot/cogs/mod/names.py:172 +msgid "**Past 20 names**:" +msgstr "" + +#: redbot/cogs/mod/names.py:178 +msgid "**Past 20 nicknames**:" +msgstr "" + +#: redbot/cogs/mod/names.py:185 +msgid "That user doesn't have any recorded name or nickname change." +msgstr "" + +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." +msgstr "" + +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" +msgstr "" + +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" +msgstr "" + +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "" + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "" + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." +msgstr "" + diff --git a/redbot/cogs/mod/locales/da-DK.po b/redbot/cogs/mod/locales/da-DK.po index 8c97cbd58..260e141fb 100644 --- a/redbot/cogs/mod/locales/da-DK.po +++ b/redbot/cogs/mod/locales/da-DK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,607 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: da_DK\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." msgstr "" -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" msgstr "" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "" - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "" - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "" - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "" - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "" - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "" -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "" + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "" + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "" -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "" -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "" -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "" -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "" -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "" -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." +msgid "Moderation tools." msgstr "" -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "" -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "" -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1361 +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 #, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +msgid "Unban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" msgstr "" -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "" + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" msgstr "" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "" -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "" -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "" + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "" + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/de-DE.po b/redbot/cogs/mod/locales/de-DE.po index 05746f94f..47d0e84a4 100644 --- a/redbot/cogs/mod/locales/de-DE.po +++ b/redbot/cogs/mod/locales/de-DE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,627 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: de_DE\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." -msgstr "Moderationstools." - -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." msgstr "" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "Wiederholungen löschen: {yes_or_no}\n" +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" +msgstr "Spam von Erwähnungen (Autoban)" -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "Ja" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "Nein" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "Spam von Erwähnungen bannen: {num_mentions}\n" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "{num} Erwähnungen" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "Verzögerung zwischen dem Löschen: {num_seconds}\n" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "{num} Sekunden" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "Keine" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "Lädt Mitglieder nach Entbannung neu ein: {yes_or_no}\n" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "Die Rollenhierarchie wird überprüft, wenn Moderationsbefehle ausgegeben werden." - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "Die Rollenhierarchie wird ignoriert, wenn Moderationsbefehle ausgegeben werden." - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "Autoban fürs Spammen von Erwähnungen aktiviert. Jeder, der {max_mentions} oder mehrere verschiedene Personen erwähnt in einer Nachricht, wird autobanned." - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "Autoban für Spam von Erwähnungen deaktiviert." - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "Das automatische Löschen von wiederholten Nachrichten aktivieren." - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "Nachrichten, die bis zu dreimal wiederholt wurden, werden gelöscht." - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "Wiederholte Nachrichten werden ignoriert." - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "Stelle die Verzögerung ein, bis der Bot die Befehlsnachrichten entfernt.\n\n" -" Muss zwischen -1 und 60 liegen.\n\n" -" Setze den Wert auf -1, um diese Funktion zu deaktivieren.\n" -" " - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "Löschen von Befehlen deaktiviert." - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "Verzögerung zum Löschen auf {num} Sekunden gesetzt." - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "Der Bot wird Befehlsnachrichten nach {num} Sekunden löschen. Setze diesen Wert auf -1, um das Löschen von Nachrichten zu stoppen" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "Ich werde keine Befehlsnachrichten löschen." - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "Benutzer, die mit {command} entbannt werden, werden wieder eingeladen." - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "Benutzer, die mit {command} entbannt werden, werden nicht wieder eingeladen." - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "Kicke einen Benutzer.\n\n" -" Wenn ein Grund angegeben ist, wird der Grund im Audit Log angezeigt.\n" -" " - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "Ich kann dich das nicht tun lassen. Tu dir das selbst nicht an {emoji}" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "Ich kann dich das nicht tun lassen. Du bist nicht höher in der Rollenhierarchie als der Benutzer." - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "Ich kann das aufgrund von Discord Hierarchie-Regeln nicht tun" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "Ich bin nicht autorisiert dies zu tun." - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "Erledigt. Das fühlte sich gut an." - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "Banne einen Benutzer von diesem Server.\n\n" -" Löscht Nachrichten der Letzten `` Tage.\n\n" -" Wenn `` keine Zahl ist, wird es als erstes Wort vom\n" -" Grund anerkannt. Mindestens 0 Tage, maximal 7. Standard ist 0.\n" -" " - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "Das kann ich dir leider nicht erlauben. Tu dir das selbst nicht an {}" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "Ich kann dich das nicht tun lassen. Du bist nicht höher in der Rollenhierarchie als der Benutzer." + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "Ich kann das aufgrund von Discord Hierarchie-Regeln nicht tun" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "Ungültige Anzahl an Tagen. Es muss eine Zahl zwischen 0 und 7 sein." -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "Ich bin nicht autorisiert dies zu tun." + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "Tempban abgesessen" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "Ich kann dich das nicht tun lassen. Tu dir das selbst nicht an {emoji}" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "Erledigt. Das fühlte sich gut an." + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "Erledigt. Einstein hat eine Theorie über Zeit entwickelt und es war verdammt noch einmal Zeit dafür." -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." -msgstr "Der Benutzer ist bereits gebannt." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." +msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" -msgstr "Benutzer nicht gefunden. Hast du die richtige Benutzer-ID angegeben?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" +msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "Mir fehlen die Berechtigungen dies zu tun." -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." -msgstr "Erledigt. Der Nutzer wird dem Server nicht mehr beitreten können. " +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." +msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "Bannt einen Benutzer vorübergehend vom Server." -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "Du wurdest vorübergehend von {server_name} gebannt. Der Bann geht bis {date}. Mit diesem Link kannst du den Server danach wieder betreten: {invite_link}" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "Ich kann das aus irgendeinem Grund nicht tun." -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "Das ist etwas beim Bannen schief gelaufen" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "Erledigt. Das war genug Stress, jetzt erst einmal ein Cookie zum entspannen" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." +msgstr "Benutzer kicken und dessen Nachrichten des letzten Tages löschen." + +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" -msgstr "Du wurdest gebannt und wieder entbannt, um Nachrichten von dir zu löschen, da du gegen die Regeln verstoßen hast.\n" -"Du kannst dem Server wieder beitreten. {invite_link}" - -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "Meine Rolle ist nicht hoch genug, um diesen Benutzer zu softbannen." -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "Erledigt. Das war genug Stress." -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." -msgstr "Entbanne einen Benutzer von diesem Server.\n\n" -" Erfordert die ID des Nutzers. Um dies herauszufinden, kannst du entweder:\n" -" 1. die ID aus dem Mod-Log Fall (falls einer erstellt wurde) entnehmen, oder\n" -" 2. den Entwicklermodus aktivieren, zu der Kategorie Bans in den Servereinstellungen navigieren und dort mit einem Rechtsklick auf den Benutzer die ID kopieren." +msgid "Kick a member from a voice channel." +msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "Es wurde kein Benutzer mit dieser ID gefunden!" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "Es scheint so, dass dieser Benutzer nicht gebannt ist!" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "Beim Versuch, diesen Benutzer zu unbannen, ist ein Fehler aufgetreten" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "Der Nutzer wurde vom Server entbannt." -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" -msgstr "Du wurdest von {server} entbannt.\n" -"Hier ist eine Einladung für diesen Server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" +msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" -msgstr "Ich konnte keine Einladung an den Benutzer senden. Kannst du das für mich machen?\n" -"Hier ist der Einladungslink: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" +msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "Beim Versuch, dem Benutzer eine Einladung zu senden, ist etwas schief gelaufen. Hier ist der Link, damit du es auch versuchen kannst: {invite_link}" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "Dieser Benutzer ist nicht in einem Sprachkanal." - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "Ich benötige die {perms} Berechtigung(en) im Kanal des Benutzers, um dies zu tun." - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "Du musst die {perms} Berechtigung(en) im Kanal des Benutzers haben, um diesen Befehl nutzen zu können." - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." -msgstr "Banne einen Benutzer, sodass dieser nicht mehr in den Sprachkanälen des Servers Sprechen und Hören kann." +msgid "Moderation tools." +msgstr "Moderationstools." -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "Dieser Nutzer ist bereits serverweit stumm- und taubgeschaltet!" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "Es wurde dem Benutzer untersagt, in Sprachkanälen zu sprechen oder zu hören" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "Entbanne einen Benutzer, sodass dieser in den Sprachkanälen des Servers Sprechen und Hören kann." - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "Dieser Benutzer ist weder stummgeschaltet noch wurde sein Lautsprecher deaktiviert!" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "Der Benutzer darf nun in Sprachkanälen sprechen und hören" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "Ändere den Nicknamen des Benutzers.\n\n" -" Wenn der Nickname leer ist wird dieser entfernt.\n" -" " - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "Nicknamen müssen zwischen 2 und 32 Zeichen lang sein." - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "Ich habe keine Berechtigung den Namen von diesem Benutzer zu ändern. Die Rolle ist höher oder gleichgestellt in der Rollenhierarchie." - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "Ich habe keine Berechtigung den Namen von diesem Benutzer zu ändern." - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "Der Nickname ist ungültig." - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "Ein unerwarteter Fehler ist aufgetreten." - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "Erledigt." - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "Schalte Benutzer stumm." - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "Schalte einen Benutzer in seinem aktuellen Sprachkanal stumm." - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "Schalte {user} im Kanal {channel.name} stumm" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "Schalte einen Benutzer in seinem aktuellen Text-Kanal stumm." - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "Der Benutzer wurde in diesem Kanal stummgeschaltet." - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "Schaltet Benutzer auf dem Server stumm" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "Der Benutzer wurde auf dem Server stummgeschaltet." - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "Entstumme Benutzer." - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "Entstumme einen Benutzer in seinem aktuellen Sprachkanal." - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "{user} wurde im Kanal {channel.name} entstummt" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "Das Aufheben der Stummschaltung ist fehlgeschlagen. Grund: {}" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "Entstumme einen Benutzer in diesem Kanal." - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "Die Stummschaltung des Benutzers wurde in diesem Kanal aufgehoben." - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "Entstumme einen Benutzer auf diesem Server." - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "Die Stummschaltung des Benutzers wurde aufgehoben." - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "Füge Server oder Kanäle zur Ignorierliste hinzu." -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "Kanal zur Ignorierliste hinzugefügt." -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "Kanal ist bereits in der Ignorierliste." -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "Befehle auf diesem Server ignorieren." -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "Dieser Server wird nun ignoriert." -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "Dieser Server wird bereits ignoriert." -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "Entferne Server oder Kanäle von der Ignorierliste." -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "Kanal aus der Ignorierliste entfernt." -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "Dieser Kanal ist nicht in der Ignorierliste enthalten." -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "Entferne diesen Server von der Ignorierliste." -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "Dieser Server wird jetzt nicht mehr ignoriert." -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "Der Server steht nicht auf der Ignorieren-Liste." -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" -msgstr "Derzeit ignorierend:\n" -"{} Kanäle\n" -"{} Server\n" - -#: redbot/cogs/mod/mod.py:1361 -#, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" -msgstr "{}\n" -"(vor {} Tagen)" +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "Dieser Benutzer kann keine Nachrichten in diesem Kanal senden." -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "Der Benutzer ist in diesem Kanal nicht stumm geschaltet." + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "Der Benutzer kann nicht stumm geschaltet werden, da dieser die Administrator Berechtigung hat." + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "Konnte den Benutzer nicht stummschalten. Ich benötige die 'Rollen verwalten' Berechtigung und der stummzuschaltende Benutzer muss unter mir in der Rollenhierarchie sein." + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "Dieser Benutzer ist nicht in einem Sprachkanal." + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "Ich benötige die {perms} Berechtigung(en) im Kanal des Benutzers, um dies zu tun." + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "Du musst die {perms} Berechtigung(en) im Kanal des Benutzers haben, um diesen Befehl nutzen zu können." + +#: redbot/cogs/mod/mutes.py:80 +#, docstring +msgid "Unban a user from speaking and listening in the server's voice channels." +msgstr "Entbanne einen Benutzer, sodass dieser in den Sprachkanälen des Servers Sprechen und Hören kann." + +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" +msgstr "Dieser Benutzer ist weder stummgeschaltet noch wurde sein Lautsprecher deaktiviert!" + +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "Der Benutzer darf nun in Sprachkanälen sprechen und hören" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "Banne einen Benutzer, sodass dieser nicht mehr in den Sprachkanälen des Servers Sprechen und Hören kann." + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "Dieser Nutzer ist bereits serverweit stumm- und taubgeschaltet!" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "Es wurde dem Benutzer untersagt, in Sprachkanälen zu sprechen oder zu hören" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "Schalte Benutzer stumm." + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "Schalte einen Benutzer in seinem aktuellen Sprachkanal stumm." + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "Schalte {user} im Kanal {channel.name} stumm" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "Schalte einen Benutzer in seinem aktuellen Text-Kanal stumm." + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "Der Benutzer wurde in diesem Kanal stummgeschaltet." + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "Schaltet Benutzer auf dem Server stumm" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "Der Benutzer wurde auf dem Server stummgeschaltet." + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "Entstumme Benutzer." + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "Entstumme einen Benutzer in seinem aktuellen Sprachkanal." + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "{user} wurde im Kanal {channel.name} entstummt" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "Das Aufheben der Stummschaltung ist fehlgeschlagen. Grund: {}" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "Entstumme einen Benutzer in diesem Kanal." + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "Die Stummschaltung des Benutzers wurde in diesem Kanal aufgehoben." + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "Entstumme einen Benutzer auf diesem Server." + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "Die Stummschaltung des Benutzers wurde aufgehoben." + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "Nicknamen müssen zwischen 2 und 32 Zeichen lang sein." + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "Ich habe keine Berechtigung den Namen von diesem Benutzer zu ändern. Die Rolle ist höher oder gleichgestellt in der Rollenhierarchie." + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "Ich habe keine Berechtigung den Namen von diesem Benutzer zu ändern." + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "Der Nickname ist ungültig." + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "Ein unerwarteter Fehler ist aufgetreten." + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "Erledigt." + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "Entspannt in {} status" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "Spielt {}" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "Streamt [{}]({})" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "Hört {}" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "Schaut {}" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "Ist Discord beigetreten am" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "Dem Server beigetreten am" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" msgstr "Rollen" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "Vorherige Namen" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "Vorherige Nicknamen" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "Aktueller Sprachkanal" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "Benutzer #{} | User ID: {}" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "Zeige vorherige Namen und Nicknamen von einem Benutzer." -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "**Vorherige 20 Namen:**" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "**Die letzten 20 Nicknamen:**" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "Über diesen Benutzer sind keine Namens- oder Nicknamenänderungen bekannt." -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" -msgstr "Tempban abgesessen" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." +msgstr "Einstellungen der Server-Administratio verwalten." -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" -msgstr "Spam von Erwähnungen (Autoban)" +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" +msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." -msgstr "Dieser Benutzer kann keine Nachrichten in diesem Kanal senden." +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" +msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." -msgstr "Der Benutzer ist in diesem Kanal nicht stumm geschaltet." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" +msgstr "Nein" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." -msgstr "Der Benutzer kann nicht stumm geschaltet werden, da dieser die Administrator Berechtigung hat." +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" +msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." -msgstr "Konnte den Benutzer nicht stummschalten. Ich benötige die 'Rollen verwalten' Berechtigung und der stummzuschaltende Benutzer muss unter mir in der Rollenhierarchie sein." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "{num} Erwähnungen" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "Ja" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "{num} Sekunden" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "Keine" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "Die Rollenhierarchie wird überprüft, wenn Moderationsbefehle ausgegeben werden." + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "Die Rollenhierarchie wird ignoriert, wenn Moderationsbefehle ausgegeben werden." + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "Autoban fürs Spammen von Erwähnungen aktiviert. Jeder, der {max_mentions} oder mehrere verschiedene Personen in einer Nachricht erwähnt, wird automatisch gebannt." + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "Autoban für Spam von Erwähnungen deaktiviert." + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "Wiederholte Nachrichten werden ignoriert." + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "Löschen von Befehlen deaktiviert." + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "Verzögerung zum Löschen auf {num} Sekunden gesetzt." + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "Der Bot wird Befehlsnachrichten nach {num} Sekunden löschen. Setze diesen Wert auf -1, um das Löschen von Nachrichten zu stoppen" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "Ich werde keine Befehlsnachrichten löschen." + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "Benutzer, die mit {command} entbannt werden, werden wieder eingeladen." + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "Benutzer, die mit {command} entbannt werden, werden nicht wieder eingeladen." + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." +msgstr "" diff --git a/redbot/cogs/mod/locales/el-GR.po b/redbot/cogs/mod/locales/el-GR.po index 072c6b23c..ba57d084f 100644 --- a/redbot/cogs/mod/locales/el-GR.po +++ b/redbot/cogs/mod/locales/el-GR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,607 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: el_GR\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." msgstr "" -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" msgstr "" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "" - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "" - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "" - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "" - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "" - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "" -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "" + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "" + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "" -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "" -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "" -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "" -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "" -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "" -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." +msgid "Moderation tools." msgstr "" -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "" -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "" -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1361 +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 #, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +msgid "Unban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" msgstr "" -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "" + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" msgstr "" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "" -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "" -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "" + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "" + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/en-PT.po b/redbot/cogs/mod/locales/en-PT.po index 9f1c5acab..1bc56fd95 100644 --- a/redbot/cogs/mod/locales/en-PT.po +++ b/redbot/cogs/mod/locales/en-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Pirate English\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,607 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: en_PT\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." +msgstr "{} ain't a sea worthy ID." + +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" msgstr "" -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." -msgstr "" - -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "" - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "" - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "" - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "" - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "" - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" -msgstr "" +msgstr "Ya can't keelhaul yerself. {}" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "Ya can't go mutineering here." + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "Ya can't go mutineering here" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "" -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "" + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "" + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "" -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "" -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "" -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "" -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "" -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "" -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." +msgid "Moderation tools." msgstr "" -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "" -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "" -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1361 +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 #, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +msgid "Unban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" msgstr "" -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "Done." + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" -msgstr "" +msgstr "Duties" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "" -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "" -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "Aye" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "" + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "" + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/es-ES.po b/redbot/cogs/mod/locales/es-ES.po index f64320cb0..1a8248bbb 100644 --- a/redbot/cogs/mod/locales/es-ES.po +++ b/redbot/cogs/mod/locales/es-ES.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,607 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: es_ES\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." msgstr "" -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" msgstr "" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "Jerarquía de roles serán comprobadas cuando se emiten órdenes de moderación." - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "La jerarquía de roles será ignorada cuando los comandos de moderación estén en emisión." - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "" - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "Autoban por spam deshabilitado." - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "Se eliminarán los mensajes repetidos hasta 3 veces." - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "Se ignorarán los mensajes repetidos." - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "Comando borrar deshabilitado." - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "" - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "No borraré los mensajes de comando." - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "No puedo dejarte hacer eso. No eres más alto que el usuario en la jerarquía de roles." - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "No estoy autorizado a hacer eso." - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "Hecho. Se sintió bien." - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "No puedo dejarte hacer eso. Hacerse daño uno mismo esta mal {}" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "No puedo dejarte hacer eso. No eres más alto que el usuario en la jerarquía de roles." + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "Días no válidos. Debe estar entre 0 y 7." -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "No estoy autorizado a hacer eso." + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "Hecho. Se sintió bien." + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "Hecho. Ya era hora." -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." -msgstr "Usuario ya está baneado." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." +msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" -msgstr "Usuario no encontrado. ¿Ha proporcionado el ID de usuario correcto?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" +msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "Carezco de los permisos para ello." -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." -msgstr "Hecho. El usuario no será capaz de unirse al servidor." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." +msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "" -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "No puedo hacer eso por algunas razones." -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "Algo estuvo mal mientras baneabamos" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "Hecho, Suficiente caos por ahora" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "Mi rol no es lo suficientemente alto para banear ese usuario." -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "Hecho. Suficiente caos." -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "Imposible encontrar un usuario con esa ID!" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "Parece que ese usuario no está baneado!" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "Algo malo paso mientras intentabamos desbanear a ese usuario" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "Desbanea a ese usuario de este servidor" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." +msgid "Moderation tools." msgstr "" -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "¡Ese usuario ya está silenciado y ensordecido del servidor!" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "Usuario ha sido baneado de esuchar o hablar en los canales de voz" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "¡Ese usuario no está silenciado o ensordecido del servidor!" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "El usuario esta permitido a hablar y escuchar en los canales de voz" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "Usuario ha sido muteado en este canal." - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "El usuario ha sido muteado en este servidor." - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "No se pudo desmutear. Razón: {}" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "Usuario muteado en este canal." - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "El usuario ha sido desmuteado en este servidor." - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "Canal añadido a la para lista ignorada." -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "Canal ya en la lista ignorada." -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "" -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "Este servidor ha sido añadido a la lista de ignorar." -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "Este servidor ya está siendo ignorado." -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "Canal removido de la lista ignorada." -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "Ese canal no está en la lista ignorarda." -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "Este servidor ha sido eliminado de la lista de ignorar." -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "Este servidor no está en la lista de ignorar." -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" -msgstr "Haciendo caso omiso de la actualidad: {} {} gremios los canales\n" +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" +msgstr "" -#: redbot/cogs/mod/mod.py:1361 +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 #, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +msgid "Unban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" +msgstr "¡Ese usuario no está silenciado o ensordecido del servidor!" + +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "El usuario esta permitido a hablar y escuchar en los canales de voz" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "¡Ese usuario ya está silenciado y ensordecido del servidor!" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "Usuario ha sido baneado de esuchar o hablar en los canales de voz" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "Usuario ha sido muteado en este canal." + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "El usuario ha sido muteado en este servidor." + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "No se pudo desmutear. Razón: {}" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "Usuario muteado en este canal." + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "El usuario ha sido desmuteado en este servidor." + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "Listo." + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" -msgstr "" +msgstr "Roles" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "" -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "**Últimos 20 nombres**:" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "**Últimos 20 nombres**:" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "Que el usuario no tiene ningún nombre grabado o cambio de apodo." -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "Sí" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "Jerarquía de roles serán comprobadas cuando se emiten órdenes de moderación." + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "La jerarquía de roles será ignorada cuando los comandos de moderación estén en emisión." + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "Autoban por spam deshabilitado." + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "Se ignorarán los mensajes repetidos." + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "Comando borrar deshabilitado." + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "No borraré los mensajes de comando." + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/fi-FI.po b/redbot/cogs/mod/locales/fi-FI.po index da064aa16..061b544c5 100644 --- a/redbot/cogs/mod/locales/fi-FI.po +++ b/redbot/cogs/mod/locales/fi-FI.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,607 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: fi_FI\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." msgstr "" -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" msgstr "" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "" - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "" - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "" - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "" - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "" - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "" -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "" + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "" + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "" -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "" -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "" -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "" -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "" -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "" -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." +msgid "Moderation tools." msgstr "" -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "" -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "" -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1361 +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 #, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +msgid "Unban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" msgstr "" -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "" + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" msgstr "" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "" -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "" -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "" + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "" + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/fr-FR.po b/redbot/cogs/mod/locales/fr-FR.po index a19d7685a..9d6dfb24f 100644 --- a/redbot/cogs/mod/locales/fr-FR.po +++ b/redbot/cogs/mod/locales/fr-FR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:11\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,634 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: fr_FR\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." -msgstr "Outils de modération." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." +msgstr "" -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." -msgstr "Gérer les paramètres d'administration du serveur." +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" +msgstr "Spam de mention (Autoban)" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "Supprimer les répétitions : {yes_or_no}\n" +#: redbot/cogs/mod/kickban.py:73 +msgid "I cannot let you do that. Self-harm is bad {}" +msgstr "Je ne peux pas vous laisser faire ça. L'automutilation c'est mal {}" -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "Oui" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "Non" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "Bannir le spam de mention: {num_mentions}\n" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "{num} mentions" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "Respecte la hiérarchie : {yes_or_no}\n" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "Délai de suppression: {num_seconds}\n" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "{num} secondes" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "Aucun" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "Ré-invitation lors d'un dé-bannissement: {yes_or_no}\n" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "Active/désactive la vérification de la hiérarchie des rôles pour les modos et les admins.\n\n" -" **ATTENTION**: Désactiver ce paramètre autorisera les modos à effectuer \n" -" des actions sur des utilisateurs au dessus d'eux dans la hiérarchie des rôles!\n\n" -" Ce paramètre est activé par défaut.\n" -" " - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "La hiérarchie des rôles sera vérifiée lors de l'émission des commandes de modération." - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "La hiérarchie des rôles sera ignoré lors de l'émission des commandes de modération." - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "Règle les conditions du bannissement automatique pour un spam de mention.\n\n" -" Les utilisateurs seront bannis si ils envoient n'importe quel message contenant\n" -" plus de `` mentions.\n\n" -" `` ce nombre doit être au minimum réglé à 5. Réglez le à 0 pour le désactiver.\n" -" " - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "Bannissement automatique pour spam de mention activé. Toute personne mentionnant {max_mentions} ou plus de personnes différentes en un seul message sera automatiquement bannie." - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "Autoban pour spam mention désactivé." - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "Active la suppression automatique des messages répétés." - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "Les messages répétés jusqu'à 3 fois seront supprimés." - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "Les messages répétés seront ignorés." - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "Règle le délai avant que le bot ne supprime le message de commande.\n\n" -" Doit être entre -1 et 60.\n\n" -" Réglez-le sur -1 pour désactiver cette fonctionnalité.\n" -" " - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "Commande de suppression désactivée." - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "Délai de suppression fixé à {num} secondes." - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "Le bot supprimera les messages de commandes après {num} secondes. Définissez cette valeur sur -1 pour arrêter la suppression des messages" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "Je ne supprimerai pas les messages de commande." - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "Activer/désactiver le fait qu'une invitation soit envoyée à un utilisateur dé-banni.\n\n" -" Si cette fonction est active, le bot tentera de créer et d'envoyer une invitation à usage unique\n" -" à l'utilisateur fraîchement dé-banni.\n" -" " - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "Les utilisateurs dé-bannis avec la commande {command} seront réinvités." - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "Les utilisateur dé-bannis avec la commande {command} ne seront pas réinvités." - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "Éjecte un utilisateur.\n\n" -" Si un raison est spécifiée, ce sera celle-ci qui sera\n" -" affichée dans les logs du serveur.\n" -" " - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "Je ne peux pas vous laisser faire ça. L'automutilation c'est mal {emoji}" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." msgstr "Je ne peux pas vous laisser faire ça. Vous n'êtes pas supérieur à l'utilisateur dans la hiérarchie des rôles." -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 msgid "I cannot do that due to discord hierarchy rules" msgstr "Je ne peux pas faire ça en raison des règles de hiérarchie de Discord" -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "Je ne suis pas autorisé à faire cela." - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "Terminé. C'était bon." - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "Bannir un utilisateur de ce serveur.\n\n" -" Supprime `` de messages.\n\n" -" Si la valeur `` n'est pas un nombre, elle sera considérée comme le premier mot\n" -" de la raison. Minimum 0 jours, maximum 7. La valeur par défaut est 0.\n" -" " - -#: redbot/cogs/mod/mod.py:405 -msgid "I cannot let you do that. Self-harm is bad {}" -msgstr "Je ne peux pas vous laisser faire cela. L’automutilation est mauvais {}" - -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "Jours non valides. Doit être compris entre 0 et 7." -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "Je ne suis pas autorisé à faire cela." + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "Ban temporaire terminé" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "Je ne peux pas vous laisser faire ça. L'automutilation c'est mal {emoji}" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "C'est fait. Ça m'a fait du bien." + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "Terminé. Il était temps." -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " -msgstr "Bannissement préventif d'un utilisateur du serveur.\n\n" -" Un ID d'utilisateur sera requis afin de bannir en utilisant\n" -" cette commande.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" +msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." -msgstr "L'utilisateur est déjà banni ." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." +msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" -msgstr "Utilisateur non trouvé. Avez-vous fourni le bon ID utilisateur ?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" +msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "Je n'ai pas les permissions pour le faire." -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." -msgstr "Terminé. L'utilisateur ne pourra pas rejoindre ce serveur." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." +msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "Bannis temporairement un utilisateur du serveur." -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" -msgstr "Vous avez été temporairement banni de {server_name} jusqu'au {date}. Voici une invitation pour quand votre bannissement expirera: {invite_link}" +msgstr "Vous avez été temporairement banni de {server_name} jusqu'au {date}. Voici une invitation lorsque votre bannissement expirera : {invite_link}" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "Je ne peux pas le faire pour une raison quelconque." -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "Quelque chose a mal tourné lors du bannissement" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "Terminé. Assez de chaos pour l'instant" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "Éjecte un utilisateur et supprime les messages envoyés par cet utilisateur pendant ces dernières 24 heures." -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" -msgstr "Vous avez été banni puis dé-banni comme moyen rapide de supprimer de vos messages.\n" -"Vous pouvez maintenant à nouveau rejoindre le serveur. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" +msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "Mon rôle n'est pas assez élevé pour softban cet utilisateur." -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "Terminé. Assez de chaos." -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" -msgstr "Impossible de trouver un utilisateur avec cet ID!" +msgstr "Impossible de trouver un utilisateur avec cet ID !" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" -msgstr "Il semble que l'utilisateur n'est pas banni!" +msgstr "Il semble que l'utilisateur n'est pas banni !" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "Une erreur s'est produite lors de la tentative de dé-bannissement de cet utilisateur" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "Dé-bannir cet utilisateur de ce serveur" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" -msgstr "" +msgstr "Quelque chose a mal tourné lors de l'envoi d'une invitation à cet utilisateur. Voici le lien pour que vous puissiez essayer : {invite_link}" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." +msgid "Moderation tools." +msgstr "Outils de modération." + +#: redbot/cogs/mod/movetocore.py:54 +#, docstring +msgid "Add servers or channels to the ignore list." +msgstr "Ajoutez des serveurs ou des salons à la liste des ignorés." + +#: redbot/cogs/mod/movetocore.py:60 +#, docstring +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "Cet utilisateur est déjà muet et devenu sourd à l’échelle du serveur!" +#: redbot/cogs/mod/movetocore.py:68 +msgid "Channel added to ignore list." +msgstr "Salon ajouté à la liste des ignorés." -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "L'utilisateur a été interdit de parler ou d'écouter dans les canaux vocaux" +#: redbot/cogs/mod/movetocore.py:70 +msgid "Channel already in ignore list." +msgstr "Salon déjà dans la liste des ignorés." -#: redbot/cogs/mod/mod.py:875 +#: redbot/cogs/mod/movetocore.py:75 +#, docstring +msgid "Ignore commands in this server." +msgstr "Ignorer les commandes dans ce serveur." + +#: redbot/cogs/mod/movetocore.py:79 +msgid "This server has been added to the ignore list." +msgstr "Ce serveur a été ajouté à la liste des ignorés." + +#: redbot/cogs/mod/movetocore.py:81 +msgid "This server is already being ignored." +msgstr "Ce serveur a déjà été ignoré." + +#: redbot/cogs/mod/movetocore.py:87 +#, docstring +msgid "Remove servers or channels from the ignore list." +msgstr "Supprimez les serveurs ou les salons de la liste des ignorés." + +#: redbot/cogs/mod/movetocore.py:93 +#, docstring +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " +msgstr "" + +#: redbot/cogs/mod/movetocore.py:102 +msgid "Channel removed from ignore list." +msgstr "Salon retiré de la liste des ignorés." + +#: redbot/cogs/mod/movetocore.py:104 +msgid "That channel is not in the ignore list." +msgstr "Ce salon n’est pas dans la liste des ignorés." + +#: redbot/cogs/mod/movetocore.py:109 +#, docstring +msgid "Remove this server from the ignore list." +msgstr "Supprimez ce serveur de la liste des serveurs ignorés." + +#: redbot/cogs/mod/movetocore.py:113 +msgid "This server has been removed from the ignore list." +msgstr "Ce serveur a été supprimé de la liste des ignorés." + +#: redbot/cogs/mod/movetocore.py:115 +msgid "This server is not in the ignore list." +msgstr "Ce serveur n’est pas dans la liste des ignorés." + +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" +msgstr "" + +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "Cet utilisateur ne peut pas envoyer de messages dans ce salon." + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "Cet utilisateur n'est pas muet dans ce salon." + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "Cet utilisateur ne peut pas être muet, car il a la permission d'administrateur." + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "Échec de la mise en sourdine de l'utilisateur. J'ai besoin des droits de gestion des rôles et l'utilisateur que je mets en sourdine doit être plus bas que moi dans la hiérarchie des rôles." + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "Cet utilisateur n'est pas dans un salon vocal." + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "J'ai besoin de(s) permission(s) {perms} dans le salon de cet utilisateur pour le faire." + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "Vous devez avoir la(les) permission(s) {perms} dans le salon de cet utilisateur pour utiliser cette commande." + +#: redbot/cogs/mod/mutes.py:80 #, docstring msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" +msgstr "Dé-bannir un utilisateur de parler et d'écouter dans les salon vocaux du serveur." -#: redbot/cogs/mod/mod.py:894 +#: redbot/cogs/mod/mutes.py:99 msgid "That user isn't muted or deafened by the server!" -msgstr "Cet utilisateur n'est pas muet ou assourdi par le serveur!" +msgstr "Cet utilisateur n'est pas muet ou sourd par le serveur !" -#: redbot/cogs/mod/mod.py:896 +#: redbot/cogs/mod/mutes.py:118 msgid "User is now allowed to speak and listen in voice channels" -msgstr "L'utilisateur est maintenant autorisé à parler et à écouter sur les canaux vocaux" +msgstr "L'utilisateur est maintenant autorisé à parler et à écouter sur les salons vocaux" -#: redbot/cogs/mod/mod.py:919 +#: redbot/cogs/mod/mutes.py:124 #, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "Bannir un utilisateur de parler et d'écouter les salon vocaux du serveur." -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "Cet utilisateur est déjà muet et sourd à l’échelle du serveur !" -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "L'utilisateur a été interdit de parler ou d'écouter dans les salons vocaux" -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "Fait." - -#: redbot/cogs/mod/mod.py:959 +#: redbot/cogs/mod/mutes.py:168 #, docstring msgid "Mute users." msgstr "Mettre l'utilisateur en sourdine." -#: redbot/cogs/mod/mod.py:965 +#: redbot/cogs/mod/mutes.py:174 #, docstring msgid "Mute a user in their current voice channel." msgstr "Rendre un utilisateur muet dans son salon vocal actuel." -#: redbot/cogs/mod/mod.py:983 +#: redbot/cogs/mod/mutes.py:206 msgid "Muted {user} in channel {channel.name}" msgstr "{user} est maintenant muet dans le salon {channel.name}" -#: redbot/cogs/mod/mod.py:1009 +#: redbot/cogs/mod/mutes.py:218 #, docstring msgid "Mute a user in the current text channel." -msgstr "" +msgstr "Rendre un utilisateur muet dans ce salon textuel." -#: redbot/cogs/mod/mod.py:1018 +#: redbot/cogs/mod/mutes.py:241 msgid "User has been muted in this channel." -msgstr "L'utilisateur a été désactivé dans ce canal." +msgstr "L'utilisateur a été mis en sourdine dans ce salon." -#: redbot/cogs/mod/mod.py:1041 +#: redbot/cogs/mod/mutes.py:250 #, docstring msgid "Mutes user in the server" -msgstr "" +msgstr "Rendre un utilisateur muet dans ce serveur" -#: redbot/cogs/mod/mod.py:1051 +#: redbot/cogs/mod/mutes.py:274 msgid "User has been muted in this server." msgstr "L'utilisateur a été mis en sourdine sur ce serveur." -#: redbot/cogs/mod/mod.py:1111 +#: redbot/cogs/mod/mutes.py:281 #, docstring msgid "Unmute users." -msgstr "" +msgstr "Rétablir les utilisateurs." -#: redbot/cogs/mod/mod.py:1119 +#: redbot/cogs/mod/mutes.py:289 #, docstring msgid "Unmute a user in their current voice channel." -msgstr "" +msgstr "Rétablir un utilisateur dans son salon vocal actuel." -#: redbot/cogs/mod/mod.py:1137 +#: redbot/cogs/mod/mutes.py:321 msgid "Unmuted {user} in channel {channel.name}" -msgstr "" +msgstr "{user} rétablit dans le salon {channel.name}" -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 msgid "Unmute failed. Reason: {}" -msgstr "Échec du démute. raison: {}" +msgstr "Échec du dé-mute. raison : {}" -#: redbot/cogs/mod/mod.py:1163 +#: redbot/cogs/mod/mutes.py:333 #, docstring msgid "Unmute a user in this channel." -msgstr "" +msgstr "Rétablir un utilisateur dans ce salon." -#: redbot/cogs/mod/mod.py:1172 +#: redbot/cogs/mod/mutes.py:356 msgid "User unmuted in this channel." -msgstr "Utilisateur démute dans ce canal." +msgstr "Utilisateur dé-mute dans ce salon." -#: redbot/cogs/mod/mod.py:1197 +#: redbot/cogs/mod/mutes.py:367 #, docstring msgid "Unmute a user in this server." -msgstr "" +msgstr "Rétablir un utilisateur dans ce serveur." -#: redbot/cogs/mod/mod.py:1207 +#: redbot/cogs/mod/mutes.py:390 msgid "User has been unmuted in this server." -msgstr "L'utilisateur a été démute sur ce serveur." +msgstr "L'utilisateur a été dé-mute sur ce serveur." -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/names.py:36 #, docstring -msgid "Add servers or channels to the ignore list." +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "Les pseudos doivent contenir entre 2 et 32 caractères." + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "Je n'ai pas la permission de renommer ce membre. Ils peuvent être supérieurs ou égaux à moi dans la hiérarchie des rôles." + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "Je n'ai pas la permission de renommer ce membre." + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "Ce pseudo est invalide." + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "Une erreur inattendue est survenue." + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "Fait." + +#: redbot/cogs/mod/names.py:76 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 -msgid "Channel added to ignore list." -msgstr "Salon ajouté à la liste des ignorés." - -#: redbot/cogs/mod/mod.py:1278 -msgid "Channel already in ignore list." -msgstr "Salon déjà dans la liste des ignorés." - -#: redbot/cogs/mod/mod.py:1283 -#, docstring -msgid "Ignore commands in this server." +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" msgstr "" -#: redbot/cogs/mod/mod.py:1287 -msgid "This server has been added to the ignore list." -msgstr "Ce serveur a été ajouté à la liste des ignorés." - -#: redbot/cogs/mod/mod.py:1289 -msgid "This server is already being ignored." -msgstr "Ce serveur a déjà été ignoré." - -#: redbot/cogs/mod/mod.py:1295 -#, docstring -msgid "Remove servers or channels from the ignore list." +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" msgstr "" -#: redbot/cogs/mod/mod.py:1301 -#, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" msgstr "" -#: redbot/cogs/mod/mod.py:1310 -msgid "Channel removed from ignore list." -msgstr "Salon retiré de la liste des ignorés." - -#: redbot/cogs/mod/mod.py:1312 -msgid "That channel is not in the ignore list." -msgstr "Ce salon n’est pas dans la liste des ignorés." - -#: redbot/cogs/mod/mod.py:1317 -#, docstring -msgid "Remove this server from the ignore list." -msgstr "" - -#: redbot/cogs/mod/mod.py:1321 -msgid "This server has been removed from the ignore list." -msgstr "Ce serveur a été supprimé de la liste des ignorés." - -#: redbot/cogs/mod/mod.py:1323 -msgid "This server is not in the ignore list." -msgstr "Ce serveur n’est pas dans la liste des ignorés." - -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" -msgstr "Liste des ignorés:\n" -"{} Salons\n" -"{} guilds\n" - -#: redbot/cogs/mod/mod.py:1361 -#, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" -msgstr "" - -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" -msgstr "" +msgstr "Statut : {}" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" -msgstr "" +msgstr "Joue à {}" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" -msgstr "" +msgstr "En train de streamer : [{}]({})" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" -msgstr "" +msgstr "Écoute {}" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" -msgstr "" +msgstr "Regarde {}" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" -msgstr "" +msgstr "A rejoint Discord le" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" -msgstr "" +msgstr "A rejoint ce serveur le" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" -msgstr "" +msgstr "Rôles" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" -msgstr "" +msgstr "Noms précédents" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" -msgstr "" +msgstr "Pseudos précédents" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" -msgstr "" +msgstr "Salon vocal actuel" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" -msgstr "" +msgstr "Membre #{} | ID utilisateur: {}" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." -msgstr "" +msgstr "Afficher les noms et pseudos précédents d'un utilisateur." -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" -msgstr "** Au-delà de 20 noms ** :" +msgstr "**20 derniers noms **:" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" -msgstr "** Au-delà de 20 surnoms ** :" +msgstr "**20 derniers pseudos ** :" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." -msgstr "Cet utilisateur n'a aucun nom d'enregistrement ou pseudonyme modifié." +msgstr "Cet utilisateur n'a aucun nom ou pseudo enregistré." -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." +msgstr "Gérer les paramètres d'administration du serveur." + +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" +msgstr "Non" + +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "{num} mentions" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "Oui" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "{num} secondes" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "Aucun" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "La hiérarchie des rôles sera vérifiée lorsque les commandes de modération sont émises." + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "La hiérarchie des rôles sera ignorée lorsque les commandes de modération sont émises." + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "Bannissement automatique pour spam de mention activé. Toute personne mentionnant {max_mentions} ou plus de personnes différentes en un seul message sera automatiquement bannie." + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "Autoban pour spam de mention désactivé." + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "Les messages répétés seront ignorés." + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "Commande de suppression désactivée." + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "Délai de suppression défini à {num} secondes." + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "Le bot supprimera les messages de commandes après {num} secondes. Définissez cette valeur sur -1 pour arrêter la suppression des messages" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "Je ne supprimerai pas les messages de commande." + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "Les utilisateurs dé-bannis avec la commande {command} seront réinvités." + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "Les utilisateur dé-bannis avec la commande {command} ne seront pas réinvités." + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/hu-HU.po b/redbot/cogs/mod/locales/hu-HU.po index f17ecd8d3..cfa6b0d3e 100644 --- a/redbot/cogs/mod/locales/hu-HU.po +++ b/redbot/cogs/mod/locales/hu-HU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,607 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: hu_HU\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." msgstr "" -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" msgstr "" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "" - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "" - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "" - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "" - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "" - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "" -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "" + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "" + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "" -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "" -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "" -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "" -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "" -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "" -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." +msgid "Moderation tools." msgstr "" -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "" -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "" -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1361 +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 #, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +msgid "Unban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" msgstr "" -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "Kész." + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" msgstr "" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "" -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "" -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "Igen" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "" + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "" + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/id-ID.po b/redbot/cogs/mod/locales/id-ID.po index 1730fc49d..0d9c1af22 100644 --- a/redbot/cogs/mod/locales/id-ID.po +++ b/redbot/cogs/mod/locales/id-ID.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,609 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: id_ID\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." msgstr "" -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" msgstr "" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "Peran hirarki akan diperiksa ketika mengeluarkan perintah moderasi." - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "Peran hirarki akan diabaikan ketika mengeluarkan perintah moderasi." - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "" - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "Autoban untuk penyebutan berulang dimatikan." - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "Pesan yang diulang sampai 3 kali akan dihapus." - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "Pesan yang diulang akan diabaikan." - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "Perintah menghapus dinonaktifkan." - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "" - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "Saya tidak akan menghapus pesan perintah." - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "Saya tidak dapat membiarkan Anda melakukan itu. Anda tidak lebih tinggi daripada pengguna dalam peran hirarki." - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "Saya tidak diizinkan untuk melakukan itu." - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "Selesai. Itu terasa baik." - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "Saya tidak dapat membiarkan Anda melakukan itu. Merugikan diri sendiri adalah buruk {}" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "Saya tidak dapat membiarkan Anda melakukan itu. Anda tidak lebih tinggi daripada pengguna dalam peran hirarki." + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "Hari-hari tidak sah. Harus antara 0 dan 7." -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "Saya tidak diizinkan untuk melakukan itu." + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "Selesai. Itu terasa baik." + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "Selesai. Itu hanya masalah waktu." -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." -msgstr "Pengguna sudah dibanned." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." +msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" -msgstr "Pengguna tidak ditemukan. Sudahkah kamu memberikan ID pengguna yang benar?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" +msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "Saya tidak memiliki izin untuk melakukan ini." -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "" -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "Saya tidak bisa melakukan itu untuk beberapa alasan." -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "Terjadi suatu kesalahan saat banning" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "Selesai. Cukup kekacauan untuk sekarang" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "Hirarki saya tidak cukup tinggi untuk softban pengguna." -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "Selesai. Cukup kekacauan." -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "Tidak dapat menemukan pengguna dengan ID tersebut!" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "Tampaknya bahwa pengguna tidak di banned!" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "Terjadi kesalahan saat mencoba untuk mengunban pengguna" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." +msgid "Moderation tools." msgstr "" -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "Pengguna telah di banned dari berbicara atau mendengarkan channel voice" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "Pengguna diizinkan untuk berbicara dan mendengarkan di channel voice" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "Pengguna telah dibisukan di channel ini." - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "Menghidupkan suara gagal. Alasan: {}" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "Pengguna diizinkan bersuara di channel ini." - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "Saluran ditambahkan ke daftar abaikan." -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "Saluran sudah ada didalam daftar abaikan." -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "" -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "" -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "Saluran di hapus dari dalam daftar abaikan." -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "Saluran sedang tidak ada di dalam daftar abaikan." -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" -msgstr "Saat ini mengabaikan:\n" -"{} saluran\n" -"{} guilds\n" +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" +msgstr "" -#: redbot/cogs/mod/mod.py:1361 +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 #, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +msgid "Unban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" msgstr "" -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "Pengguna diizinkan untuk berbicara dan mendengarkan di channel voice" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "Pengguna telah di banned dari berbicara atau mendengarkan channel voice" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "Pengguna telah dibisukan di channel ini." + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "Menghidupkan suara gagal. Alasan: {}" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "Pengguna diizinkan bersuara di channel ini." + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "Selesai." + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" -msgstr "" +msgstr "Peran" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "" -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "**20 nama terakhir**:" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "**20 julukan terakhir**:" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "Pengguna tidak memiliki nama yang tercatat atau nama panggilan yang berubah." -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "Ya" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "Peran hirarki akan diperiksa ketika mengeluarkan perintah moderasi." + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "Peran hirarki akan diabaikan ketika mengeluarkan perintah moderasi." + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "Autoban untuk penyebutan berulang dimatikan." + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "Pesan yang diulang akan diabaikan." + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "Perintah menghapus dinonaktifkan." + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "Saya tidak akan menghapus pesan perintah." + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/it-IT.po b/redbot/cogs/mod/locales/it-IT.po index 70b0aa97e..b617d58b4 100644 --- a/redbot/cogs/mod/locales/it-IT.po +++ b/redbot/cogs/mod/locales/it-IT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,607 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: it_IT\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." msgstr "" -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" msgstr "" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "" - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "" - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "" - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "" - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "" - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "" -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "" + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "" + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "" -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "" -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "" -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "" -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "" -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "" -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." +msgid "Moderation tools." msgstr "" -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "" -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "" -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1361 +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 #, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +msgid "Unban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" msgstr "" -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "Fatto." + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" -msgstr "" +msgstr "Ruoli" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "" -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "" -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "Sì" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "" + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "" + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/ja-JP.po b/redbot/cogs/mod/locales/ja-JP.po index ebb401499..d34d96482 100644 --- a/redbot/cogs/mod/locales/ja-JP.po +++ b/redbot/cogs/mod/locales/ja-JP.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,607 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: ja_JP\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." msgstr "" -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" msgstr "" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "" - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "" - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "" - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "" - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "" - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "" -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "" + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "" + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "" -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "" -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "" -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "" -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "" -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "" -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." +msgid "Moderation tools." msgstr "" -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "" -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "" -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1361 +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 #, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +msgid "Unban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" msgstr "" -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "" + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" -msgstr "" +msgstr "役職" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "" -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "" -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "イエス" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "" + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "" + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/ko-KR.po b/redbot/cogs/mod/locales/ko-KR.po index bb4ed11f5..0e1141979 100644 --- a/redbot/cogs/mod/locales/ko-KR.po +++ b/redbot/cogs/mod/locales/ko-KR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,609 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: ko_KR\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." msgstr "" -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" msgstr "" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "절제 커맨드를 사용하면 역할 계층 구조가 검사돼요." - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "절제 커맨드를 사용하면 역할 계층은 무시될 거예요." - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "" - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "스팸 언급 자동 밴 사용 안 함." - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "최대 3번 반복된 메세지가 삭제됐어요." - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "반복된 메세지는 무시됍니다." - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "커맨드 삭제 사용 안 함." - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "" - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "커맨드 메세지를 삭제하지 않을게요." - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "그렇게 하게 둘 수는 없어요. 역할 계층의 사용자보다 높지 않아요." - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "그렇게 하는 건 허용하지 않아요." - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "다 했어요. 앙 기분 좋아." - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "그렇게 하게 둘 수는 없어요. 자해는 나빠요. {}" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "그렇게 하게 둘 수는 없어요. 역할 계층의 사용자보다 높지 않아요." + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "올바르지 않은 요일이에요. 0에서 7사이여야 해요." -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "그렇게 하는 건 허용하지 않아요." + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "다 했어요. 앙 기분 좋아." + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "다 했어요. 마피아는 고개를 들어주세요." -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." -msgstr "해당 사용자는 이미 밴 처리되어 있어요." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." +msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" -msgstr "사용자를 찾을 수 없어요. 올바른 사용자 ID를 입력했나요?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" +msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "제게 행동할 수 있는 권한이 없어요." -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "" -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "왠지 모르겠어요." -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "밴 처리를 하는 동안 문제가 발생했어요." -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "다 했어요. 지금으로서는 충분히 혼란스러울 거예요." -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "제 역할이 그 사용자를 밴 할 만큼 충분하지 않습니다." -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "다 했어요. 충분히 혼란스러워요." -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "해당 ID를 가진 사용자를 찾을 수 없어요." -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "사용자들이 밴 처리되지 않은 것 같아요!" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "해당 사용자의 밴 처리를 해제하는 동안 문제가 발생했어요." -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." +msgid "Moderation tools." msgstr "" -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "사용자가 음성 채널에서 말하거나 듣는 것이 금지됐어요." - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "이제 사용자가 음성 채널에서 말하고 들을 수 있어요." - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "사용자가 이 채널에서 음소거 됐어요." - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "음소거 해제를 실패했어요. 이유 : {}" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "사용자가 이 채널에서 음소거를 해제했어요." - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "채널이 무시 목록에 추가됐어요." -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "채널이 이미 무시 목록에 포함되어 있어요." -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "" -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "" -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "채널이 무시 목록에서 제거됐어요." -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "해당 채널은 무시 목록에 없어요." -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" -msgstr "현재 무시 중 :\n" -"{}개의 채널\n" -"{} 길드" +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" +msgstr "" -#: redbot/cogs/mod/mod.py:1361 +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 #, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +msgid "Unban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" msgstr "" -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "이제 사용자가 음성 채널에서 말하고 들을 수 있어요." + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "사용자가 음성 채널에서 말하거나 듣는 것이 금지됐어요." + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "사용자가 이 채널에서 음소거 됐어요." + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "음소거 해제를 실패했어요. 이유 : {}" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "사용자가 이 채널에서 음소거를 해제했어요." + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "다 했어요." + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" -msgstr "" +msgstr "역할" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "" -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "**20개의 이름 초과** :" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "**20개의 닉네임을 초과** :" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "해당 사용자에게 기록된 이름이나 닉네임이 없어요." -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "그래요!" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "절제 커맨드를 사용하면 역할 계층 구조가 검사돼요." + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "절제 커맨드를 사용하면 역할 계층은 무시될 거예요." + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "스팸 언급 자동 밴 사용 안 함." + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "반복된 메세지는 무시됍니다." + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "커맨드 삭제 사용 안 함." + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "커맨드 메세지를 삭제하지 않을게요." + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/lol-US.po b/redbot/cogs/mod/locales/lol-US.po index 70faab2bc..844e6a716 100644 --- a/redbot/cogs/mod/locales/lol-US.po +++ b/redbot/cogs/mod/locales/lol-US.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: LOLCAT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,607 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: lol_US\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." msgstr "" -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" msgstr "" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "" - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "" - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "" - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "" - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "" - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "" -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "" + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "" + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "" -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "" -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "" -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "" -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "" -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "" -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." +msgid "Moderation tools." msgstr "" -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "" -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "" -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1361 +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 #, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +msgid "Unban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" msgstr "" -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "" + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" msgstr "" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "" -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "" -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "" + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "" + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/nl-NL.po b/redbot/cogs/mod/locales/nl-NL.po index 130b2a0e0..24bc3145b 100644 --- a/redbot/cogs/mod/locales/nl-NL.po +++ b/redbot/cogs/mod/locales/nl-NL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,607 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: nl_NL\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." -msgstr "Moderatietools." - -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." -msgstr "Beheer serverbeheerinstellingen." - -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "Herhalingen verwijderen: {yes_or_no}\n" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "Ja" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "Nee" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "Ban vermelding spam: {num_mentions}\n" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "{num} vermeldingen" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "Respecteert hiërarchie: {yes_or_no}\n" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "Vertraging wissen: {num_seconds}\n" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "{num} seconden" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "Geen" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "Opnieuw uitnodigen op unban: {yes_or_no}\n" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." msgstr "" -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" msgstr "" -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "" - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "" - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "" - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "" - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "" - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "" -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "" + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "" + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "" -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." -msgstr "Gebruiker is al verbannen." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." +msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" -msgstr "Gebruiker niet gevonden. Heb je de juiste gebruikers-ID opgegeven?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" +msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "Je hebt niet de permissie om dit uit te voeren." -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." -msgstr "Klaar is kees. De gebruiker kan niet deelnemen aan deze server." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." +msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "" -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "" -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "" -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "" -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." -msgstr "" +msgid "Moderation tools." +msgstr "Moderatietools." -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "" -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "" -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1361 +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 #, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +msgid "Unban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" msgstr "" -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "Klaar." + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" -msgstr "" +msgstr "Rollen" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "" -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "" -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." +msgstr "Beheer serverbeheerinstellingen." + +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" +msgstr "Nee" + +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "{num} vermeldingen" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "Ja" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "{num} seconden" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "Geen" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "" + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "" + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/no-NO.po b/redbot/cogs/mod/locales/no-NO.po index 94af62968..f6d92bd8f 100644 --- a/redbot/cogs/mod/locales/no-NO.po +++ b/redbot/cogs/mod/locales/no-NO.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Norwegian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,607 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: no_NO\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." msgstr "" -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" msgstr "" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "" - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "" - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "" - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "" - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "" - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "" -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "" + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "" + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "" -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "" -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "" -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "" -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "" -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "" -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." +msgid "Moderation tools." msgstr "" -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "" -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "" -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1361 +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 #, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +msgid "Unban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" msgstr "" -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "Ferdig." + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" -msgstr "" +msgstr "Roller" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "" -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "" -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "Ja" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "" + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "" + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/pl-PL.po b/redbot/cogs/mod/locales/pl-PL.po index 64d75da54..6dae8f728 100644 --- a/redbot/cogs/mod/locales/pl-PL.po +++ b/redbot/cogs/mod/locales/pl-PL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,607 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: pl_PL\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." msgstr "" -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" msgstr "" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "" - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "" - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "" - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "" - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "Nie usunę wiadomości komend." - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "" - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "" -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "Nie wolno mi tego zrobić." + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "" + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "" -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "Nie mam uprawnień aby to zrobić." -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "" -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "" -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "" -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "" -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." +msgid "Moderation tools." msgstr "" -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "" -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "" -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1361 +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 #, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +msgid "Unban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" msgstr "" -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "Wycisz użytkowników." + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "Gotowe." + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" -msgstr "" +msgstr "Role" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "" -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "" -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" +msgstr "Nie" + +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "Tak" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "Brak" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "" + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "Nie usunę wiadomości komend." + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/pt-BR.po b/redbot/cogs/mod/locales/pt-BR.po index 3ada5620d..3d74c8abf 100644 --- a/redbot/cogs/mod/locales/pt-BR.po +++ b/redbot/cogs/mod/locales/pt-BR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese, Brazilian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,607 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: pt_BR\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." msgstr "" -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" msgstr "" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "" - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "" - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "" - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "" - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "" - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "" -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "" + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "" + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "" -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "" -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "" -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "" -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "" -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "" -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." +msgid "Moderation tools." msgstr "" -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "" -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "" -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1361 +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 #, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +msgid "Unban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" msgstr "" -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "Concluído." + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" msgstr "" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "" -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "" -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "" + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "" + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/pt-PT.po b/redbot/cogs/mod/locales/pt-PT.po index 3403aad6f..133a818b4 100644 --- a/redbot/cogs/mod/locales/pt-PT.po +++ b/redbot/cogs/mod/locales/pt-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,607 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: pt_PT\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." msgstr "" -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" msgstr "" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "" - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "" - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "" - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "" - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "" - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "" -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "" + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "" + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "" -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "" -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "" -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "" -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "" -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "" -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." +msgid "Moderation tools." msgstr "" -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "" -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "" -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1361 +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 #, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +msgid "Unban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" msgstr "" -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "" + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" msgstr "" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "" -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "" -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "" + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "" + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/ro-RO.po b/redbot/cogs/mod/locales/ro-RO.po new file mode 100644 index 000000000..78ffc7dd5 --- /dev/null +++ b/redbot/cogs/mod/locales/ro-RO.po @@ -0,0 +1,647 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:09\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Romanian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /cogs/mod/locales/messages.pot\n" +"Language: ro_RO\n" + +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." +msgstr "" + +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" +msgstr "" + +#: redbot/cogs/mod/kickban.py:73 +msgid "I cannot let you do that. Self-harm is bad {}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 +msgid "Invalid days. Must be between 0 and 7." +msgstr "" + +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "" + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "" + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 +msgid "Done. It was about time." +msgstr "" + +#: redbot/cogs/mod/kickban.py:243 +#, docstring +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" +msgstr "" + +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." +msgstr "" + +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" +msgstr "" + +#: redbot/cogs/mod/kickban.py:277 +msgid "I lack the permissions to do this." +msgstr "" + +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." +msgstr "" + +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 +#, docstring +msgid "Temporarily ban a user from this server." +msgstr "" + +#: redbot/cogs/mod/kickban.py:383 +msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:396 +msgid "I can't do that for some reason." +msgstr "" + +#: redbot/cogs/mod/kickban.py:398 +msgid "Something went wrong while banning" +msgstr "" + +#: redbot/cogs/mod/kickban.py:413 +msgid "Done. Enough chaos for now" +msgstr "" + +#: redbot/cogs/mod/kickban.py:420 +#, docstring +msgid "Kick a user and delete 1 day's worth of their messages." +msgstr "" + +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:463 +msgid "My role is not high enough to softban that user." +msgstr "" + +#: redbot/cogs/mod/kickban.py:497 +msgid "Done. Enough chaos." +msgstr "" + +#: redbot/cogs/mod/kickban.py:505 +#, docstring +msgid "Kick a member from a voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 +msgid "Couldn't find a user with that ID!" +msgstr "" + +#: redbot/cogs/mod/kickban.py:571 +msgid "It seems that user isn't banned!" +msgstr "" + +#: redbot/cogs/mod/kickban.py:579 +msgid "Something went wrong while attempting to unban that user" +msgstr "" + +#: redbot/cogs/mod/kickban.py:596 +msgid "Unbanned that user from this server" +msgstr "" + +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:618 +msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" +msgstr "" + +#: redbot/cogs/mod/mod.py:44 +#, docstring +msgid "Moderation tools." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:54 +#, docstring +msgid "Add servers or channels to the ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:60 +#, docstring +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " +msgstr "" + +#: redbot/cogs/mod/movetocore.py:68 +msgid "Channel added to ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:70 +msgid "Channel already in ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:75 +#, docstring +msgid "Ignore commands in this server." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:79 +msgid "This server has been added to the ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:81 +msgid "This server is already being ignored." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:87 +#, docstring +msgid "Remove servers or channels from the ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:93 +#, docstring +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " +msgstr "" + +#: redbot/cogs/mod/movetocore.py:102 +msgid "Channel removed from ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:104 +msgid "That channel is not in the ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:109 +#, docstring +msgid "Remove this server from the ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:113 +msgid "This server has been removed from the ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:115 +msgid "This server is not in the ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" +msgstr "" + +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 +#, docstring +msgid "Unban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "" + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 +msgid "Chilling in {} status" +msgstr "" + +#: redbot/cogs/mod/names.py:119 +msgid "Playing {}" +msgstr "" + +#: redbot/cogs/mod/names.py:121 +msgid "Streaming [{}]({})" +msgstr "" + +#: redbot/cogs/mod/names.py:123 +msgid "Listening to {}" +msgstr "" + +#: redbot/cogs/mod/names.py:125 +msgid "Watching {}" +msgstr "" + +#: redbot/cogs/mod/names.py:133 +msgid "Joined Discord on" +msgstr "" + +#: redbot/cogs/mod/names.py:134 +msgid "Joined this server on" +msgstr "" + +#: redbot/cogs/mod/names.py:136 +msgid "Roles" +msgstr "" + +#: redbot/cogs/mod/names.py:140 +msgid "Previous Names" +msgstr "" + +#: redbot/cogs/mod/names.py:144 +msgid "Previous Nicknames" +msgstr "" + +#: redbot/cogs/mod/names.py:147 +msgid "Current voice channel" +msgstr "" + +#: redbot/cogs/mod/names.py:151 +msgid "Member #{} | User ID: {}" +msgstr "" + +#: redbot/cogs/mod/names.py:168 +#, docstring +msgid "Show previous names and nicknames of a user." +msgstr "" + +#: redbot/cogs/mod/names.py:172 +msgid "**Past 20 names**:" +msgstr "" + +#: redbot/cogs/mod/names.py:178 +msgid "**Past 20 nicknames**:" +msgstr "" + +#: redbot/cogs/mod/names.py:185 +msgid "That user doesn't have any recorded name or nickname change." +msgstr "" + +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." +msgstr "" + +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" +msgstr "" + +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" +msgstr "" + +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "" + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "" + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." +msgstr "" + diff --git a/redbot/cogs/mod/locales/ru-RU.po b/redbot/cogs/mod/locales/ru-RU.po index 765a3b094..47ca886b3 100644 --- a/redbot/cogs/mod/locales/ru-RU.po +++ b/redbot/cogs/mod/locales/ru-RU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 05:52\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,643 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: ru_RU\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." -msgstr "Инструменты модерации." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." +msgstr "{} не похож на действительный ID пользователя." -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." -msgstr "Управление настройками администрирования сервера." +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" +msgstr "Спам упоминаниями (Автобан)" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "Удалять повторы: {yes_or_no}\n" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "Да" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "Нет" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "Бан за спам умоминаниями: {num_mentions}\n" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "{num} упоминаний" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "Задержка удаления: {num_seconds}\n" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "{num} секунд" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "Нет" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "Восстановить или разбанить: {yes_or_no}\n" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "Переключить проверку иерархии ролей для модераторов и администраторов.\n\n" -" **ПРЕДУПРЕЖДЕНИЕ**: Отключение этого параметра\n" -" позволит модераторам выполнять действия над\n" -" пользователями над ними в иерархии ролей!\n\n" -" Включено по умолчанию.\n" -" " - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "Иерархия ролей будет учитываться при использовании команд модерации." - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "Иерархия ролей будет игнорироваться при использовании команд модерации." - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "Установите условия автобана для спама упоминаниями.\n\n" -" Пользователи будут забанены, если они отправят какое-либо\n" -" сообщение, которое содержит более чем `` упоминаний.\n\n" -" `` должно быть не менее 5. Установите 0, чтобы отключить.\n" -" " - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "Автобан за спам упоминаниями включен. Любой, кто упомянет {max_mentions} или более разных людей в одном сообщении, будет автоматически забанен." - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "Авто-блокировка для спама упоминаниями отключена." - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "Включить автоматическое удаление повторяющихся сообщений." - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "Одинаковые сообщения, которые повторяются 3 раза будут удалены." - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "Повторяющиеся сообщения не будут удаляться." - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "Установите задержку, пока бот не удалит командное сообщение.\n\n" -" Должно быть между -1 и 60.\n\n" -" Установите -1, чтобы отключить эту функцию.\n" -" " - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "Командные сообщения не будут удаляться." - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "Задержка удаления установлена на {num} секунд." - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "Бот удалит командные сообщения через {num} секунд. Установите это значение на -1, чтобы прекратить удаление сообщений" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "Я не буду удалять командные сообщения." - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "Переключите, будет ли отправлено приглашение пользователю, когда он будет разбанен.\n\n" -" Если true, бот попытается создать и отправить одноразовое приглашение\n" -" только что разбаненому пользователю.\n" -" " - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "Пользователи, разбаненые с помощью {command}, будут приглашены." - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "Пользователи, разбаненые с помощью {command}, не будут приглашены." - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "Выгнать пользователя.\n\n" -" Если причина указана, она будет отображаться в \n" -" журнале аудита.\n" -" " - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "Я не могу позволить тебе сделать это. Членовредительство - это плохо {emoji}" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "Я не могу позволить вам сделать это. Ваша роль ниже роли пользователя в иерархии." - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "Я не могу этого сделать из-за разногласий в иерархии" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "Я не могу это сделать." - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "Готово. Это было здорово." - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "Забанить пользователя на этом сервере.\n\n" -" Удаляет сообщения за `` дней.\n\n" -" Если `` не является числом, оно рассматривается\n" -" как первое слово причины. Минимум 0 дней, максимум 7.\n" -" По умолчанию 0.\n" -" " - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "Я не могу позволить вам сделать это. Вред самому себе - это плохо {}" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "Я не могу позволить вам сделать это. Ваша роль ниже роли пользователя в иерархии." + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "Я не могу этого сделать из-за разногласий в иерархии" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "Недопустимое значение дней. Должно быть между 0 и 7." -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "Я не могу это сделать." + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "Временный бан завершен" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "Я не могу позволить тебе сделать это. Членовредительство - это плохо {emoji}" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "Готово. Это было здорово." + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "Готово. Это было как раз вовремя." -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " -msgstr "Предварительно забанить пользователя на этом сервере.\n\n" -" Для запрета использования этой команды\n" -" необходимо указать ID пользователя.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" +msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." -msgstr "Пользователь уже заблокирован." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." +msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" -msgstr "Пользователь не найден. Вы точно указали верный ID пользователя?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" +msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "У меня недостаточно разрешений для этого действия." -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." -msgstr "Готово. Пользователь не сможет присоединиться к этому серверу." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." +msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "Временно забанить пользователя на этом сервере." -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "Вас временно заблокировали на сервере {server_name} до {date}. Вот приглашение для того момента, когда истекет срок действия вашего бана: {invite_link}" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "Я не могу сделать это по каким-то причинам." -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" -msgstr "Что-то пошло не так во время блокировки" +msgstr "Что-то пошло не так во время бана" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "Готово. Пока достаточно хаоса" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "Выгнать пользователя и удалить его сообщения за 1 день." -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" -msgstr "Вы были заблокированы для быстрого удаления ваших сообщений.\n" -"Не волнуйтесь, блокировка уже снята и вы можете войти на сервер снова: {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" +msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." -msgstr "Моя роль недостаточно высока, чтобы засофтбанить этого пользователя." +msgstr "Моя роль недостаточно высока, чтобы выдать мягкий бан этому пользователю." -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "Готово. Достаточно хаоса." -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." -msgstr "Разбанить пользователя на этом сервере.\n\n" -" Требуется указать ID целевого пользователя. Чтобы найти это, вы можете:\n" -" 1. Скопируйте его из журнала модерации (если он был создан), или\n" -" 2. включите режим разработчика, перейдите в раздел 'Баны' в настройках\n" -" этого сервера, щелкните правой кнопкой мыши на пользователе и\n" -" выберите 'Копировать ID'." +msgid "Kick a member from a voice channel." +msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "Не удалось найти пользователя с этим ID!" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" -msgstr "Кажется, этот пользователь не заблокирован!" +msgstr "Кажется, этот пользователь не забанен!" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" -msgstr "Что-то пошло не так при попытке разблокирования этого пользователя" +msgstr "Что-то пошло не так при попытке разбана этого пользователя" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" -msgstr "Разбанила этого пользователя с этого сервера" +msgstr "Разбанила этого пользователя на этом сервере" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" -msgstr "Вы были разблокированы на сервере {server}.\n" -"Вот приглашение на этот сервер: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" +msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" -msgstr "Мне не удалось отправить приглашение этому пользователю. Возможно, вы сможете отправить его мне?\n" -"Вот ссылка для приглашения: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" +msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" -msgstr "" +msgstr "Что-то пошло не так при попытке отправить приглашение пользователю. Вот ссылка, которую вы можете попробовать: {invite_link}" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "Этот пользователь не в голосовом канале." - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." -msgstr "" +msgid "Moderation tools." +msgstr "Инструменты модерации." -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "Этому пользователю уже отключены голос и звук по всему серверу!" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "Пользователю было запрещено разговаривать или прослушивать голосовые каналы" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "Этому пользователю не отключены голос и звук сервером!" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "Пользователю теперь разрешено разговаривать и прослушивать голосовые каналы" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "Этому пользователю был отключен голос в этом канале." - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "Пользователь был заглушен на этом сервере." - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "Заглушение не удалось. Причина: {}" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "Пользователь был заглушен в этом канале." - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "Пользователь был заглушен на этом сервере." - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." -msgstr "" +msgstr "Добавить серверы или каналы в список игнорируемых." -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "Канал добавлен в список игнорирования." -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "Канал уже добавлен в список игнорирования." -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." -msgstr "" +msgstr "Игнорировать команды на этом сервере." -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "Этот сервер был добавлен в список игнорирования." -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "Этот сервер уже находится в списке игнорирования." -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." -msgstr "" +msgstr "Удалить серверы или каналы из списка игнорируемых." -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "Канал удален из списка игнорирования." -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "Этот канал не был добавлен в список игнорирования." -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." -msgstr "" +msgstr "Удалить этот сервер из списка игнорируемых." -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "Этот сервер был удален из списка игнорирования." -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "Этого сервера нет в списке игнорирования." -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" -msgstr "Сейчас игнорируется:\n" -"{} каналов\n" -"{} серверов\n" - -#: redbot/cogs/mod/mod.py:1361 -#, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" -msgstr "" - -#: redbot/cogs/mod/mod.py:1400 -msgid "Chilling in {} status" -msgstr "" - -#: redbot/cogs/mod/mod.py:1404 -msgid "Playing {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1406 -msgid "Streaming [{}]({})" -msgstr "" - -#: redbot/cogs/mod/mod.py:1408 -msgid "Listening to {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1410 -msgid "Watching {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1418 -msgid "Joined Discord on" -msgstr "" - -#: redbot/cogs/mod/mod.py:1419 -msgid "Joined this server on" -msgstr "" - -#: redbot/cogs/mod/mod.py:1421 -msgid "Roles" -msgstr "" - -#: redbot/cogs/mod/mod.py:1425 -msgid "Previous Names" -msgstr "" - -#: redbot/cogs/mod/mod.py:1429 -msgid "Previous Nicknames" -msgstr "" - -#: redbot/cogs/mod/mod.py:1432 -msgid "Current voice channel" -msgstr "" - -#: redbot/cogs/mod/mod.py:1436 -msgid "Member #{} | User ID: {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1454 -#, docstring -msgid "Show previous names and nicknames of a user." -msgstr "" - -#: redbot/cogs/mod/mod.py:1458 -msgid "**Past 20 names**:" -msgstr "**Последние 20 имен пользователя**:" - -#: redbot/cogs/mod/mod.py:1464 -msgid "**Past 20 nicknames**:" -msgstr "**Последние 20 никнеймов**:" - -#: redbot/cogs/mod/mod.py:1471 -msgid "That user doesn't have any recorded name or nickname change." -msgstr "У этого пользователя нет записанного имени или никнейма." - -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" -msgstr "" - -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" -msgstr "" - -#: redbot/cogs/mod/mod.py:1752 +#: redbot/cogs/mod/mutes.py:14 msgid "That user can't send messages in this channel." -msgstr "" +msgstr "Этот пользователь не может отправлять сообщения в этом канале." -#: redbot/cogs/mod/mod.py:1753 +#: redbot/cogs/mod/mutes.py:15 msgid "That user isn't muted in this channel." -msgstr "" +msgstr "Этот пользователь не заглушен на этом канале." -#: redbot/cogs/mod/mod.py:1757 +#: redbot/cogs/mod/mutes.py:19 msgid "That user cannot be muted, as they have the Administrator permission." -msgstr "" +msgstr "Этот пользователь не может быть заглушен, так как он имеет права администратора." -#: redbot/cogs/mod/mod.py:1758 +#: redbot/cogs/mod/mutes.py:20 msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." msgstr "Не удалось замутить пользователя. Мне нужно разрешение на управление ролями, и пользователь, которого я отключаю, должен быть ниже меня в иерархии ролей." +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "Этот пользователь не в голосовом канале." + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "Мне требуется право(а) {perms} в канале пользователя чтобы сделать это." + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "Вы должны иметь право(а) {perms} в канале пользователя для выполнения этой команды." + +#: redbot/cogs/mod/mutes.py:80 +#, docstring +msgid "Unban a user from speaking and listening in the server's voice channels." +msgstr "Разрешает пользователю говорить и прослушивать голосовые каналы сервера." + +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" +msgstr "У этого пользователя не отключены голос и звук сервером!" + +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "Пользователю теперь разрешено разговаривать и прослушивать голосовые каналы" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "Запретить пользователю говорить и слушать в голосовых каналах сервера." + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "У этого пользователя уже отключены голос и звук на всем сервере!" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "Пользователю было запрещено разговаривать или прослушивать голосовые каналы" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "Заглушить пользователей." + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "Заглушить пользователя в текущем голосовом канале." + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "Заглушен {user} в канале {channel.name}" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "Заглушить пользователя в текущем текстовом канале." + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "Этому пользователю был отключен голос в этом канале." + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "Заглушить пользователя на сервере" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "Пользователь был заглушен на этом сервере." + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "Снять заглушение пользователей." + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "Снять заглушение пользователя в его текущем голосовом канале." + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "Снято заглушение пользователя {user} на канале {channel.name}" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "Заглушение не удалось. Причина: {}" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "Снять заглушение пользователя на этом канале." + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "Пользователь был заглушен в этом канале." + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "Снять заглушение пользователя на этом сервере." + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "У пользователя снято заглушение на этом сервере." + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "Никнеймы должны быть длиной от 2 до 32 символов." + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "У меня нет прав на переименование этого участника. Они могут быть выше или равны мне в иерархии роли." + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "У меня нет права переименовывать этого участника." + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "Этот никнейм недействителен." + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "Произошла неизвестная ошибка." + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "Готово." + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 +msgid "Chilling in {} status" +msgstr "Расслабляется в статусе {}" + +#: redbot/cogs/mod/names.py:119 +msgid "Playing {}" +msgstr "Играет в {}" + +#: redbot/cogs/mod/names.py:121 +msgid "Streaming [{}]({})" +msgstr "Стримит [{}]({})" + +#: redbot/cogs/mod/names.py:123 +msgid "Listening to {}" +msgstr "Слушает {}" + +#: redbot/cogs/mod/names.py:125 +msgid "Watching {}" +msgstr "Смотрит {}" + +#: redbot/cogs/mod/names.py:133 +msgid "Joined Discord on" +msgstr "Присоединился к Discord" + +#: redbot/cogs/mod/names.py:134 +msgid "Joined this server on" +msgstr "Присоединился к этому серверу" + +#: redbot/cogs/mod/names.py:136 +msgid "Roles" +msgstr "Роли" + +#: redbot/cogs/mod/names.py:140 +msgid "Previous Names" +msgstr "Предыдущие имена" + +#: redbot/cogs/mod/names.py:144 +msgid "Previous Nicknames" +msgstr "Предыдущие никнеймы" + +#: redbot/cogs/mod/names.py:147 +msgid "Current voice channel" +msgstr "Текущий голосовой канал" + +#: redbot/cogs/mod/names.py:151 +msgid "Member #{} | User ID: {}" +msgstr "Участник #{} | ID пользователя: {}" + +#: redbot/cogs/mod/names.py:168 +#, docstring +msgid "Show previous names and nicknames of a user." +msgstr "Показать предыдущие имена и никнеймы пользователя." + +#: redbot/cogs/mod/names.py:172 +msgid "**Past 20 names**:" +msgstr "**Последние 20 имен пользователя**:" + +#: redbot/cogs/mod/names.py:178 +msgid "**Past 20 nicknames**:" +msgstr "**Последние 20 никнеймов**:" + +#: redbot/cogs/mod/names.py:185 +msgid "That user doesn't have any recorded name or nickname change." +msgstr "У этого пользователя нет записанного имени или никнейма." + +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." +msgstr "Управление настройками администрирования сервера." + +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" +msgstr "" + +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" +msgstr "Нет" + +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "{num} упоминаний" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "Да" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "{num} секунд" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "Нет" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "Иерархия ролей будет учитываться при использовании команд модерации." + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "Иерархия ролей будет игнорироваться при использовании команд модерации." + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "Автобан за спам упоминаниями включен. Любой, кто упомянет {max_mentions} или более разных людей в одном сообщении, будет автоматически забанен." + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "Авто-блокировка для спама упоминаниями отключена." + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "Повторяющиеся сообщения будут игнорированы." + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "Удаление команд отключено." + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "Задержка удаления установлена на {num} секунд." + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "Бот удалит сообщения команд через {num} секунд. Установите это значение на -1, чтобы прекратить удаление сообщений" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "Я не буду удалять сообщения команд." + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "Пользователи, разбаненые с помощью {command}, будут приглашены." + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "Пользователи, разбаненые с помощью {command}, не будут приглашены." + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." +msgstr "" + diff --git a/redbot/cogs/mod/locales/sk-SK.po b/redbot/cogs/mod/locales/sk-SK.po index 8da8f87d6..056419d1c 100644 --- a/redbot/cogs/mod/locales/sk-SK.po +++ b/redbot/cogs/mod/locales/sk-SK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Slovak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,607 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: sk_SK\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." msgstr "" -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" msgstr "" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "" - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "" - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "" - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "" - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "" - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "" -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "" + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "" + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "" -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "" -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "" -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "" -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "" -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "" -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." +msgid "Moderation tools." msgstr "" -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "" -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "" -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1361 +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 #, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +msgid "Unban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" msgstr "" -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "" + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" -msgstr "" +msgstr "Role" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "" -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "" -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "Áno" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "" + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "" + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/sv-SE.po b/redbot/cogs/mod/locales/sv-SE.po index d0949603c..952729083 100644 --- a/redbot/cogs/mod/locales/sv-SE.po +++ b/redbot/cogs/mod/locales/sv-SE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,607 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: sv_SE\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." msgstr "" -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" msgstr "" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "" - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "" - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "" - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "" - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "" - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "" -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "" + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "" + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "" -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "" -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "" -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "" -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "" -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "" -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "Kan inte hitta någon användare med detta ID!" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "Det verkar som att användaren inte är bannlyst!" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "Något gick fel när du försökte ta bort bannlysningen för den användare" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." +msgid "Moderation tools." msgstr "" -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "" -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "" -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1361 +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 #, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +msgid "Unban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" msgstr "" -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "Klart." + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" -msgstr "" +msgstr "Roller" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "" -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "" -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "Ja" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "" + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "" + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/tr-TR.po b/redbot/cogs/mod/locales/tr-TR.po index 23dd32e79..20c65a644 100644 --- a/redbot/cogs/mod/locales/tr-TR.po +++ b/redbot/cogs/mod/locales/tr-TR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,607 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: tr_TR\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." -msgstr "Moderasyon Seçenekleri." - -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." msgstr "" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" msgstr "" -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "Hiyerarşi saygı duyar: {yes_or_no}\n" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "Gecikme silmek: {num_seconds}\n" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "{num} saniye" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "None" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "" - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "" - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "" - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "" - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "" - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "" -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "" + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "" + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "" -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "" -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "" -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "" -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "" -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "" -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." -msgstr "" +msgid "Moderation tools." +msgstr "Moderasyon Seçenekleri." -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "" -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "" -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1361 +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 #, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +msgid "Unban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" msgstr "" -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "Tamamdır." + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" -msgstr "" +msgstr "Roller" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "" -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "" -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "Evet" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "{num} saniye" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "None" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "" + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "" + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/zh-CN.po b/redbot/cogs/mod/locales/zh-CN.po index f42eb6773..fe6b8b97e 100644 --- a/redbot/cogs/mod/locales/zh-CN.po +++ b/redbot/cogs/mod/locales/zh-CN.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,607 +16,632 @@ msgstr "" "X-Crowdin-File: /cogs/mod/locales/messages.pot\n" "Language: zh_CN\n" -#: redbot/cogs/mod/mod.py:26 -#, docstring -msgid "Moderation tools." +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." msgstr "" -#: redbot/cogs/mod/mod.py:176 -#, docstring -msgid "Manage server administration settings." +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" msgstr "" -#: redbot/cogs/mod/mod.py:186 -msgid "Delete repeats: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:195 -#: redbot/cogs/mod/mod.py:203 -msgid "Yes" -msgstr "" - -#: redbot/cogs/mod/mod.py:187 redbot/cogs/mod/mod.py:192 -#: redbot/cogs/mod/mod.py:195 redbot/cogs/mod/mod.py:203 -msgid "No" -msgstr "" - -#: redbot/cogs/mod/mod.py:189 -msgid "Ban mention spam: {num_mentions}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:190 -msgid "{num} mentions" -msgstr "" - -#: redbot/cogs/mod/mod.py:194 -msgid "Respects hierarchy: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:197 -msgid "Delete delay: {num_seconds}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:198 -msgid "{num} seconds" -msgstr "" - -#: redbot/cogs/mod/mod.py:200 -msgid "None" -msgstr "" - -#: redbot/cogs/mod/mod.py:202 -msgid "Reinvite on unban: {yes_or_no}\n" -msgstr "" - -#: redbot/cogs/mod/mod.py:210 -#, docstring -msgid "Toggle role hierarchy check for mods and admins.\n\n" -" **WARNING**: Disabling this setting will allow mods to take\n" -" actions on users above them in the role hierarchy!\n\n" -" This is enabled by default.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:222 -msgid "Role hierarchy will be checked when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:227 -msgid "Role hierarchy will be ignored when moderation commands are issued." -msgstr "" - -#: redbot/cogs/mod/mod.py:233 -#, docstring -msgid "Set the autoban conditions for mention spam.\n\n" -" Users will be banned if they send any message which contains more than\n" -" `` mentions.\n\n" -" `` must be at least 5. Set to 0 to disable.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:246 -msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." -msgstr "" - -#: redbot/cogs/mod/mod.py:258 -msgid "Autoban for mention spam disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:263 -#, docstring -msgid "Enable auto-deletion of repeated messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:268 -msgid "Messages repeated up to 3 times will be deleted." -msgstr "" - -#: redbot/cogs/mod/mod.py:271 -msgid "Repeated messages will be ignored." -msgstr "" - -#: redbot/cogs/mod/mod.py:276 -#, docstring -msgid "Set the delay until the bot removes the command message.\n\n" -" Must be between -1 and 60.\n\n" -" Set to -1 to disable this feature.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:287 -msgid "Command deleting disabled." -msgstr "" - -#: redbot/cogs/mod/mod.py:289 -msgid "Delete delay set to {num} seconds." -msgstr "" - -#: redbot/cogs/mod/mod.py:294 -msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" -msgstr "" - -#: redbot/cogs/mod/mod.py:301 -msgid "I will not delete command messages." -msgstr "" - -#: redbot/cogs/mod/mod.py:306 -#, docstring -msgid "Toggle whether an invite will be sent to a user when unbanned.\n\n" -" If this is True, the bot will attempt to create and send a single-use invite\n" -" to the newly-unbanned user.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:316 -msgid "Users unbanned with {command} will be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:323 -msgid "Users unbanned with {command} will not be reinvited." -msgstr "" - -#: redbot/cogs/mod/mod.py:333 -#, docstring -msgid "Kick a user.\n\n" -" If a reason is specified, it will be the reason that shows up\n" -" in the audit log.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:343 redbot/cogs/mod/mod.py:601 -msgid "I cannot let you do that. Self-harm is bad {emoji}" -msgstr "" - -#: redbot/cogs/mod/mod.py:350 redbot/cogs/mod/mod.py:410 -#: redbot/cogs/mod/mod.py:608 redbot/cogs/mod/mod.py:1754 -msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:358 redbot/cogs/mod/mod.py:418 -msgid "I cannot do that due to discord hierarchy rules" -msgstr "" - -#: redbot/cogs/mod/mod.py:365 redbot/cogs/mod/mod.py:449 -msgid "I'm not allowed to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:369 -msgid "Done. That felt good." -msgstr "" - -#: redbot/cogs/mod/mod.py:393 -#, docstring -msgid "Ban a user from this server.\n\n" -" Deletes `` worth of messages.\n\n" -" If `` is not a number, it's treated as the first word of\n" -" the reason. Minimum 0 days, maximum 7. Defaults to 0.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:405 +#: redbot/cogs/mod/kickban.py:73 msgid "I cannot let you do that. Self-harm is bad {}" msgstr "" -#: redbot/cogs/mod/mod.py:436 +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 msgid "Invalid days. Must be between 0 and 7." msgstr "" -#: redbot/cogs/mod/mod.py:454 +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "" + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "" + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 msgid "Done. It was about time." msgstr "" -#: redbot/cogs/mod/mod.py:476 +#: redbot/cogs/mod/kickban.py:243 #, docstring -msgid "Pre-emptively ban a user from this server.\n\n" -" A user ID needs to be provided in order to ban\n" -" using this command.\n" -" " +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" msgstr "" -#: redbot/cogs/mod/mod.py:491 -msgid "User is already banned." +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." msgstr "" -#: redbot/cogs/mod/mod.py:508 -msgid "User not found. Have you provided the correct user ID?" +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" msgstr "" -#: redbot/cogs/mod/mod.py:511 +#: redbot/cogs/mod/kickban.py:277 msgid "I lack the permissions to do this." msgstr "" -#: redbot/cogs/mod/mod.py:513 -msgid "Done. The user will not be able to join this server." +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." msgstr "" -#: redbot/cogs/mod/mod.py:538 +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 #, docstring msgid "Temporarily ban a user from this server." msgstr "" -#: redbot/cogs/mod/mod.py:557 +#: redbot/cogs/mod/kickban.py:383 msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:570 +#: redbot/cogs/mod/kickban.py:396 msgid "I can't do that for some reason." msgstr "" -#: redbot/cogs/mod/mod.py:572 +#: redbot/cogs/mod/kickban.py:398 msgid "Something went wrong while banning" msgstr "" -#: redbot/cogs/mod/mod.py:574 +#: redbot/cogs/mod/kickban.py:413 msgid "Done. Enough chaos for now" msgstr "" -#: redbot/cogs/mod/mod.py:595 +#: redbot/cogs/mod/kickban.py:420 #, docstring msgid "Kick a user and delete 1 day's worth of their messages." msgstr "" -#: redbot/cogs/mod/mod.py:625 -msgid "You have been banned and then unbanned as a quick way to delete your messages.\n" -"You can now join the server again. {invite_link}" +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:638 +#: redbot/cogs/mod/kickban.py:463 msgid "My role is not high enough to softban that user." msgstr "" -#: redbot/cogs/mod/mod.py:654 +#: redbot/cogs/mod/kickban.py:497 msgid "Done. Enough chaos." msgstr "" -#: redbot/cogs/mod/mod.py:679 +#: redbot/cogs/mod/kickban.py:505 #, docstring -msgid "Unban a user from this server.\n\n" -" Requires specifying the target user's ID. To find this, you may either:\n" -" 1. Copy it from the mod log case (if one was created), or\n" -" 2. enable developer mode, go to Bans in this server's settings, right-\n" -" click the user and select 'Copy ID'." +msgid "Kick a member from a voice channel." msgstr "" -#: redbot/cogs/mod/mod.py:689 +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 msgid "Couldn't find a user with that ID!" msgstr "" -#: redbot/cogs/mod/mod.py:695 +#: redbot/cogs/mod/kickban.py:571 msgid "It seems that user isn't banned!" msgstr "" -#: redbot/cogs/mod/mod.py:703 +#: redbot/cogs/mod/kickban.py:579 msgid "Something went wrong while attempting to unban that user" msgstr "" -#: redbot/cogs/mod/mod.py:706 +#: redbot/cogs/mod/kickban.py:596 msgid "Unbanned that user from this server" msgstr "" -#: redbot/cogs/mod/mod.py:728 -msgid "You've been unbanned from {server}.\n" -"Here is an invite for that server: {invite_link}" +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:735 -msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\n" -"Here's the invite link: {invite_link}" +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:743 +#: redbot/cogs/mod/kickban.py:618 msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" msgstr "" -#: redbot/cogs/mod/mod.py:803 -msgid "That user is not in a voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:810 -msgid "I require the {perms} permission(s) in that user's channel to do that." -msgstr "" - -#: redbot/cogs/mod/mod.py:820 -msgid "You must have the {perms} permission(s) in that user's channel to use this command." -msgstr "" - -#: redbot/cogs/mod/mod.py:832 +#: redbot/cogs/mod/mod.py:44 #, docstring -msgid "Ban a user from speaking and listening in the server's voice channels." +msgid "Moderation tools." msgstr "" -#: redbot/cogs/mod/mod.py:853 -msgid "That user is already muted and deafened server-wide!" -msgstr "" - -#: redbot/cogs/mod/mod.py:855 -msgid "User has been banned from speaking or listening in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:875 -#, docstring -msgid "Unban a user from speaking and listening in the server's voice channels." -msgstr "" - -#: redbot/cogs/mod/mod.py:894 -msgid "That user isn't muted or deafened by the server!" -msgstr "" - -#: redbot/cogs/mod/mod.py:896 -msgid "User is now allowed to speak and listen in voice channels" -msgstr "" - -#: redbot/cogs/mod/mod.py:919 -#, docstring -msgid "Change a user's nickname.\n\n" -" Leaving the nickname empty will remove it.\n" -" " -msgstr "" - -#: redbot/cogs/mod/mod.py:928 -msgid "Nicknames must be between 2 and 32 characters long." -msgstr "" - -#: redbot/cogs/mod/mod.py:936 -msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." -msgstr "" - -#: redbot/cogs/mod/mod.py:946 -msgid "I do not have permission to rename that member." -msgstr "" - -#: redbot/cogs/mod/mod.py:949 -msgid "That nickname is invalid." -msgstr "" - -#: redbot/cogs/mod/mod.py:951 -msgid "An unexpected error has occured." -msgstr "" - -#: redbot/cogs/mod/mod.py:953 -msgid "Done." -msgstr "" - -#: redbot/cogs/mod/mod.py:959 -#, docstring -msgid "Mute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:965 -#, docstring -msgid "Mute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:983 -msgid "Muted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1009 -#, docstring -msgid "Mute a user in the current text channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1018 -msgid "User has been muted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1041 -#, docstring -msgid "Mutes user in the server" -msgstr "" - -#: redbot/cogs/mod/mod.py:1051 -msgid "User has been muted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1111 -#, docstring -msgid "Unmute users." -msgstr "" - -#: redbot/cogs/mod/mod.py:1119 -#, docstring -msgid "Unmute a user in their current voice channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1137 -msgid "Unmuted {user} in channel {channel.name}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1154 redbot/cogs/mod/mod.py:1188 -msgid "Unmute failed. Reason: {}" -msgstr "" - -#: redbot/cogs/mod/mod.py:1163 -#, docstring -msgid "Unmute a user in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1172 -msgid "User unmuted in this channel." -msgstr "" - -#: redbot/cogs/mod/mod.py:1197 -#, docstring -msgid "Unmute a user in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1207 -msgid "User has been unmuted in this server." -msgstr "" - -#: redbot/cogs/mod/mod.py:1262 +#: redbot/cogs/mod/movetocore.py:54 #, docstring msgid "Add servers or channels to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1268 +#: redbot/cogs/mod/movetocore.py:60 #, docstring -msgid "Ignore commands in the channel.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1276 +#: redbot/cogs/mod/movetocore.py:68 msgid "Channel added to ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1278 +#: redbot/cogs/mod/movetocore.py:70 msgid "Channel already in ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1283 +#: redbot/cogs/mod/movetocore.py:75 #, docstring msgid "Ignore commands in this server." msgstr "" -#: redbot/cogs/mod/mod.py:1287 +#: redbot/cogs/mod/movetocore.py:79 msgid "This server has been added to the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1289 +#: redbot/cogs/mod/movetocore.py:81 msgid "This server is already being ignored." msgstr "" -#: redbot/cogs/mod/mod.py:1295 +#: redbot/cogs/mod/movetocore.py:87 #, docstring msgid "Remove servers or channels from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1301 +#: redbot/cogs/mod/movetocore.py:93 #, docstring -msgid "Remove a channel from ignore the list.\n\n" -" Defaults to the current channel.\n" -" " +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " msgstr "" -#: redbot/cogs/mod/mod.py:1310 +#: redbot/cogs/mod/movetocore.py:102 msgid "Channel removed from ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1312 +#: redbot/cogs/mod/movetocore.py:104 msgid "That channel is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1317 +#: redbot/cogs/mod/movetocore.py:109 #, docstring msgid "Remove this server from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1321 +#: redbot/cogs/mod/movetocore.py:113 msgid "This server has been removed from the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1323 +#: redbot/cogs/mod/movetocore.py:115 msgid "This server is not in the ignore list." msgstr "" -#: redbot/cogs/mod/mod.py:1335 -msgid "Currently ignoring:\n" -"{} channels\n" -"{} guilds\n" +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1361 +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 #, docstring -msgid "Show information about a user.\n\n" -" This includes fields for status, discord join date, server\n" -" join date, voice state and previous names/nicknames.\n\n" -" If the user has no roles, previous names or previous nicknames,\n" -" these fields will be omitted.\n" -" " +msgid "Unban a user from speaking and listening in the server's voice channels." msgstr "" -#: redbot/cogs/mod/mod.py:1397 redbot/cogs/mod/mod.py:1398 -msgid "{}\n" -"({} days ago)" +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" msgstr "" -#: redbot/cogs/mod/mod.py:1400 +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "完成。" + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 msgid "Chilling in {} status" msgstr "" -#: redbot/cogs/mod/mod.py:1404 +#: redbot/cogs/mod/names.py:119 msgid "Playing {}" msgstr "" -#: redbot/cogs/mod/mod.py:1406 +#: redbot/cogs/mod/names.py:121 msgid "Streaming [{}]({})" msgstr "" -#: redbot/cogs/mod/mod.py:1408 +#: redbot/cogs/mod/names.py:123 msgid "Listening to {}" msgstr "" -#: redbot/cogs/mod/mod.py:1410 +#: redbot/cogs/mod/names.py:125 msgid "Watching {}" msgstr "" -#: redbot/cogs/mod/mod.py:1418 +#: redbot/cogs/mod/names.py:133 msgid "Joined Discord on" msgstr "" -#: redbot/cogs/mod/mod.py:1419 +#: redbot/cogs/mod/names.py:134 msgid "Joined this server on" msgstr "" -#: redbot/cogs/mod/mod.py:1421 +#: redbot/cogs/mod/names.py:136 msgid "Roles" -msgstr "" +msgstr "角色" -#: redbot/cogs/mod/mod.py:1425 +#: redbot/cogs/mod/names.py:140 msgid "Previous Names" msgstr "" -#: redbot/cogs/mod/mod.py:1429 +#: redbot/cogs/mod/names.py:144 msgid "Previous Nicknames" msgstr "" -#: redbot/cogs/mod/mod.py:1432 +#: redbot/cogs/mod/names.py:147 msgid "Current voice channel" msgstr "" -#: redbot/cogs/mod/mod.py:1436 +#: redbot/cogs/mod/names.py:151 msgid "Member #{} | User ID: {}" msgstr "" -#: redbot/cogs/mod/mod.py:1454 +#: redbot/cogs/mod/names.py:168 #, docstring msgid "Show previous names and nicknames of a user." msgstr "" -#: redbot/cogs/mod/mod.py:1458 +#: redbot/cogs/mod/names.py:172 msgid "**Past 20 names**:" msgstr "" -#: redbot/cogs/mod/mod.py:1464 +#: redbot/cogs/mod/names.py:178 msgid "**Past 20 nicknames**:" msgstr "" -#: redbot/cogs/mod/mod.py:1471 +#: redbot/cogs/mod/names.py:185 msgid "That user doesn't have any recorded name or nickname change." msgstr "" -#: redbot/cogs/mod/mod.py:1497 -msgid "Tempban finished" +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." msgstr "" -#: redbot/cogs/mod/mod.py:1532 redbot/cogs/mod/mod.py:1546 -msgid "Mention spam (Autoban)" +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1752 -msgid "That user can't send messages in this channel." +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" msgstr "" -#: redbot/cogs/mod/mod.py:1753 -msgid "That user isn't muted in this channel." +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" msgstr "" -#: redbot/cogs/mod/mod.py:1757 -msgid "That user cannot be muted, as they have the Administrator permission." +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" msgstr "" -#: redbot/cogs/mod/mod.py:1758 -msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "是" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "" + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "" + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." msgstr "" diff --git a/redbot/cogs/mod/locales/zh-TW.po b/redbot/cogs/mod/locales/zh-TW.po new file mode 100644 index 000000000..66b2032b4 --- /dev/null +++ b/redbot/cogs/mod/locales/zh-TW.po @@ -0,0 +1,647 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Chinese Traditional\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /cogs/mod/locales/messages.pot\n" +"Language: zh_TW\n" + +#: redbot/cogs/mod/converters.py:16 +msgid "{} doesn't look like a valid user ID." +msgstr "" + +#: redbot/cogs/mod/events.py:53 redbot/cogs/mod/events.py:67 +msgid "Mention spam (Autoban)" +msgstr "" + +#: redbot/cogs/mod/kickban.py:73 +msgid "I cannot let you do that. Self-harm is bad {}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:75 redbot/cogs/mod/kickban.py:170 +#: redbot/cogs/mod/kickban.py:433 redbot/cogs/mod/kickban.py:514 +#: redbot/cogs/mod/mutes.py:16 +msgid "I cannot let you do that. You are not higher than the user in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/kickban.py:81 redbot/cogs/mod/kickban.py:178 +msgid "I cannot do that due to discord hierarchy rules" +msgstr "" + +#: redbot/cogs/mod/kickban.py:83 redbot/cogs/mod/kickban.py:273 +msgid "Invalid days. Must be between 0 and 7." +msgstr "" + +#: redbot/cogs/mod/kickban.py:98 redbot/cogs/mod/kickban.py:185 +msgid "I'm not allowed to do that." +msgstr "" + +#: redbot/cogs/mod/kickban.py:117 +msgid "The user was banned but an error occurred when trying to create the modlog entry: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:139 +msgid "Tempban finished" +msgstr "" + +#: redbot/cogs/mod/kickban.py:153 +#, docstring +msgid "Kick a user.\\n\\n If a reason is specified, it will be the reason that shows up\\n in the audit log.\\n " +msgstr "" + +#: redbot/cogs/mod/kickban.py:163 redbot/cogs/mod/kickban.py:426 +msgid "I cannot let you do that. Self-harm is bad {emoji}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:203 +msgid "Done. That felt good." +msgstr "" + +#: redbot/cogs/mod/kickban.py:217 +#, docstring +msgid "Ban a user from this server and optionally delete days of messages.\\n\\n If days is not a number, it's treated as the first word of the reason.\\n Minimum 0 days, maximum 7. Defaults to 0." +msgstr "" + +#: redbot/cogs/mod/kickban.py:227 +msgid "Done. It was about time." +msgstr "" + +#: redbot/cogs/mod/kickban.py:243 +#, docstring +msgid "Preemptively bans user(s) from the server\\n\\n User IDs need to be provided in order to ban\\n using this command" +msgstr "" + +#: redbot/cogs/mod/kickban.py:252 +msgid "Banned {num} users from the server." +msgstr "" + +#: redbot/cogs/mod/kickban.py:254 +msgid "\\nErrors:\\n" +msgstr "" + +#: redbot/cogs/mod/kickban.py:277 +msgid "I lack the permissions to do this." +msgstr "" + +#: redbot/cogs/mod/kickban.py:283 +msgid "User {user_id} is already banned." +msgstr "" + +#: redbot/cogs/mod/kickban.py:304 redbot/cogs/mod/kickban.py:308 +msgid "Failed to ban user {user_id}: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:328 +msgid "User {user_id} does not exist." +msgstr "" + +#: redbot/cogs/mod/kickban.py:332 +msgid "Could not ban {user_id}: missing permissions." +msgstr "" + +#: redbot/cogs/mod/kickban.py:354 +msgid "Failed to create modlog case: {reason}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:364 +#, docstring +msgid "Temporarily ban a user from this server." +msgstr "" + +#: redbot/cogs/mod/kickban.py:383 +msgid "You have been temporarily banned from {server_name} until {date}. Here is an invite for when your ban expires: {invite_link}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:396 +msgid "I can't do that for some reason." +msgstr "" + +#: redbot/cogs/mod/kickban.py:398 +msgid "Something went wrong while banning" +msgstr "" + +#: redbot/cogs/mod/kickban.py:413 +msgid "Done. Enough chaos for now" +msgstr "" + +#: redbot/cogs/mod/kickban.py:420 +#, docstring +msgid "Kick a user and delete 1 day's worth of their messages." +msgstr "" + +#: redbot/cogs/mod/kickban.py:450 +msgid "You have been banned and then unbanned as a quick way to delete your messages.\\nYou can now join the server again. {invite_link}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:463 +msgid "My role is not high enough to softban that user." +msgstr "" + +#: redbot/cogs/mod/kickban.py:497 +msgid "Done. Enough chaos." +msgstr "" + +#: redbot/cogs/mod/kickban.py:505 +#, docstring +msgid "Kick a member from a voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:528 +msgid "I am unable to kick this member from the voice channel." +msgstr "" + +#: redbot/cogs/mod/kickban.py:531 +msgid "Something went wrong while attempting to kick that member" +msgstr "" + +#: redbot/cogs/mod/kickban.py:554 +#, docstring +msgid "Unban a user from this server.\\n\\n Requires specifying the target user's ID. To find this, you may either:\\n 1. Copy it from the mod log case (if one was created), or\\n 2. enable developer mode, go to Bans in this server's settings, right-\\n click the user and select 'Copy ID'." +msgstr "" + +#: redbot/cogs/mod/kickban.py:565 +msgid "Couldn't find a user with that ID!" +msgstr "" + +#: redbot/cogs/mod/kickban.py:571 +msgid "It seems that user isn't banned!" +msgstr "" + +#: redbot/cogs/mod/kickban.py:579 +msgid "Something went wrong while attempting to unban that user" +msgstr "" + +#: redbot/cogs/mod/kickban.py:596 +msgid "Unbanned that user from this server" +msgstr "" + +#: redbot/cogs/mod/kickban.py:603 +msgid "You've been unbanned from {server}.\\nHere is an invite for that server: {invite_link}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:610 +msgid "I failed to send an invite to that user. Perhaps you may be able to send it for me?\\nHere's the invite link: {invite_link}" +msgstr "" + +#: redbot/cogs/mod/kickban.py:618 +msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {invite_link}" +msgstr "" + +#: redbot/cogs/mod/mod.py:44 +#, docstring +msgid "Moderation tools." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:54 +#, docstring +msgid "Add servers or channels to the ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:60 +#, docstring +msgid "Ignore commands in the channel.\\n\\n Defaults to the current channel.\\n " +msgstr "" + +#: redbot/cogs/mod/movetocore.py:68 +msgid "Channel added to ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:70 +msgid "Channel already in ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:75 +#, docstring +msgid "Ignore commands in this server." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:79 +msgid "This server has been added to the ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:81 +msgid "This server is already being ignored." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:87 +#, docstring +msgid "Remove servers or channels from the ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:93 +#, docstring +msgid "Remove a channel from ignore the list.\\n\\n Defaults to the current channel.\\n " +msgstr "" + +#: redbot/cogs/mod/movetocore.py:102 +msgid "Channel removed from ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:104 +msgid "That channel is not in the ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:109 +#, docstring +msgid "Remove this server from the ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:113 +msgid "This server has been removed from the ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:115 +msgid "This server is not in the ignore list." +msgstr "" + +#: redbot/cogs/mod/movetocore.py:127 +msgid "Currently ignoring:\\n{} channels\\n{} guilds\\n" +msgstr "" + +#: redbot/cogs/mod/mutes.py:14 +msgid "That user can't send messages in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:15 +msgid "That user isn't muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:19 +msgid "That user cannot be muted, as they have the Administrator permission." +msgstr "" + +#: redbot/cogs/mod/mutes.py:20 +msgid "Failed to mute user. I need the manage roles permission and the user I'm muting must be lower than myself in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/mutes.py:51 +msgid "That user is not in a voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:58 +msgid "I require the {perms} permission(s) in that user's channel to do that." +msgstr "" + +#: redbot/cogs/mod/mutes.py:68 +msgid "You must have the {perms} permission(s) in that user's channel to use this command." +msgstr "" + +#: redbot/cogs/mod/mutes.py:80 +#, docstring +msgid "Unban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:99 +msgid "That user isn't muted or deafened by the server!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:118 +msgid "User is now allowed to speak and listen in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:124 +#, docstring +msgid "Ban a user from speaking and listening in the server's voice channels." +msgstr "" + +#: redbot/cogs/mod/mutes.py:145 +msgid "That user is already muted and deafened server-wide!" +msgstr "" + +#: redbot/cogs/mod/mutes.py:162 +msgid "User has been banned from speaking or listening in voice channels" +msgstr "" + +#: redbot/cogs/mod/mutes.py:168 +#, docstring +msgid "Mute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:174 +#, docstring +msgid "Mute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:206 +msgid "Muted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:218 +#, docstring +msgid "Mute a user in the current text channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:241 +msgid "User has been muted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:250 +#, docstring +msgid "Mutes user in the server" +msgstr "" + +#: redbot/cogs/mod/mutes.py:274 +msgid "User has been muted in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:281 +#, docstring +msgid "Unmute users." +msgstr "" + +#: redbot/cogs/mod/mutes.py:289 +#, docstring +msgid "Unmute a user in their current voice channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:321 +msgid "Unmuted {user} in channel {channel.name}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:324 redbot/cogs/mod/mutes.py:358 +msgid "Unmute failed. Reason: {}" +msgstr "" + +#: redbot/cogs/mod/mutes.py:333 +#, docstring +msgid "Unmute a user in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:356 +msgid "User unmuted in this channel." +msgstr "" + +#: redbot/cogs/mod/mutes.py:367 +#, docstring +msgid "Unmute a user in this server." +msgstr "" + +#: redbot/cogs/mod/mutes.py:390 +msgid "User has been unmuted in this server." +msgstr "" + +#: redbot/cogs/mod/names.py:36 +#, docstring +msgid "Change a user's nickname.\\n\\n Leaving the nickname empty will remove it.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:45 +msgid "Nicknames must be between 2 and 32 characters long." +msgstr "" + +#: redbot/cogs/mod/names.py:53 +msgid "I do not have permission to rename that member. They may be higher than or equal to me in the role hierarchy." +msgstr "" + +#: redbot/cogs/mod/names.py:63 +msgid "I do not have permission to rename that member." +msgstr "" + +#: redbot/cogs/mod/names.py:66 +msgid "That nickname is invalid." +msgstr "" + +#: redbot/cogs/mod/names.py:68 +msgid "An unexpected error has occured." +msgstr "" + +#: redbot/cogs/mod/names.py:70 +msgid "Done." +msgstr "" + +#: redbot/cogs/mod/names.py:76 +#, docstring +msgid "Show information about a user.\\n\\n This includes fields for status, discord join date, server\\n join date, voice state and previous names/nicknames.\\n\\n If the user has no roles, previous names or previous nicknames,\\n these fields will be omitted.\\n " +msgstr "" + +#: redbot/cogs/mod/names.py:104 +msgid "Unknown" +msgstr "" + +#: redbot/cogs/mod/names.py:112 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:113 +msgid "{}\\n({} days ago)" +msgstr "" + +#: redbot/cogs/mod/names.py:115 +msgid "Chilling in {} status" +msgstr "" + +#: redbot/cogs/mod/names.py:119 +msgid "Playing {}" +msgstr "" + +#: redbot/cogs/mod/names.py:121 +msgid "Streaming [{}]({})" +msgstr "" + +#: redbot/cogs/mod/names.py:123 +msgid "Listening to {}" +msgstr "" + +#: redbot/cogs/mod/names.py:125 +msgid "Watching {}" +msgstr "" + +#: redbot/cogs/mod/names.py:133 +msgid "Joined Discord on" +msgstr "" + +#: redbot/cogs/mod/names.py:134 +msgid "Joined this server on" +msgstr "" + +#: redbot/cogs/mod/names.py:136 +msgid "Roles" +msgstr "身分組" + +#: redbot/cogs/mod/names.py:140 +msgid "Previous Names" +msgstr "" + +#: redbot/cogs/mod/names.py:144 +msgid "Previous Nicknames" +msgstr "" + +#: redbot/cogs/mod/names.py:147 +msgid "Current voice channel" +msgstr "" + +#: redbot/cogs/mod/names.py:151 +msgid "Member #{} | User ID: {}" +msgstr "" + +#: redbot/cogs/mod/names.py:168 +#, docstring +msgid "Show previous names and nicknames of a user." +msgstr "" + +#: redbot/cogs/mod/names.py:172 +msgid "**Past 20 names**:" +msgstr "" + +#: redbot/cogs/mod/names.py:178 +msgid "**Past 20 nicknames**:" +msgstr "" + +#: redbot/cogs/mod/names.py:185 +msgid "That user doesn't have any recorded name or nickname change." +msgstr "" + +#: redbot/cogs/mod/settings.py:20 +#, docstring +msgid "Manage server administration settings." +msgstr "" + +#: redbot/cogs/mod/settings.py:30 +msgid "Delete repeats: {num_repeats}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:31 +msgid "after {num} repeats" +msgstr "" + +#: redbot/cogs/mod/settings.py:33 redbot/cogs/mod/settings.py:38 +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "No" +msgstr "" + +#: redbot/cogs/mod/settings.py:35 +msgid "Ban mention spam: {num_mentions}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:36 +msgid "{num} mentions" +msgstr "" + +#: redbot/cogs/mod/settings.py:40 +msgid "Respects hierarchy: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:41 redbot/cogs/mod/settings.py:49 +msgid "Yes" +msgstr "是" + +#: redbot/cogs/mod/settings.py:43 +msgid "Delete delay: {num_seconds}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:44 +msgid "{num} seconds" +msgstr "" + +#: redbot/cogs/mod/settings.py:46 +msgid "None" +msgstr "" + +#: redbot/cogs/mod/settings.py:48 +msgid "Reinvite on unban: {yes_or_no}\\n" +msgstr "" + +#: redbot/cogs/mod/settings.py:56 +#, docstring +msgid "Toggle role hierarchy check for mods and admins.\\n\\n **WARNING**: Disabling this setting will allow mods to take\\n actions on users above them in the role hierarchy!\\n\\n This is enabled by default.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:68 +msgid "Role hierarchy will be checked when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:73 +msgid "Role hierarchy will be ignored when moderation commands are issued." +msgstr "" + +#: redbot/cogs/mod/settings.py:79 +#, docstring +msgid "Set the autoban conditions for mention spam.\\n\\n Users will be banned if they send any message which contains more than\\n `` mentions.\\n\\n `` must be at least 5. Set to 0 to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:92 +msgid "Autoban for mention spam enabled. Anyone mentioning {max_mentions} or more different people in a single message will be autobanned." +msgstr "" + +#: redbot/cogs/mod/settings.py:104 +msgid "Autoban for mention spam disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:109 +#, docstring +msgid "Enable auto-deletion of repeated messages.\\n\\n Must be between 2 and 20.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:120 redbot/cogs/mod/settings.py:146 +msgid "Repeated messages will be ignored." +msgstr "" + +#: redbot/cogs/mod/settings.py:126 +msgid "Messages repeated up to {num} times will be deleted." +msgstr "" + +#: redbot/cogs/mod/settings.py:130 +msgid "Number of repeats must be between 2 and 20 or equal to -1 if you want to disable this feature!" +msgstr "" + +#: redbot/cogs/mod/settings.py:139 +msgid "Bot will delete repeated messages after {num} repeats. Set this value to -1 to ignore repeated messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:151 +#, docstring +msgid "Set the delay until the bot removes the command message.\\n\\n Must be between -1 and 60.\\n\\n Set to -1 to disable this feature.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:162 +msgid "Command deleting disabled." +msgstr "" + +#: redbot/cogs/mod/settings.py:164 +msgid "Delete delay set to {num} seconds." +msgstr "" + +#: redbot/cogs/mod/settings.py:169 +msgid "Bot will delete command messages after {num} seconds. Set this value to -1 to stop deleting messages" +msgstr "" + +#: redbot/cogs/mod/settings.py:176 +msgid "I will not delete command messages." +msgstr "" + +#: redbot/cogs/mod/settings.py:181 +#, docstring +msgid "Toggle whether an invite will be sent to a user when unbanned.\\n\\n If this is True, the bot will attempt to create and send a single-use invite\\n to the newly-unbanned user.\\n " +msgstr "" + +#: redbot/cogs/mod/settings.py:191 +msgid "Users unbanned with {command} will be reinvited." +msgstr "" + +#: redbot/cogs/mod/settings.py:198 +msgid "Users unbanned with {command} will not be reinvited." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:27 +#, docstring +msgid "Changes channel's slowmode setting.\\n\\n Interval can be anything from 0 seconds to 6 hours.\\n Use without parameters to disable.\\n " +msgstr "" + +#: redbot/cogs/mod/slowmode.py:36 +msgid "Slowmode interval is now {interval}." +msgstr "" + +#: redbot/cogs/mod/slowmode.py:41 +msgid "Slowmode has been disabled." +msgstr "" + diff --git a/redbot/cogs/modlog/locales/ar-SA.po b/redbot/cogs/modlog/locales/ar-SA.po index 63863e2f9..9dae66bbc 100644 --- a/redbot/cogs/modlog/locales/ar-SA.po +++ b/redbot/cogs/modlog/locales/ar-SA.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: ar_SA\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." msgstr "" -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." msgstr "" -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" msgstr "" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" msgstr "" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "" -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" msgstr "" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." msgstr "" -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." msgstr "" -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "" -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." msgstr "" -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "" diff --git a/redbot/cogs/modlog/locales/bg-BG.po b/redbot/cogs/modlog/locales/bg-BG.po index 38353e3ff..897741d9a 100644 --- a/redbot/cogs/modlog/locales/bg-BG.po +++ b/redbot/cogs/modlog/locales/bg-BG.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Bulgarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: bg_BG\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." msgstr "" -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." msgstr "" -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" msgstr "" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" msgstr "" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "" -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" msgstr "" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." msgstr "" -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." msgstr "" -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "" -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." msgstr "" -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "" diff --git a/redbot/cogs/modlog/locales/cs-CZ.po b/redbot/cogs/modlog/locales/cs-CZ.po new file mode 100644 index 000000000..26789a6f3 --- /dev/null +++ b/redbot/cogs/modlog/locales/cs-CZ.po @@ -0,0 +1,122 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: cs\n" +"X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" +"Language: cs_CZ\n" + +#: redbot/cogs/modlog/modlog.py:17 +#, docstring +msgid "Manage log channels for moderation actions." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:26 +#, docstring +msgid "Manage modlog settings." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:32 +#, docstring +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:41 +msgid "Mod events will be sent to {channel}" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:45 +msgid "I do not have permissions to send messages in {channel}!" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:56 +msgid "Mod log deactivated." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:61 +#, docstring +msgid "Enable or disable case creation for a mod action." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:77 +msgid "That action is not registered" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:82 +msgid "Case creation for {action_name} actions is now {enabled}." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:90 +#, docstring +msgid "Reset all modlog cases in this server." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:93 +msgid "Cases have been reset." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:98 +#, docstring +msgid "Show the specified case." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:102 +msgid "That case does not exist for that server" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:113 +#, docstring +msgid "Display cases for the specified member." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 +msgid "That case does not exist!" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:183 +msgid "You are not authorized to modify that case!" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:190 +msgid "Reason has been updated." +msgstr "" + diff --git a/redbot/cogs/modlog/locales/da-DK.po b/redbot/cogs/modlog/locales/da-DK.po index d95688d5a..20b496d1f 100644 --- a/redbot/cogs/modlog/locales/da-DK.po +++ b/redbot/cogs/modlog/locales/da-DK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: da_DK\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." msgstr "" -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." msgstr "" -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" msgstr "" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" msgstr "" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "" -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" msgstr "" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." msgstr "" -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." msgstr "" -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "" -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." msgstr "" -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "" diff --git a/redbot/cogs/modlog/locales/de-DE.po b/redbot/cogs/modlog/locales/de-DE.po index 2cd40b151..633f63289 100644 --- a/redbot/cogs/modlog/locales/de-DE.po +++ b/redbot/cogs/modlog/locales/de-DE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: de_DE\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." -msgstr "" +msgstr "Verwalte Protokollkanäle für Moderationsaktionen." -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." -msgstr "" +msgstr "Verwalte modlog Einstellungen." -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" -msgstr "" +msgstr "Mod Ereignisse werden gesendet an {channel}" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" -msgstr "" +msgstr "Ich habe nicht die Berechtigungen um Nachrichten in {channel} zu senden!" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "Mod log deaktiviert." -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." +msgstr "Aktiviere oder deaktiviere Fallerstellung für eine Mod Aktion." + +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" +msgstr "aktiviert" + +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "deaktiviert" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" -msgstr "" - -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "Diese Aktion ist nicht registriert" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." -msgstr "" +msgstr "Fallerstellung für {action_name} ist jetzt {enabled}." -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." -msgstr "" +msgstr "Setze alle modlog Fälle auf diesem Server zurück." -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "Fälle wurden zurückgesetzt." -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." -msgstr "" +msgstr "Zeige die angegebenen Fälle." -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "Dieser Fall existiert nicht für diesen Server" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "Dieser Fall existiert nicht!" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "Du bist nicht berechtigt diesen Fall zu ändern!" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "Der Grund wurde aktualisiert." diff --git a/redbot/cogs/modlog/locales/el-GR.po b/redbot/cogs/modlog/locales/el-GR.po index 7cf9d4511..ecda27afd 100644 --- a/redbot/cogs/modlog/locales/el-GR.po +++ b/redbot/cogs/modlog/locales/el-GR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: el_GR\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." msgstr "" -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." msgstr "" -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" msgstr "" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" msgstr "" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "" -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" msgstr "" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." msgstr "" -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." msgstr "" -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "" -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." msgstr "" -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "" diff --git a/redbot/cogs/modlog/locales/en-PT.po b/redbot/cogs/modlog/locales/en-PT.po index 0ae57533b..dedac86d5 100644 --- a/redbot/cogs/modlog/locales/en-PT.po +++ b/redbot/cogs/modlog/locales/en-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Pirate English\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: en_PT\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." msgstr "" -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." msgstr "" -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" msgstr "" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" msgstr "" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "" -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" msgstr "" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." msgstr "" -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." msgstr "" -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "" -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." msgstr "" -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "" diff --git a/redbot/cogs/modlog/locales/es-ES.po b/redbot/cogs/modlog/locales/es-ES.po index 4b9f7efcd..5703b6fe9 100644 --- a/redbot/cogs/modlog/locales/es-ES.po +++ b/redbot/cogs/modlog/locales/es-ES.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: es_ES\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." msgstr "" -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." msgstr "" -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" msgstr "" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" msgstr "" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "Mod log desactivado." -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" msgstr "" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "Esta acción no esta registrada" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." msgstr "" -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." msgstr "" -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "Casos han sido reseteados." -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." msgstr "" -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "Ese caso no existe para ese servidor" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "Ese caso no existe!" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "No estas autorizado para modificar ese caso!" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "Razones han sido actualizadas." diff --git a/redbot/cogs/modlog/locales/fi-FI.po b/redbot/cogs/modlog/locales/fi-FI.po index ae32d181e..a9a417b75 100644 --- a/redbot/cogs/modlog/locales/fi-FI.po +++ b/redbot/cogs/modlog/locales/fi-FI.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: fi_FI\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." msgstr "" -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." msgstr "" -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" msgstr "" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" msgstr "" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "" -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" msgstr "" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." msgstr "" -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." msgstr "" -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "" -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." msgstr "" -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "" diff --git a/redbot/cogs/modlog/locales/fr-FR.po b/redbot/cogs/modlog/locales/fr-FR.po index 7dde675e8..d1f586586 100644 --- a/redbot/cogs/modlog/locales/fr-FR.po +++ b/redbot/cogs/modlog/locales/fr-FR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:11\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: fr_FR\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." -msgstr "" +msgstr "Gérer les salons de log pour les actions de modération." -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." -msgstr "" +msgstr "Gérer les paramètres du modlog." -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " -msgstr "" +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " +msgstr "Définir un salon comme modlog.\\n\\n Omettre `` pour désactiver le modlog.\\n " -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" -msgstr "" +msgstr "Les événements de modération seront envoyés à {channel}" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" -msgstr "" +msgstr "Je n'ai pas les permissions d'envoyer des messages dans {channel} !" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." -msgstr "Mod journal désactivé." +msgstr "Mod log désactivé." -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." -msgstr "" +msgstr "Activer ou désactiver la création d'argument pour une action de modération." -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" -msgstr "" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" +msgstr "activé" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "désactivé" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" +msgstr "Paramètres actuels :\\n" + +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "Cette action n’est pas enregistrée" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." -msgstr "" +msgstr "La création d’arguments pour les actions {action_name} est maintenant {enabled}." -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." -msgstr "" +msgstr "Réinitialiser tous les arguments de modlog dans ce serveur." -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "Les arguments ont été réinitialisés." -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." -msgstr "" +msgstr "Afficher l'argument spécifié." -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "Cet argument n'existe pas pour ce serveur" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " -msgstr "" +msgid "Display cases for the specified member." +msgstr "Afficher les cas pour le membre spécifié." -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "Cet utilisateur n'existe pas." + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "Quelque chose s'est mal passé lors de la récupération de cet utilisateur par ID." + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "Cet utilisateur n'a aucun cas." + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "Spécifiez une raison pour un argument de modlog.\\n\\n Veuillez noter que vous ne pouvez modifier que les arguments où vous êtes\\n le propriétaire sauf si vous êtes un modérateur, administrateur ou propriétaire du serveur.\\n\\n Si aucun numéro d'argument n'est spécifié, le dernier argument sera utilisé.\\n " + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" -msgstr "Cet argument n'existe pas!" +msgstr "Cet argument n'existe pas !" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "Vous n’êtes pas autorisé à modifier cette argument !" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "La raison a été mis à jour." diff --git a/redbot/cogs/modlog/locales/hu-HU.po b/redbot/cogs/modlog/locales/hu-HU.po index 266dba33e..6a47ad3ae 100644 --- a/redbot/cogs/modlog/locales/hu-HU.po +++ b/redbot/cogs/modlog/locales/hu-HU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: hu_HU\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." msgstr "" -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." msgstr "" -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" msgstr "" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" msgstr "" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "" -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" +msgstr "engedélyezve" + +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "nincs engedélyezve" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" msgstr "" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." msgstr "" -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." msgstr "" -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "" -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." msgstr "" -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "" diff --git a/redbot/cogs/modlog/locales/id-ID.po b/redbot/cogs/modlog/locales/id-ID.po index 8cff8238f..f4b1188d9 100644 --- a/redbot/cogs/modlog/locales/id-ID.po +++ b/redbot/cogs/modlog/locales/id-ID.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: id_ID\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." msgstr "" -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." msgstr "" -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" msgstr "" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" msgstr "" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "Mod log dinonaktifkan." -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" msgstr "" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "Tindakan tersebut tidak terdaftar" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." msgstr "" -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." msgstr "" -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "Kasus telah di setel ulang." -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." msgstr "" -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "Kasus tersebut tidak ada!" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "Anda tidak diizinkan untuk mengubah kasus tersebut!" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "Alasan telah di perbarui." diff --git a/redbot/cogs/modlog/locales/it-IT.po b/redbot/cogs/modlog/locales/it-IT.po index 16a9c4522..b8b9495ee 100644 --- a/redbot/cogs/modlog/locales/it-IT.po +++ b/redbot/cogs/modlog/locales/it-IT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: it_IT\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." msgstr "" -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." msgstr "" -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" msgstr "" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" msgstr "" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "" -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" +msgstr "abilitata" + +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "disabilitata" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" msgstr "" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." msgstr "" -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." msgstr "" -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "" -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." msgstr "" -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "" diff --git a/redbot/cogs/modlog/locales/ja-JP.po b/redbot/cogs/modlog/locales/ja-JP.po index 71e2734a7..a07d27fd6 100644 --- a/redbot/cogs/modlog/locales/ja-JP.po +++ b/redbot/cogs/modlog/locales/ja-JP.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: ja_JP\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." msgstr "" -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." msgstr "" -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" msgstr "" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" msgstr "" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "" -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" msgstr "" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." msgstr "" -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." msgstr "" -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "" -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." msgstr "" -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "" diff --git a/redbot/cogs/modlog/locales/ko-KR.po b/redbot/cogs/modlog/locales/ko-KR.po index 9dc48502c..d3190f7f5 100644 --- a/redbot/cogs/modlog/locales/ko-KR.po +++ b/redbot/cogs/modlog/locales/ko-KR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: ko_KR\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." msgstr "" -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." msgstr "" -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" msgstr "" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" msgstr "" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "모드 로그가 비활성화됐어요." -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" msgstr "" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "해당 작업이 등록되지 않았어요." -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." msgstr "" -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." msgstr "" -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "사례들이 초기화됐어요." -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." msgstr "" -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "해당 사례는 등록되어 있지 않아요." -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "사용자님은 해당 사례를 수정할 권한이 없어요!" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "이유가 업데이트됐어요." diff --git a/redbot/cogs/modlog/locales/lol-US.po b/redbot/cogs/modlog/locales/lol-US.po index c8f854d41..cc443578a 100644 --- a/redbot/cogs/modlog/locales/lol-US.po +++ b/redbot/cogs/modlog/locales/lol-US.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: LOLCAT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: lol_US\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." msgstr "" -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." msgstr "" -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" msgstr "" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" msgstr "" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "" -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" +msgstr "enabld" + +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "disabld" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" msgstr "" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." msgstr "" -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." msgstr "" -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "" -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." msgstr "" -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "" diff --git a/redbot/cogs/modlog/locales/nl-NL.po b/redbot/cogs/modlog/locales/nl-NL.po index 411a0600d..93bd423ce 100644 --- a/redbot/cogs/modlog/locales/nl-NL.po +++ b/redbot/cogs/modlog/locales/nl-NL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: nl_NL\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." msgstr "" -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." msgstr "" -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" msgstr "" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" msgstr "" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "" -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" +msgstr "activeren" + +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "de-activeren" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" msgstr "" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." msgstr "" -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." msgstr "" -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "" -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." msgstr "" -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "" diff --git a/redbot/cogs/modlog/locales/no-NO.po b/redbot/cogs/modlog/locales/no-NO.po index b347b51ef..1cbf3e80b 100644 --- a/redbot/cogs/modlog/locales/no-NO.po +++ b/redbot/cogs/modlog/locales/no-NO.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Norwegian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: no_NO\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." msgstr "" -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." msgstr "" -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" msgstr "" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" msgstr "" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "" -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" +msgstr "skrudd på" + +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "skrudd av" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" msgstr "" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." msgstr "" -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." msgstr "" -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "" -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." msgstr "" -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "" diff --git a/redbot/cogs/modlog/locales/pl-PL.po b/redbot/cogs/modlog/locales/pl-PL.po index 35cd98fd3..7d6cfdcf0 100644 --- a/redbot/cogs/modlog/locales/pl-PL.po +++ b/redbot/cogs/modlog/locales/pl-PL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: pl_PL\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." msgstr "" -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." msgstr "" -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" msgstr "" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" msgstr "" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "" -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" +msgstr "włączone" + +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "wyłączone" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" msgstr "" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." msgstr "" -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." msgstr "" -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "" -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." msgstr "" -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "" diff --git a/redbot/cogs/modlog/locales/pt-BR.po b/redbot/cogs/modlog/locales/pt-BR.po index 82c9d5481..cde8da2e0 100644 --- a/redbot/cogs/modlog/locales/pt-BR.po +++ b/redbot/cogs/modlog/locales/pt-BR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese, Brazilian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: pt_BR\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." msgstr "" -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." msgstr "" -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" msgstr "" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" msgstr "" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "" -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" +msgstr "habilitado" + +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "desabilitado" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" msgstr "" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." msgstr "" -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." msgstr "" -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "" -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." msgstr "" -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "" diff --git a/redbot/cogs/modlog/locales/pt-PT.po b/redbot/cogs/modlog/locales/pt-PT.po index 2ee4c1e6b..77cd059d5 100644 --- a/redbot/cogs/modlog/locales/pt-PT.po +++ b/redbot/cogs/modlog/locales/pt-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: pt_PT\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." msgstr "" -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." msgstr "" -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" msgstr "" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" msgstr "" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "" -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" msgstr "" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." msgstr "" -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." msgstr "" -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "" -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." msgstr "" -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "" diff --git a/redbot/cogs/modlog/locales/ro-RO.po b/redbot/cogs/modlog/locales/ro-RO.po new file mode 100644 index 000000000..9a660cc77 --- /dev/null +++ b/redbot/cogs/modlog/locales/ro-RO.po @@ -0,0 +1,122 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:09\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Romanian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" +"Language: ro_RO\n" + +#: redbot/cogs/modlog/modlog.py:17 +#, docstring +msgid "Manage log channels for moderation actions." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:26 +#, docstring +msgid "Manage modlog settings." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:32 +#, docstring +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:41 +msgid "Mod events will be sent to {channel}" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:45 +msgid "I do not have permissions to send messages in {channel}!" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:56 +msgid "Mod log deactivated." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:61 +#, docstring +msgid "Enable or disable case creation for a mod action." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:77 +msgid "That action is not registered" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:82 +msgid "Case creation for {action_name} actions is now {enabled}." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:90 +#, docstring +msgid "Reset all modlog cases in this server." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:93 +msgid "Cases have been reset." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:98 +#, docstring +msgid "Show the specified case." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:102 +msgid "That case does not exist for that server" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:113 +#, docstring +msgid "Display cases for the specified member." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 +msgid "That case does not exist!" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:183 +msgid "You are not authorized to modify that case!" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:190 +msgid "Reason has been updated." +msgstr "" + diff --git a/redbot/cogs/modlog/locales/ru-RU.po b/redbot/cogs/modlog/locales/ru-RU.po index b18890a2d..ab2e9d0bf 100644 --- a/redbot/cogs/modlog/locales/ru-RU.po +++ b/redbot/cogs/modlog/locales/ru-RU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 05:52\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: ru_RU\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." -msgstr "" +msgstr "Управление журнал-каналами для модерации действий." -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." -msgstr "" +msgstr "Управление настройками журналов модерации." -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" -msgstr "" +msgstr "События модерации будут отправлены в {channel}" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" -msgstr "" +msgstr "У меня нет прав на отправку сообщений в {channel}!" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." -msgstr "Журнал модерации дэактивирован." +msgstr "Журнал модерации деактивирован." -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." +msgstr "Включить или отключить создание случая для действия модерации." + +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" +msgstr "включен" + +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "отключен" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" -msgstr "" - -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "Действие не зарегистрировано" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." -msgstr "" +msgstr "Создание случая для действий {action_name} теперь {enabled}." -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." -msgstr "" +msgstr "Сбросьте все случаи журанала модерации на этом сервере." -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." -msgstr "Дела были сброшены." +msgstr "Случаи были сброшены." -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." -msgstr "" +msgstr "Показать указанный случай." -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" -msgstr "Дело не употребляется на этом сервере" +msgstr "Этот случай не существует на этом сервере" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" -msgstr "Дело не существует!" +msgstr "Этот случай не существует!" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" -msgstr "У вас нет прав для изменения этого дела!" +msgstr "Вы не уполномочены изменять этот случай!" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "Причина была обновлена." diff --git a/redbot/cogs/modlog/locales/sk-SK.po b/redbot/cogs/modlog/locales/sk-SK.po index 06e54cdde..f6c8743ef 100644 --- a/redbot/cogs/modlog/locales/sk-SK.po +++ b/redbot/cogs/modlog/locales/sk-SK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Slovak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: sk_SK\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." msgstr "" -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." msgstr "" -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" msgstr "" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" msgstr "" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "" -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" msgstr "" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." msgstr "" -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." msgstr "" -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "" -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." msgstr "" -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "" diff --git a/redbot/cogs/modlog/locales/sv-SE.po b/redbot/cogs/modlog/locales/sv-SE.po index b6509ef4f..d31ae1fe1 100644 --- a/redbot/cogs/modlog/locales/sv-SE.po +++ b/redbot/cogs/modlog/locales/sv-SE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: sv_SE\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." msgstr "" -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." msgstr "" -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" msgstr "" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" msgstr "" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "Moderator loggen inaktiverad." -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" msgstr "" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "Åtgärden är inte registrerad" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." msgstr "" -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." msgstr "" -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "Ärenden har återställts." -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." msgstr "" -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "Det ärendet finns inte!" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "Du saknar behörighet för att modifiera detta ärende!" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "Anledningen har blivit uppdaterad." diff --git a/redbot/cogs/modlog/locales/tr-TR.po b/redbot/cogs/modlog/locales/tr-TR.po index c7295660c..8c67aa5f9 100644 --- a/redbot/cogs/modlog/locales/tr-TR.po +++ b/redbot/cogs/modlog/locales/tr-TR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: tr_TR\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." msgstr "" -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." msgstr "" -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" msgstr "" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" msgstr "" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "" -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" +msgstr "açıldı" + +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "deaktif" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" msgstr "" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." msgstr "" -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." msgstr "" -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "" -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." msgstr "" -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "" diff --git a/redbot/cogs/modlog/locales/zh-CN.po b/redbot/cogs/modlog/locales/zh-CN.po index cd1d228ea..755982c5b 100644 --- a/redbot/cogs/modlog/locales/zh-CN.po +++ b/redbot/cogs/modlog/locales/zh-CN.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,88 +16,107 @@ msgstr "" "X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" "Language: zh_CN\n" -#: redbot/cogs/modlog/modlog.py:15 +#: redbot/cogs/modlog/modlog.py:17 #, docstring msgid "Manage log channels for moderation actions." msgstr "" -#: redbot/cogs/modlog/modlog.py:24 +#: redbot/cogs/modlog/modlog.py:26 #, docstring msgid "Manage modlog settings." msgstr "" -#: redbot/cogs/modlog/modlog.py:30 +#: redbot/cogs/modlog/modlog.py:32 #, docstring -msgid "Set a channel as the modlog.\n\n" -" Omit `` to disable the modlog.\n" -" " +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " msgstr "" -#: redbot/cogs/modlog/modlog.py:39 +#: redbot/cogs/modlog/modlog.py:41 msgid "Mod events will be sent to {channel}" msgstr "" -#: redbot/cogs/modlog/modlog.py:43 +#: redbot/cogs/modlog/modlog.py:45 msgid "I do not have permissions to send messages in {channel}!" msgstr "" -#: redbot/cogs/modlog/modlog.py:54 +#: redbot/cogs/modlog/modlog.py:56 msgid "Mod log deactivated." msgstr "" -#: redbot/cogs/modlog/modlog.py:59 +#: redbot/cogs/modlog/modlog.py:61 #, docstring msgid "Enable or disable case creation for a mod action." msgstr "" -#: redbot/cogs/modlog/modlog.py:70 -msgid "Current settings:\n" +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" msgstr "" -#: redbot/cogs/modlog/modlog.py:75 +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:77 msgid "That action is not registered" msgstr "" -#: redbot/cogs/modlog/modlog.py:80 +#: redbot/cogs/modlog/modlog.py:82 msgid "Case creation for {action_name} actions is now {enabled}." msgstr "" -#: redbot/cogs/modlog/modlog.py:88 +#: redbot/cogs/modlog/modlog.py:90 #, docstring msgid "Reset all modlog cases in this server." msgstr "" -#: redbot/cogs/modlog/modlog.py:91 +#: redbot/cogs/modlog/modlog.py:93 msgid "Cases have been reset." msgstr "" -#: redbot/cogs/modlog/modlog.py:96 +#: redbot/cogs/modlog/modlog.py:98 #, docstring msgid "Show the specified case." msgstr "" -#: redbot/cogs/modlog/modlog.py:100 +#: redbot/cogs/modlog/modlog.py:102 msgid "That case does not exist for that server" msgstr "" -#: redbot/cogs/modlog/modlog.py:111 +#: redbot/cogs/modlog/modlog.py:113 #, docstring -msgid "Specify a reason for a modlog case.\n\n" -" Please note that you can only edit cases you are\n" -" the owner of unless you are a mod, admin or server owner.\n\n" -" If no case number is specified, the latest case will be used.\n" -" " +msgid "Display cases for the specified member." msgstr "" -#: redbot/cogs/modlog/modlog.py:126 +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 msgid "That case does not exist!" msgstr "" -#: redbot/cogs/modlog/modlog.py:152 +#: redbot/cogs/modlog/modlog.py:183 msgid "You are not authorized to modify that case!" msgstr "" -#: redbot/cogs/modlog/modlog.py:159 +#: redbot/cogs/modlog/modlog.py:190 msgid "Reason has been updated." msgstr "" diff --git a/redbot/cogs/modlog/locales/zh-TW.po b/redbot/cogs/modlog/locales/zh-TW.po new file mode 100644 index 000000000..63c51f13b --- /dev/null +++ b/redbot/cogs/modlog/locales/zh-TW.po @@ -0,0 +1,122 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Chinese Traditional\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /cogs/modlog/locales/messages.pot\n" +"Language: zh_TW\n" + +#: redbot/cogs/modlog/modlog.py:17 +#, docstring +msgid "Manage log channels for moderation actions." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:26 +#, docstring +msgid "Manage modlog settings." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:32 +#, docstring +msgid "Set a channel as the modlog.\\n\\n Omit `` to disable the modlog.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:41 +msgid "Mod events will be sent to {channel}" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:45 +msgid "I do not have permissions to send messages in {channel}!" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:56 +msgid "Mod log deactivated." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:61 +#, docstring +msgid "Enable or disable case creation for a mod action." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "enabled" +msgstr "已啟用" + +#: redbot/cogs/modlog/modlog.py:69 redbot/cogs/modlog/modlog.py:83 +msgid "disabled" +msgstr "已停用" + +#: redbot/cogs/modlog/modlog.py:72 +msgid "Current settings:\\n" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:77 +msgid "That action is not registered" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:82 +msgid "Case creation for {action_name} actions is now {enabled}." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:90 +#, docstring +msgid "Reset all modlog cases in this server." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:93 +msgid "Cases have been reset." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:98 +#, docstring +msgid "Show the specified case." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:102 +msgid "That case does not exist for that server" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:113 +#, docstring +msgid "Display cases for the specified member." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:124 +msgid "That user does not exist." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:127 +msgid "Something unexpected went wrong while fetching that user by ID." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:131 +msgid "That user does not have any cases." +msgstr "" + +#: redbot/cogs/modlog/modlog.py:142 +#, docstring +msgid "Specify a reason for a modlog case.\\n\\n Please note that you can only edit cases you are\\n the owner of unless you are a mod, admin or server owner.\\n\\n If no case number is specified, the latest case will be used.\\n " +msgstr "" + +#: redbot/cogs/modlog/modlog.py:157 +msgid "That case does not exist!" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:183 +msgid "You are not authorized to modify that case!" +msgstr "" + +#: redbot/cogs/modlog/modlog.py:190 +msgid "Reason has been updated." +msgstr "" + diff --git a/redbot/cogs/permissions/locales/ar-SA.po b/redbot/cogs/permissions/locales/ar-SA.po index 9abdf614e..eb7450df2 100644 --- a/redbot/cogs/permissions/locales/ar-SA.po +++ b/redbot/cogs/permissions/locales/ar-SA.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: ar_SA\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." msgstr "" -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." msgstr "" -#: redbot/cogs/permissions/permissions.py:108 +#: redbot/cogs/permissions/permissions.py:113 #, docstring msgid "Command permission management tools." msgstr "" -#: redbot/cogs/permissions/permissions.py:113 +#: redbot/cogs/permissions/permissions.py:118 #, docstring msgid "Explain how permissions works." msgstr "" -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:147 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" msgstr "" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:227 +#: redbot/cogs/permissions/permissions.py:232 #, docstring msgid "Get a YAML file detailing all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." msgstr "" -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." msgstr "" -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." msgstr "" -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." msgstr "" -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." msgstr "" -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." msgstr "" -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " msgstr "" -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " msgstr "" -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." msgstr "" -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" msgstr "" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." msgstr "" -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" msgstr "" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." msgstr "" diff --git a/redbot/cogs/permissions/locales/bg-BG.po b/redbot/cogs/permissions/locales/bg-BG.po index d6ffa7e74..4b7351a8c 100644 --- a/redbot/cogs/permissions/locales/bg-BG.po +++ b/redbot/cogs/permissions/locales/bg-BG.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Bulgarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: bg_BG\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." msgstr "" -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." msgstr "" -#: redbot/cogs/permissions/permissions.py:108 +#: redbot/cogs/permissions/permissions.py:113 #, docstring msgid "Command permission management tools." msgstr "" -#: redbot/cogs/permissions/permissions.py:113 +#: redbot/cogs/permissions/permissions.py:118 #, docstring msgid "Explain how permissions works." msgstr "" -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:147 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" msgstr "" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:227 +#: redbot/cogs/permissions/permissions.py:232 #, docstring msgid "Get a YAML file detailing all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." msgstr "" -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." msgstr "" -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." msgstr "" -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." msgstr "" -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." msgstr "" -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." msgstr "" -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " msgstr "" -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " msgstr "" -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." msgstr "" -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" msgstr "" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." msgstr "" -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" msgstr "" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." msgstr "" diff --git a/redbot/cogs/permissions/locales/cs-CZ.po b/redbot/cogs/permissions/locales/cs-CZ.po new file mode 100644 index 000000000..e499c9095 --- /dev/null +++ b/redbot/cogs/permissions/locales/cs-CZ.po @@ -0,0 +1,244 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: cs\n" +"X-Crowdin-File: /cogs/permissions/locales/messages.pot\n" +"Language: cs_CZ\n" + +#: redbot/cogs/permissions/converters.py:64 +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgstr "" + +#: redbot/cogs/permissions/converters.py:73 +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgstr "" + +#: redbot/cogs/permissions/converters.py:116 +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgstr "" + +#: redbot/cogs/permissions/converters.py:125 +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgstr "" + +#: redbot/cogs/permissions/converters.py:148 +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." +msgstr "" + +#: redbot/cogs/permissions/converters.py:161 +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" +msgstr "" + +#: redbot/cogs/permissions/converters.py:174 +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" +msgstr "" + +#: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 +msgid "Keys under command names must be IDs (numbers) or `default`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:53 +msgid "Keys under `COMMAND` must be command names (strings)." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:64 +msgid "Keys under cog names must be IDs or `default`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:68 +msgid "Keys under `COG` must be cog names (strings)." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:72 +msgid "Top-level keys must be either `COG` or `COMMAND`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:82 +#, docstring +msgid "Customise permissions for commands and cogs." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:113 +#, docstring +msgid "Command permission management tools." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:118 +#, docstring +msgid "Explain how permissions works." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:147 +#, docstring +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:162 +msgid "No such command" +msgstr "" + +#: redbot/cogs/permissions/permissions.py:173 +msgid "That user can run the specified command." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:175 +msgid "That user can not run the specified command." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:182 +#, docstring +msgid "Manage permissions with YAML files." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" +msgstr "" + +#: redbot/cogs/permissions/permissions.py:208 +#, docstring +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:222 +#, docstring +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:232 +#, docstring +msgid "Get a YAML file detailing all global rules." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 +msgid "I'm not allowed to DM you." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 +msgid "I've just sent the file to you via DM." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:247 +#, docstring +msgid "Get a YAML file detailing all rules in this server." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:261 +#, docstring +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:272 +#, docstring +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:288 +#, docstring +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 +msgid "Rule added." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:316 +#, docstring +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:342 +#, docstring +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 +msgid "Rule removed." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:362 +#, docstring +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:381 +#, docstring +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 +msgid "Default set." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:404 +#, docstring +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:423 +#, docstring +msgid "Reset all global rules." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:433 +#, docstring +msgid "Reset all rules in this server." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:526 +msgid "You must upload a file." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:532 +msgid "Invalid syntax: " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:535 +msgid "Your YAML file did not match the schema: " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:538 +msgid "Rules set." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:582 +msgid "Are you sure?" +msgstr "" + +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 +msgid "Response timed out." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:597 +msgid "Are you sure? (y/n)" +msgstr "" + +#: redbot/cogs/permissions/permissions.py:608 +msgid "Action cancelled." +msgstr "" + diff --git a/redbot/cogs/permissions/locales/da-DK.po b/redbot/cogs/permissions/locales/da-DK.po index 6016f6fbb..920a9cfdf 100644 --- a/redbot/cogs/permissions/locales/da-DK.po +++ b/redbot/cogs/permissions/locales/da-DK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: da_DK\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." msgstr "" -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." msgstr "" -#: redbot/cogs/permissions/permissions.py:108 +#: redbot/cogs/permissions/permissions.py:113 #, docstring msgid "Command permission management tools." msgstr "" -#: redbot/cogs/permissions/permissions.py:113 +#: redbot/cogs/permissions/permissions.py:118 #, docstring msgid "Explain how permissions works." msgstr "" -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:147 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" msgstr "" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:227 +#: redbot/cogs/permissions/permissions.py:232 #, docstring msgid "Get a YAML file detailing all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." msgstr "" -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." msgstr "" -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." msgstr "" -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." msgstr "" -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." msgstr "" -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." msgstr "" -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " msgstr "" -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " msgstr "" -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." msgstr "" -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" msgstr "" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." msgstr "" -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" msgstr "" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." msgstr "" diff --git a/redbot/cogs/permissions/locales/de-DE.po b/redbot/cogs/permissions/locales/de-DE.po index 92804fb31..eab409d11 100644 --- a/redbot/cogs/permissions/locales/de-DE.po +++ b/redbot/cogs/permissions/locales/de-DE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: de_DE\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "Regeln müssen entweder `true` oder `false` sein." + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." -msgstr "" +msgstr "Schlüssel unter Befehlsnamen müssen IDs (Zahlen) oder `default` sein." -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." -msgstr "" +msgstr "Schlüssel unterhalb von `COMMAND` müssen Befehlsnamen sein (Zeichenkette)." -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." -msgstr "" +msgstr "Schlüssel unterhalb von cog Namen müssen IDs oder `default` sein." -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." -msgstr "" +msgstr "Schlüssel unterhalb von `COG` müssen cog Namen sein (Zeichenkette)." -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." -msgstr "" +msgstr "Schlüssel auf höchster Ebene müssen entweder `COG` oder `COMMAND` sein." -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." -msgstr "" - -#: redbot/cogs/permissions/permissions.py:108 -#, docstring -msgid "Command permission management tools." -msgstr "" +msgstr "Passe Berechtigungen für Befehle und cogs an." #: redbot/cogs/permissions/permissions.py:113 #, docstring -msgid "Explain how permissions works." -msgstr "" +msgid "Command permission management tools." +msgstr "Tools zum Verwalten der Befehlsberechtigungen." -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." -msgstr "" - -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:118 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Explain how permissions works." +msgstr "Erkläre wie Berechtigungen funktionieren." + +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:147 +#, docstring +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" -msgstr "" +msgstr "Befehl nicht vorhanden" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." -msgstr "" +msgstr "Dieser Benutzer kann den angegebenen Befehl ausführen." -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." -msgstr "" +msgstr "Dieser Benutzer kann den angegebenen Befehl nicht ausführen." -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." +msgstr "Verwalte Berechtigungen mit YAML Dateien." + +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " -msgstr "" - -#: redbot/cogs/permissions/permissions.py:227 -#, docstring -msgid "Get a YAML file detailing all global rules." +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" #: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#, docstring +msgid "Get a YAML file detailing all global rules." +msgstr "Erhalte eine YAML Datei mit Angaben aller globalen Regeln." + +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." -msgstr "" +msgstr "Ich bin nicht berechtigt dir Direktnachrichten zu senden." -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." -msgstr "" +msgstr "Ich habe dir soeben die Datei per Direktnachricht gesendet." -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." -msgstr "" +msgstr "Erhalte eine YAML Datei mit Angaben aller Regeln für diesen Server." -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." -msgstr "" +msgstr "Regel hinzugefügt." -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." -msgstr "" +msgstr "Regel entfernt." -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." -msgstr "" +msgstr "Standard festgelegt." -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." -msgstr "" +msgstr "Alle globalen Regeln zurücksetzen." -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." -msgstr "" +msgstr "Setzt alle Regeln auf diesem Server zurück." -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." -msgstr "" +msgstr "Du musst eine Datei anhängen." -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " -msgstr "" +msgstr "Ungültiger Syntax: " -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " -msgstr "" +msgstr "Deine YAML Datei entspricht nicht dem Schema: " -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." -msgstr "" +msgstr "Regeln festgelegt." -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" -msgstr "" +msgstr "Bist du sicher?" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." -msgstr "" +msgstr "Antwortzeitlimit erreicht." -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" -msgstr "" +msgstr "Bist du sicher? (y/n)" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." -msgstr "" +msgstr "Aktion abgebrochen." diff --git a/redbot/cogs/permissions/locales/el-GR.po b/redbot/cogs/permissions/locales/el-GR.po index 4b2faf7ec..e5bc6f0c8 100644 --- a/redbot/cogs/permissions/locales/el-GR.po +++ b/redbot/cogs/permissions/locales/el-GR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: el_GR\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." msgstr "" -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." msgstr "" -#: redbot/cogs/permissions/permissions.py:108 +#: redbot/cogs/permissions/permissions.py:113 #, docstring msgid "Command permission management tools." msgstr "" -#: redbot/cogs/permissions/permissions.py:113 +#: redbot/cogs/permissions/permissions.py:118 #, docstring msgid "Explain how permissions works." msgstr "" -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:147 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" msgstr "" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:227 +#: redbot/cogs/permissions/permissions.py:232 #, docstring msgid "Get a YAML file detailing all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." msgstr "" -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." msgstr "" -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." msgstr "" -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." msgstr "" -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." msgstr "" -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." msgstr "" -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " msgstr "" -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " msgstr "" -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." msgstr "" -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" msgstr "" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." msgstr "" -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" msgstr "" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." msgstr "" diff --git a/redbot/cogs/permissions/locales/en-PT.po b/redbot/cogs/permissions/locales/en-PT.po index 510335467..0e611c4cb 100644 --- a/redbot/cogs/permissions/locales/en-PT.po +++ b/redbot/cogs/permissions/locales/en-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Pirate English\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: en_PT\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." msgstr "" -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." msgstr "" -#: redbot/cogs/permissions/permissions.py:108 +#: redbot/cogs/permissions/permissions.py:113 #, docstring msgid "Command permission management tools." msgstr "" -#: redbot/cogs/permissions/permissions.py:113 +#: redbot/cogs/permissions/permissions.py:118 #, docstring msgid "Explain how permissions works." msgstr "" -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:147 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" msgstr "" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:227 +#: redbot/cogs/permissions/permissions.py:232 #, docstring msgid "Get a YAML file detailing all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." msgstr "" -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." msgstr "" -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." msgstr "" -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." msgstr "" -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." msgstr "" -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." msgstr "" -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " msgstr "" -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " msgstr "" -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." msgstr "" -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" msgstr "" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." msgstr "" -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" msgstr "" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." msgstr "" diff --git a/redbot/cogs/permissions/locales/es-ES.po b/redbot/cogs/permissions/locales/es-ES.po index 060382faf..05037fcf1 100644 --- a/redbot/cogs/permissions/locales/es-ES.po +++ b/redbot/cogs/permissions/locales/es-ES.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: es_ES\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." msgstr "" -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." msgstr "" -#: redbot/cogs/permissions/permissions.py:108 +#: redbot/cogs/permissions/permissions.py:113 #, docstring msgid "Command permission management tools." msgstr "" -#: redbot/cogs/permissions/permissions.py:113 +#: redbot/cogs/permissions/permissions.py:118 #, docstring msgid "Explain how permissions works." msgstr "" -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:147 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" msgstr "" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:227 +#: redbot/cogs/permissions/permissions.py:232 #, docstring msgid "Get a YAML file detailing all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." msgstr "" -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." msgstr "" -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." msgstr "" -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." msgstr "" -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." msgstr "" -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." msgstr "" -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " msgstr "" -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " msgstr "" -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." msgstr "" -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" msgstr "" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." msgstr "" -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" msgstr "" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." msgstr "" diff --git a/redbot/cogs/permissions/locales/fi-FI.po b/redbot/cogs/permissions/locales/fi-FI.po index 97663693b..c12cb17c1 100644 --- a/redbot/cogs/permissions/locales/fi-FI.po +++ b/redbot/cogs/permissions/locales/fi-FI.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: fi_FI\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." msgstr "" -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." msgstr "" -#: redbot/cogs/permissions/permissions.py:108 +#: redbot/cogs/permissions/permissions.py:113 #, docstring msgid "Command permission management tools." msgstr "" -#: redbot/cogs/permissions/permissions.py:113 +#: redbot/cogs/permissions/permissions.py:118 #, docstring msgid "Explain how permissions works." msgstr "" -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:147 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" msgstr "" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:227 +#: redbot/cogs/permissions/permissions.py:232 #, docstring msgid "Get a YAML file detailing all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." msgstr "" -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." msgstr "" -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." msgstr "" -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." msgstr "" -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." msgstr "" -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." msgstr "" -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " msgstr "" -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " msgstr "" -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." msgstr "" -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" msgstr "" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." msgstr "" -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" msgstr "" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." msgstr "" diff --git a/redbot/cogs/permissions/locales/fr-FR.po b/redbot/cogs/permissions/locales/fr-FR.po index 0a199d616..90c92cb87 100644 --- a/redbot/cogs/permissions/locales/fr-FR.po +++ b/redbot/cogs/permissions/locales/fr-FR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: fr_FR\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "Les règles doivent être soit `true` soit `false`." + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." -msgstr "" +msgstr "Les clés sous les noms de commandes doivent être des identifiants (chiffres) ou `default`." -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." -msgstr "" +msgstr "Les clés sous `COMMAND` doivent être des noms de commandes (strings)." -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." -msgstr "" +msgstr "Les clés sous les noms de commandes doivent être des identifiants (chiffres) ou `default`." -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." -msgstr "" +msgstr "Les clés sous `COMMAND` doivent être des noms de commandes (strings)." -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." -msgstr "" +msgstr "Les clés de haut niveau doivent être soit `COG` soit `COMMAND`." -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." -msgstr "" - -#: redbot/cogs/permissions/permissions.py:108 -#, docstring -msgid "Command permission management tools." -msgstr "" +msgstr "Personnaliser les permissions pour les commandes et les cogs." #: redbot/cogs/permissions/permissions.py:113 #, docstring -msgid "Explain how permissions works." -msgstr "" +msgid "Command permission management tools." +msgstr "Outils de gestion des permissions des commandes." -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." -msgstr "" - -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:118 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Explain how permissions works." +msgstr "Expliquez comment fonctionnent les permissions." + +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:147 +#, docstring +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" -msgstr "" +msgstr "Cette commande n'existe pas" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." -msgstr "" +msgstr "Cet utilisateur peut exécuter la commande spécifiée." -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." -msgstr "" +msgstr "Cet utilisateur ne peut pas exécuter la commande spécifiée." -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." +msgstr "Gérer les permissions avec des fichiers YAML." + +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " -msgstr "" - -#: redbot/cogs/permissions/permissions.py:227 -#, docstring -msgid "Get a YAML file detailing all global rules." +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" #: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#, docstring +msgid "Get a YAML file detailing all global rules." +msgstr "Obtenez un fichier YAML détaillant toutes les règles globales." + +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." -msgstr "" +msgstr "Je ne suis pas autorisé à vous contacter par message privé." -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." -msgstr "" +msgstr "Je viens de vous envoyer le fichier par message privé." -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." -msgstr "" +msgstr "Obtenez un fichier YAML détaillant toutes les règles de ce serveur." -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." -msgstr "" +msgstr "Règle ajoutée." -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." -msgstr "" +msgstr "Règle supprimée." -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." -msgstr "" +msgstr "Réinitialisation des paramètres par défaut." -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." -msgstr "" +msgstr "Réinitialiser toutes les règles globales." -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." -msgstr "" +msgstr "Réinitialiser toutes les règles de ce serveur." -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." -msgstr "" +msgstr "Vous devez envoyer un fichier." -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " -msgstr "" +msgstr "Syntaxe invalide : " -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " -msgstr "" +msgstr "Votre fichier YAML ne correspond pas au schéma : " -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." -msgstr "" +msgstr "Règles définies." -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" -msgstr "" +msgstr "Êtes-vous sûr ?" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." -msgstr "" +msgstr "Réponse expirée." -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" -msgstr "" +msgstr "Êtes-vous sûr ? (y/n)" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." -msgstr "" +msgstr "Action annulée." diff --git a/redbot/cogs/permissions/locales/hu-HU.po b/redbot/cogs/permissions/locales/hu-HU.po index fe91cdf18..b3693892c 100644 --- a/redbot/cogs/permissions/locales/hu-HU.po +++ b/redbot/cogs/permissions/locales/hu-HU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: hu_HU\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." msgstr "" -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." msgstr "" -#: redbot/cogs/permissions/permissions.py:108 +#: redbot/cogs/permissions/permissions.py:113 #, docstring msgid "Command permission management tools." msgstr "" -#: redbot/cogs/permissions/permissions.py:113 +#: redbot/cogs/permissions/permissions.py:118 #, docstring msgid "Explain how permissions works." msgstr "" -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:147 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" msgstr "" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:227 +#: redbot/cogs/permissions/permissions.py:232 #, docstring msgid "Get a YAML file detailing all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." msgstr "" -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." msgstr "" -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." msgstr "" -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." msgstr "" -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." msgstr "" -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." msgstr "" -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " msgstr "" -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " msgstr "" -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." msgstr "" -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" -msgstr "" +msgstr "Biztos vagy benne?" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." -msgstr "" +msgstr "Időtúllépés." -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" -msgstr "" +msgstr "Biztos vagy benne? (y/n)" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." -msgstr "" +msgstr "Visszavonva." diff --git a/redbot/cogs/permissions/locales/id-ID.po b/redbot/cogs/permissions/locales/id-ID.po index e82e9f517..07ae8ea93 100644 --- a/redbot/cogs/permissions/locales/id-ID.po +++ b/redbot/cogs/permissions/locales/id-ID.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: id_ID\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." msgstr "" -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." msgstr "" -#: redbot/cogs/permissions/permissions.py:108 +#: redbot/cogs/permissions/permissions.py:113 #, docstring msgid "Command permission management tools." msgstr "" -#: redbot/cogs/permissions/permissions.py:113 +#: redbot/cogs/permissions/permissions.py:118 #, docstring msgid "Explain how permissions works." msgstr "" -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:147 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" msgstr "" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:227 +#: redbot/cogs/permissions/permissions.py:232 #, docstring msgid "Get a YAML file detailing all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." msgstr "" -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." msgstr "" -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." msgstr "" -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." msgstr "" -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." msgstr "" -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." msgstr "" -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " msgstr "" -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " msgstr "" -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." msgstr "" -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" msgstr "" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." msgstr "" -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" msgstr "" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." msgstr "" diff --git a/redbot/cogs/permissions/locales/it-IT.po b/redbot/cogs/permissions/locales/it-IT.po index c5464c09b..dcfd25133 100644 --- a/redbot/cogs/permissions/locales/it-IT.po +++ b/redbot/cogs/permissions/locales/it-IT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: it_IT\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." msgstr "" -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." msgstr "" -#: redbot/cogs/permissions/permissions.py:108 +#: redbot/cogs/permissions/permissions.py:113 #, docstring msgid "Command permission management tools." msgstr "" -#: redbot/cogs/permissions/permissions.py:113 +#: redbot/cogs/permissions/permissions.py:118 #, docstring msgid "Explain how permissions works." msgstr "" -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:147 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" msgstr "" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:227 +#: redbot/cogs/permissions/permissions.py:232 #, docstring msgid "Get a YAML file detailing all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." msgstr "" -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." msgstr "" -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." msgstr "" -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." msgstr "" -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." msgstr "" -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." msgstr "" -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " msgstr "" -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " msgstr "" -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." msgstr "" -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" msgstr "" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." -msgstr "" +msgstr "Risposta scaduta." -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" msgstr "" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." msgstr "" diff --git a/redbot/cogs/permissions/locales/ja-JP.po b/redbot/cogs/permissions/locales/ja-JP.po index d0104f40c..283149b32 100644 --- a/redbot/cogs/permissions/locales/ja-JP.po +++ b/redbot/cogs/permissions/locales/ja-JP.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: ja_JP\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." msgstr "" -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." msgstr "" -#: redbot/cogs/permissions/permissions.py:108 +#: redbot/cogs/permissions/permissions.py:113 #, docstring msgid "Command permission management tools." msgstr "" -#: redbot/cogs/permissions/permissions.py:113 +#: redbot/cogs/permissions/permissions.py:118 #, docstring msgid "Explain how permissions works." msgstr "" -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:147 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" msgstr "" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:227 +#: redbot/cogs/permissions/permissions.py:232 #, docstring msgid "Get a YAML file detailing all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." msgstr "" -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." msgstr "" -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." msgstr "" -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." msgstr "" -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." msgstr "" -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." msgstr "" -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " msgstr "" -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " msgstr "" -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." msgstr "" -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" msgstr "" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." msgstr "" -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" msgstr "" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." msgstr "" diff --git a/redbot/cogs/permissions/locales/ko-KR.po b/redbot/cogs/permissions/locales/ko-KR.po index 2271901d3..bb9d56424 100644 --- a/redbot/cogs/permissions/locales/ko-KR.po +++ b/redbot/cogs/permissions/locales/ko-KR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: ko_KR\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." msgstr "" -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." msgstr "" -#: redbot/cogs/permissions/permissions.py:108 +#: redbot/cogs/permissions/permissions.py:113 #, docstring msgid "Command permission management tools." msgstr "" -#: redbot/cogs/permissions/permissions.py:113 +#: redbot/cogs/permissions/permissions.py:118 #, docstring msgid "Explain how permissions works." msgstr "" -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:147 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" msgstr "" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:227 +#: redbot/cogs/permissions/permissions.py:232 #, docstring msgid "Get a YAML file detailing all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." msgstr "" -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." msgstr "" -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." msgstr "" -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." msgstr "" -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." msgstr "" -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." msgstr "" -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " msgstr "" -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " msgstr "" -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." msgstr "" -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" msgstr "" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." msgstr "" -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" msgstr "" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." msgstr "" diff --git a/redbot/cogs/permissions/locales/lol-US.po b/redbot/cogs/permissions/locales/lol-US.po index 0de361a10..c7f2561fd 100644 --- a/redbot/cogs/permissions/locales/lol-US.po +++ b/redbot/cogs/permissions/locales/lol-US.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: LOLCAT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: lol_US\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." msgstr "" -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." msgstr "" -#: redbot/cogs/permissions/permissions.py:108 +#: redbot/cogs/permissions/permissions.py:113 #, docstring msgid "Command permission management tools." msgstr "" -#: redbot/cogs/permissions/permissions.py:113 +#: redbot/cogs/permissions/permissions.py:118 #, docstring msgid "Explain how permissions works." msgstr "" -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:147 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" msgstr "" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:227 +#: redbot/cogs/permissions/permissions.py:232 #, docstring msgid "Get a YAML file detailing all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." msgstr "" -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." msgstr "" -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." msgstr "" -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." msgstr "" -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." msgstr "" -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." msgstr "" -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " msgstr "" -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " msgstr "" -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." msgstr "" -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" msgstr "" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." msgstr "" -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" msgstr "" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." msgstr "" diff --git a/redbot/cogs/permissions/locales/nl-NL.po b/redbot/cogs/permissions/locales/nl-NL.po index ca4adbb2d..1e7a0a0e0 100644 --- a/redbot/cogs/permissions/locales/nl-NL.po +++ b/redbot/cogs/permissions/locales/nl-NL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: nl_NL\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." msgstr "" -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." msgstr "" -#: redbot/cogs/permissions/permissions.py:108 +#: redbot/cogs/permissions/permissions.py:113 #, docstring msgid "Command permission management tools." msgstr "" -#: redbot/cogs/permissions/permissions.py:113 +#: redbot/cogs/permissions/permissions.py:118 #, docstring msgid "Explain how permissions works." msgstr "" -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:147 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" msgstr "" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:227 +#: redbot/cogs/permissions/permissions.py:232 #, docstring msgid "Get a YAML file detailing all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." msgstr "" -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." msgstr "" -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." msgstr "" -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." msgstr "" -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." msgstr "" -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." msgstr "" -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " msgstr "" -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " msgstr "" -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." msgstr "" -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" msgstr "" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." msgstr "" -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" msgstr "" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." msgstr "" diff --git a/redbot/cogs/permissions/locales/no-NO.po b/redbot/cogs/permissions/locales/no-NO.po index b58c62edb..2b2edacd5 100644 --- a/redbot/cogs/permissions/locales/no-NO.po +++ b/redbot/cogs/permissions/locales/no-NO.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Norwegian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: no_NO\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." msgstr "" -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." msgstr "" -#: redbot/cogs/permissions/permissions.py:108 +#: redbot/cogs/permissions/permissions.py:113 #, docstring msgid "Command permission management tools." msgstr "" -#: redbot/cogs/permissions/permissions.py:113 +#: redbot/cogs/permissions/permissions.py:118 #, docstring msgid "Explain how permissions works." msgstr "" -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:147 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" msgstr "" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:227 +#: redbot/cogs/permissions/permissions.py:232 #, docstring msgid "Get a YAML file detailing all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." msgstr "" -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." msgstr "" -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." msgstr "" -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." msgstr "" -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." msgstr "" -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." msgstr "" -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " msgstr "" -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " msgstr "" -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." msgstr "" -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" msgstr "" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." msgstr "" -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" msgstr "" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." msgstr "" diff --git a/redbot/cogs/permissions/locales/pl-PL.po b/redbot/cogs/permissions/locales/pl-PL.po index f757731fa..cde95a41e 100644 --- a/redbot/cogs/permissions/locales/pl-PL.po +++ b/redbot/cogs/permissions/locales/pl-PL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: pl_PL\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." msgstr "" -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." msgstr "" -#: redbot/cogs/permissions/permissions.py:108 +#: redbot/cogs/permissions/permissions.py:113 #, docstring msgid "Command permission management tools." msgstr "" -#: redbot/cogs/permissions/permissions.py:113 +#: redbot/cogs/permissions/permissions.py:118 #, docstring msgid "Explain how permissions works." msgstr "" -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:147 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" msgstr "" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:227 +#: redbot/cogs/permissions/permissions.py:232 #, docstring msgid "Get a YAML file detailing all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." msgstr "" -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." msgstr "" -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." msgstr "" -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." msgstr "" -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." msgstr "" -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." msgstr "" -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " msgstr "" -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " msgstr "" -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." msgstr "" -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" msgstr "" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." -msgstr "" +msgstr "Przekroczono limit czasu odpowiedzi." -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" msgstr "" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." msgstr "" diff --git a/redbot/cogs/permissions/locales/pt-BR.po b/redbot/cogs/permissions/locales/pt-BR.po index f11803013..c2e159646 100644 --- a/redbot/cogs/permissions/locales/pt-BR.po +++ b/redbot/cogs/permissions/locales/pt-BR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese, Brazilian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: pt_BR\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." msgstr "" -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." msgstr "" -#: redbot/cogs/permissions/permissions.py:108 +#: redbot/cogs/permissions/permissions.py:113 #, docstring msgid "Command permission management tools." msgstr "" -#: redbot/cogs/permissions/permissions.py:113 +#: redbot/cogs/permissions/permissions.py:118 #, docstring msgid "Explain how permissions works." msgstr "" -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:147 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" msgstr "" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:227 +#: redbot/cogs/permissions/permissions.py:232 #, docstring msgid "Get a YAML file detailing all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." msgstr "" -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." msgstr "" -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." msgstr "" -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." msgstr "" -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." msgstr "" -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." msgstr "" -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " msgstr "" -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " msgstr "" -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." msgstr "" -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" msgstr "" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." -msgstr "" +msgstr "Tempo de resposta excedido." -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" msgstr "" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." msgstr "" diff --git a/redbot/cogs/permissions/locales/pt-PT.po b/redbot/cogs/permissions/locales/pt-PT.po index 30c5d0e28..6a5b20ecd 100644 --- a/redbot/cogs/permissions/locales/pt-PT.po +++ b/redbot/cogs/permissions/locales/pt-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: pt_PT\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." msgstr "" -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." msgstr "" -#: redbot/cogs/permissions/permissions.py:108 +#: redbot/cogs/permissions/permissions.py:113 #, docstring msgid "Command permission management tools." msgstr "" -#: redbot/cogs/permissions/permissions.py:113 +#: redbot/cogs/permissions/permissions.py:118 #, docstring msgid "Explain how permissions works." msgstr "" -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:147 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" msgstr "" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:227 +#: redbot/cogs/permissions/permissions.py:232 #, docstring msgid "Get a YAML file detailing all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." msgstr "" -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." msgstr "" -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." msgstr "" -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." msgstr "" -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." msgstr "" -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." msgstr "" -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " msgstr "" -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " msgstr "" -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." msgstr "" -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" msgstr "" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." msgstr "" -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" msgstr "" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." msgstr "" diff --git a/redbot/cogs/permissions/locales/ro-RO.po b/redbot/cogs/permissions/locales/ro-RO.po new file mode 100644 index 000000000..92c0beaba --- /dev/null +++ b/redbot/cogs/permissions/locales/ro-RO.po @@ -0,0 +1,244 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:09\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Romanian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /cogs/permissions/locales/messages.pot\n" +"Language: ro_RO\n" + +#: redbot/cogs/permissions/converters.py:64 +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgstr "" + +#: redbot/cogs/permissions/converters.py:73 +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgstr "" + +#: redbot/cogs/permissions/converters.py:116 +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgstr "" + +#: redbot/cogs/permissions/converters.py:125 +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgstr "" + +#: redbot/cogs/permissions/converters.py:148 +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." +msgstr "" + +#: redbot/cogs/permissions/converters.py:161 +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" +msgstr "" + +#: redbot/cogs/permissions/converters.py:174 +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" +msgstr "" + +#: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 +msgid "Keys under command names must be IDs (numbers) or `default`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:53 +msgid "Keys under `COMMAND` must be command names (strings)." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:64 +msgid "Keys under cog names must be IDs or `default`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:68 +msgid "Keys under `COG` must be cog names (strings)." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:72 +msgid "Top-level keys must be either `COG` or `COMMAND`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:82 +#, docstring +msgid "Customise permissions for commands and cogs." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:113 +#, docstring +msgid "Command permission management tools." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:118 +#, docstring +msgid "Explain how permissions works." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:147 +#, docstring +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:162 +msgid "No such command" +msgstr "" + +#: redbot/cogs/permissions/permissions.py:173 +msgid "That user can run the specified command." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:175 +msgid "That user can not run the specified command." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:182 +#, docstring +msgid "Manage permissions with YAML files." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" +msgstr "" + +#: redbot/cogs/permissions/permissions.py:208 +#, docstring +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:222 +#, docstring +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:232 +#, docstring +msgid "Get a YAML file detailing all global rules." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 +msgid "I'm not allowed to DM you." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 +msgid "I've just sent the file to you via DM." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:247 +#, docstring +msgid "Get a YAML file detailing all rules in this server." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:261 +#, docstring +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:272 +#, docstring +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:288 +#, docstring +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 +msgid "Rule added." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:316 +#, docstring +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:342 +#, docstring +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 +msgid "Rule removed." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:362 +#, docstring +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:381 +#, docstring +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 +msgid "Default set." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:404 +#, docstring +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:423 +#, docstring +msgid "Reset all global rules." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:433 +#, docstring +msgid "Reset all rules in this server." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:526 +msgid "You must upload a file." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:532 +msgid "Invalid syntax: " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:535 +msgid "Your YAML file did not match the schema: " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:538 +msgid "Rules set." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:582 +msgid "Are you sure?" +msgstr "" + +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 +msgid "Response timed out." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:597 +msgid "Are you sure? (y/n)" +msgstr "" + +#: redbot/cogs/permissions/permissions.py:608 +msgid "Action cancelled." +msgstr "" + diff --git a/redbot/cogs/permissions/locales/ru-RU.po b/redbot/cogs/permissions/locales/ru-RU.po index 6d6c028f4..1933d2479 100644 --- a/redbot/cogs/permissions/locales/ru-RU.po +++ b/redbot/cogs/permissions/locales/ru-RU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 05:52\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: ru_RU\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "Правила должны быть либо `true`, либо` false`." + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." -msgstr "" +msgstr "Ключи под именами команд должны быть ID (числами) или `default`." -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." -msgstr "" +msgstr "Ключи в `COMMAND` должны быть именами команд (строками)." -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." -msgstr "" +msgstr "Ключи под именами модулей должны быть ID или `default`." -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." -msgstr "" +msgstr "Ключи под `COG` должны быть именами модулей (строками)." -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." -msgstr "" +msgstr "Ключи верхнего уровня должны быть либо `COG`, либо` COMMAND`." -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." -msgstr "" - -#: redbot/cogs/permissions/permissions.py:108 -#, docstring -msgid "Command permission management tools." -msgstr "" +msgstr "Настроить разрешения для команд и модулей." #: redbot/cogs/permissions/permissions.py:113 #, docstring -msgid "Explain how permissions works." -msgstr "" +msgid "Command permission management tools." +msgstr "Инструменты управления разрешениями команд." -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." -msgstr "" - -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:118 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Explain how permissions works." +msgstr "Объяснить, как работают разрешения." + +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:147 +#, docstring +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" -msgstr "" +msgstr "Нет такой команды" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." -msgstr "" +msgstr "Этот пользователь может выполнить указанную команду." -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." -msgstr "" +msgstr "Этот пользователь не может выполнить указанную команду." -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." +msgstr "Управлять разрешениями с помощью файлов YAML." + +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " -msgstr "" - -#: redbot/cogs/permissions/permissions.py:227 -#, docstring -msgid "Get a YAML file detailing all global rules." +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" #: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#, docstring +msgid "Get a YAML file detailing all global rules." +msgstr "Получить файл YAML с подробным описанием всех глобальных правил." + +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." -msgstr "" +msgstr "Мне не разрешено писать вам личные сообщения." -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." -msgstr "" +msgstr "Я только что отправила вам файл в личные сообщения." -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." -msgstr "" +msgstr "Получить файл YAML с подробным описанием всех правил на этом сервере." -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." -msgstr "" +msgstr "Правило добавлено." -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." -msgstr "" +msgstr "Правило удалено." -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." -msgstr "" +msgstr "Настройки по умолчанию установлены." -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." -msgstr "" +msgstr "Сбросить все глобальные правила." -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." -msgstr "" +msgstr "Сбросить все правила на этом сервере." -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." -msgstr "" +msgstr "Вы должны загрузить файл." -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " -msgstr "" +msgstr "Неверный синтаксис: " -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " -msgstr "" +msgstr "Ваш YAML-файл не соответствует схеме: " -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." -msgstr "" +msgstr "Правила установлены." -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" -msgstr "" +msgstr "Вы уверены?" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." -msgstr "" +msgstr "Время ответа истекло." -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" -msgstr "" +msgstr "Вы уверены? (y/n)" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." -msgstr "" +msgstr "Действие отменено." diff --git a/redbot/cogs/permissions/locales/sk-SK.po b/redbot/cogs/permissions/locales/sk-SK.po index 9c8b3bc17..bc15fc3c6 100644 --- a/redbot/cogs/permissions/locales/sk-SK.po +++ b/redbot/cogs/permissions/locales/sk-SK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Slovak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: sk_SK\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." msgstr "" -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." msgstr "" -#: redbot/cogs/permissions/permissions.py:108 +#: redbot/cogs/permissions/permissions.py:113 #, docstring msgid "Command permission management tools." msgstr "" -#: redbot/cogs/permissions/permissions.py:113 +#: redbot/cogs/permissions/permissions.py:118 #, docstring msgid "Explain how permissions works." msgstr "" -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:147 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" msgstr "" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:227 +#: redbot/cogs/permissions/permissions.py:232 #, docstring msgid "Get a YAML file detailing all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." msgstr "" -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." msgstr "" -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." msgstr "" -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." msgstr "" -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." msgstr "" -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." msgstr "" -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " msgstr "" -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " msgstr "" -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." msgstr "" -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" msgstr "" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." msgstr "" -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" msgstr "" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." msgstr "" diff --git a/redbot/cogs/permissions/locales/sv-SE.po b/redbot/cogs/permissions/locales/sv-SE.po index 968d67563..b45e5caa1 100644 --- a/redbot/cogs/permissions/locales/sv-SE.po +++ b/redbot/cogs/permissions/locales/sv-SE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: sv_SE\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." msgstr "" -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." msgstr "" -#: redbot/cogs/permissions/permissions.py:108 +#: redbot/cogs/permissions/permissions.py:113 #, docstring msgid "Command permission management tools." msgstr "" -#: redbot/cogs/permissions/permissions.py:113 +#: redbot/cogs/permissions/permissions.py:118 #, docstring msgid "Explain how permissions works." msgstr "" -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:147 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" msgstr "" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:227 +#: redbot/cogs/permissions/permissions.py:232 #, docstring msgid "Get a YAML file detailing all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." msgstr "" -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." msgstr "" -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." msgstr "" -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." msgstr "" -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." msgstr "" -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." msgstr "" -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " msgstr "" -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " msgstr "" -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." msgstr "" -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" msgstr "" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." msgstr "" -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" msgstr "" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." msgstr "" diff --git a/redbot/cogs/permissions/locales/tr-TR.po b/redbot/cogs/permissions/locales/tr-TR.po index bd161c543..7dc582744 100644 --- a/redbot/cogs/permissions/locales/tr-TR.po +++ b/redbot/cogs/permissions/locales/tr-TR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: tr_TR\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." msgstr "" -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." msgstr "" -#: redbot/cogs/permissions/permissions.py:108 +#: redbot/cogs/permissions/permissions.py:113 #, docstring msgid "Command permission management tools." msgstr "" -#: redbot/cogs/permissions/permissions.py:113 +#: redbot/cogs/permissions/permissions.py:118 #, docstring msgid "Explain how permissions works." msgstr "" -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:147 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" msgstr "" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:227 +#: redbot/cogs/permissions/permissions.py:232 #, docstring msgid "Get a YAML file detailing all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." msgstr "" -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." msgstr "" -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." msgstr "" -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." msgstr "" -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." msgstr "" -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." msgstr "" -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " msgstr "" -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " msgstr "" -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." msgstr "" -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" msgstr "" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." -msgstr "" +msgstr "Yanıt yok, zaman aşımı oluştu." -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" msgstr "" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." msgstr "" diff --git a/redbot/cogs/permissions/locales/zh-CN.po b/redbot/cogs/permissions/locales/zh-CN.po index 87eca5cef..8a3d0e578 100644 --- a/redbot/cogs/permissions/locales/zh-CN.po +++ b/redbot/cogs/permissions/locales/zh-CN.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -17,288 +17,228 @@ msgstr "" "Language: zh_CN\n" #: redbot/cogs/permissions/converters.py:64 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." msgstr "" #: redbot/cogs/permissions/converters.py:73 -msgid "\"{arg}\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:116 -msgid "\"{arg}\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." msgstr "" #: redbot/cogs/permissions/converters.py:125 -msgid "\"{arg}\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." msgstr "" #: redbot/cogs/permissions/converters.py:148 -msgid "Cog or command \"{name}\" not found. Please note that this is case sensitive." +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." msgstr "" #: redbot/cogs/permissions/converters.py:161 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\"" +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" msgstr "" #: redbot/cogs/permissions/converters.py:174 -msgid "\"{arg}\" is not a valid rule. Valid rules are \"allow\" or \"deny\", or \"clear\" to remove the rule" -msgstr "" - -#: redbot/cogs/permissions/permissions.py:43 -#: redbot/cogs/permissions/permissions.py:57 -msgid "Rules must be either `true` or `false`." +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" msgstr "" #: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 msgid "Keys under command names must be IDs (numbers) or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:50 +#: redbot/cogs/permissions/permissions.py:53 msgid "Keys under `COMMAND` must be command names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:61 +#: redbot/cogs/permissions/permissions.py:64 msgid "Keys under cog names must be IDs or `default`." msgstr "" -#: redbot/cogs/permissions/permissions.py:65 +#: redbot/cogs/permissions/permissions.py:68 msgid "Keys under `COG` must be cog names (strings)." msgstr "" -#: redbot/cogs/permissions/permissions.py:69 +#: redbot/cogs/permissions/permissions.py:72 msgid "Top-level keys must be either `COG` or `COMMAND`." msgstr "" -#: redbot/cogs/permissions/permissions.py:79 +#: redbot/cogs/permissions/permissions.py:82 #, docstring msgid "Customise permissions for commands and cogs." msgstr "" -#: redbot/cogs/permissions/permissions.py:108 +#: redbot/cogs/permissions/permissions.py:113 #, docstring msgid "Command permission management tools." msgstr "" -#: redbot/cogs/permissions/permissions.py:113 +#: redbot/cogs/permissions/permissions.py:118 #, docstring msgid "Explain how permissions works." msgstr "" -#: redbot/cogs/permissions/permissions.py:116 -msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\n" -"This cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\n\n" -"When additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\n" -"Global rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\n" -" 1. Rules about a user.\n" -" 2. Rules about the voice channel a user is in.\n" -" 3. Rules about the text channel a command was issued in.\n" -" 4. Rules about a role the user has (The highest role they have with a rule will be used).\n" -" 5. Rules about the server a user is in (Global rules only).\n\n" -"For more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." msgstr "" -#: redbot/cogs/permissions/permissions.py:142 +#: redbot/cogs/permissions/permissions.py:147 #, docstring -msgid "Check if a user can run a command.\n\n" -" This will take the current context into account, such as the\n" -" server and text channel.\n" -" " +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:157 +#: redbot/cogs/permissions/permissions.py:162 msgid "No such command" msgstr "" -#: redbot/cogs/permissions/permissions.py:168 +#: redbot/cogs/permissions/permissions.py:173 msgid "That user can run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:170 +#: redbot/cogs/permissions/permissions.py:175 msgid "That user can not run the specified command." msgstr "" -#: redbot/cogs/permissions/permissions.py:177 +#: redbot/cogs/permissions/permissions.py:182 #, docstring msgid "Manage permissions with YAML files." msgstr "" -#: redbot/cogs/permissions/permissions.py:181 -msgid "Example YAML for setting rules:\n" +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" msgstr "" -#: redbot/cogs/permissions/permissions.py:203 +#: redbot/cogs/permissions/permissions.py:208 #, docstring -msgid "Set global rules with a YAML file.\n\n" -" **WARNING**: This will override reset *all* global rules\n" -" to the rules specified in the uploaded file.\n\n" -" This does not validate the names of commands and cogs before\n" -" setting the new rules.\n" -" " +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:217 +#: redbot/cogs/permissions/permissions.py:222 #, docstring -msgid "Set rules for this server with a YAML file.\n\n" -" **WARNING**: This will override reset *all* rules in this\n" -" server to the rules specified in the uploaded file.\n" -" " +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:227 +#: redbot/cogs/permissions/permissions.py:232 #, docstring msgid "Get a YAML file detailing all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:232 -#: redbot/cogs/permissions/permissions.py:247 +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 msgid "I'm not allowed to DM you." msgstr "" -#: redbot/cogs/permissions/permissions.py:234 -#: redbot/cogs/permissions/permissions.py:249 +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 msgid "I've just sent the file to you via DM." msgstr "" -#: redbot/cogs/permissions/permissions.py:242 +#: redbot/cogs/permissions/permissions.py:247 #, docstring msgid "Get a YAML file detailing all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:256 +#: redbot/cogs/permissions/permissions.py:261 #, docstring -msgid "Update global rules with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:267 +#: redbot/cogs/permissions/permissions.py:272 #, docstring -msgid "Update rules for this server with a YAML file.\n\n" -" This won't touch any rules not specified in the YAML\n" -" file.\n" -" " +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:283 +#: redbot/cogs/permissions/permissions.py:288 #, docstring -msgid "Add a global rule to a command.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:299 -#: redbot/cogs/permissions/permissions.py:326 +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 msgid "Rule added." msgstr "" -#: redbot/cogs/permissions/permissions.py:311 +#: redbot/cogs/permissions/permissions.py:316 #, docstring -msgid "Add a rule to a command in this server.\n\n" -" `` should be one of \"allow\" or \"deny\".\n\n" -" `` is the cog or command to add the rule to.\n" -" This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:336 +#: redbot/cogs/permissions/permissions.py:342 #, docstring -msgid "Remove a global rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel, role or server the rule\n" -" is for.\n" -" " +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:347 -#: redbot/cogs/permissions/permissions.py:369 +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 msgid "Rule removed." msgstr "" -#: redbot/cogs/permissions/permissions.py:359 +#: redbot/cogs/permissions/permissions.py:362 #, docstring -msgid "Remove a server rule from a command.\n\n" -" `` is the cog or command to remove the rule\n" -" from. This is case sensitive.\n\n" -" `` is the user, channel or role the rule is for.\n" -" " +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:377 +#: redbot/cogs/permissions/permissions.py:381 #, docstring -msgid "Set the default rule for a command in this server.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:393 -#: redbot/cogs/permissions/permissions.py:414 +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 msgid "Default set." msgstr "" -#: redbot/cogs/permissions/permissions.py:400 +#: redbot/cogs/permissions/permissions.py:404 #, docstring -msgid "Set the default global rule for a command.\n\n" -" This is the rule a command will default to when no other rule\n" -" is found.\n\n" -" `` should be one of \"allow\", \"deny\" or \"clear\".\n" -" \"clear\" will reset the default rule.\n\n" -" `` is the cog or command to set the default\n" -" rule for. This is case sensitive.\n" -" " +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " msgstr "" -#: redbot/cogs/permissions/permissions.py:419 +#: redbot/cogs/permissions/permissions.py:423 #, docstring msgid "Reset all global rules." msgstr "" -#: redbot/cogs/permissions/permissions.py:429 +#: redbot/cogs/permissions/permissions.py:433 #, docstring msgid "Reset all rules in this server." msgstr "" -#: redbot/cogs/permissions/permissions.py:516 +#: redbot/cogs/permissions/permissions.py:526 msgid "You must upload a file." msgstr "" -#: redbot/cogs/permissions/permissions.py:522 +#: redbot/cogs/permissions/permissions.py:532 msgid "Invalid syntax: " msgstr "" -#: redbot/cogs/permissions/permissions.py:525 +#: redbot/cogs/permissions/permissions.py:535 msgid "Your YAML file did not match the schema: " msgstr "" -#: redbot/cogs/permissions/permissions.py:528 +#: redbot/cogs/permissions/permissions.py:538 msgid "Rules set." msgstr "" -#: redbot/cogs/permissions/permissions.py:572 +#: redbot/cogs/permissions/permissions.py:582 msgid "Are you sure?" msgstr "" -#: redbot/cogs/permissions/permissions.py:579 -#: redbot/cogs/permissions/permissions.py:592 +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 msgid "Response timed out." msgstr "" -#: redbot/cogs/permissions/permissions.py:587 +#: redbot/cogs/permissions/permissions.py:597 msgid "Are you sure? (y/n)" msgstr "" -#: redbot/cogs/permissions/permissions.py:598 +#: redbot/cogs/permissions/permissions.py:608 msgid "Action cancelled." msgstr "" diff --git a/redbot/cogs/permissions/locales/zh-TW.po b/redbot/cogs/permissions/locales/zh-TW.po new file mode 100644 index 000000000..7184a6aad --- /dev/null +++ b/redbot/cogs/permissions/locales/zh-TW.po @@ -0,0 +1,244 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Chinese Traditional\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /cogs/permissions/locales/messages.pot\n" +"Language: zh_TW\n" + +#: redbot/cogs/permissions/converters.py:64 +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a server, channel, user or role which the bot can see." +msgstr "" + +#: redbot/cogs/permissions/converters.py:73 +msgid "\\\"{arg}\\\" does not refer to a unique server, channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgstr "" + +#: redbot/cogs/permissions/converters.py:116 +msgid "\\\"{arg}\\\" was not found. It must be the ID, mention, or name of a channel, user or role in this server." +msgstr "" + +#: redbot/cogs/permissions/converters.py:125 +msgid "\\\"{arg}\\\" does not refer to a unique channel, user or role. Please use the ID for whatever/whoever you're trying to specify, or mention it/them." +msgstr "" + +#: redbot/cogs/permissions/converters.py:148 +msgid "Cog or command \\\"{name}\\\" not found. Please note that this is case sensitive." +msgstr "" + +#: redbot/cogs/permissions/converters.py:161 +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\"" +msgstr "" + +#: redbot/cogs/permissions/converters.py:174 +msgid "\\\"{arg}\\\" is not a valid rule. Valid rules are \\\"allow\\\" or \\\"deny\\\", or \\\"clear\\\" to remove the rule" +msgstr "" + +#: redbot/cogs/permissions/permissions.py:46 +#: redbot/cogs/permissions/permissions.py:60 +msgid "Rules must be either `true` or `false`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:49 +msgid "Keys under command names must be IDs (numbers) or `default`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:53 +msgid "Keys under `COMMAND` must be command names (strings)." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:64 +msgid "Keys under cog names must be IDs or `default`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:68 +msgid "Keys under `COG` must be cog names (strings)." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:72 +msgid "Top-level keys must be either `COG` or `COMMAND`." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:82 +#, docstring +msgid "Customise permissions for commands and cogs." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:113 +#, docstring +msgid "Command permission management tools." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:118 +#, docstring +msgid "Explain how permissions works." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:121 +msgid "This cog extends the default permission model of the bot. By default, many commands are restricted based on what the command can do.\\nThis cog allows you to refine some of those restrictions. You can allow wider or narrower access to most commands using it. You cannot, however, change the restrictions on owner-only commands.\\n\\nWhen additional rules are set using this cog, those rules will be checked prior to checking for the default restrictions of the command.\\nGlobal rules (set by the owner) are checked first, then rules set for servers. If multiple global or server rules apply to the case, the order they are checked is:\\n 1. Rules about a user.\\n 2. Rules about the voice channel a user is in.\\n 3. Rules about the text channel a command was issued in.\\n 4. Rules about a role the user has (The highest role they have with a rule will be used).\\n 5. Rules about the server a user is in (Global rules only).\\n\\nFor more details, please read the [official documentation](https://red-discordbot.readthedocs.io/en/v3-develop/cog_permissions.html)." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:147 +#, docstring +msgid "Check if a user can run a command.\\n\\n This will take the current context into account, such as the\\n server and text channel.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:162 +msgid "No such command" +msgstr "" + +#: redbot/cogs/permissions/permissions.py:173 +msgid "That user can run the specified command." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:175 +msgid "That user can not run the specified command." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:182 +#, docstring +msgid "Manage permissions with YAML files." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:186 +msgid "Example YAML for setting rules:\\n" +msgstr "" + +#: redbot/cogs/permissions/permissions.py:208 +#, docstring +msgid "Set global rules with a YAML file.\\n\\n **WARNING**: This will override reset *all* global rules\\n to the rules specified in the uploaded file.\\n\\n This does not validate the names of commands and cogs before\\n setting the new rules.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:222 +#, docstring +msgid "Set rules for this server with a YAML file.\\n\\n **WARNING**: This will override reset *all* rules in this\\n server to the rules specified in the uploaded file.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:232 +#, docstring +msgid "Get a YAML file detailing all global rules." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:237 +#: redbot/cogs/permissions/permissions.py:252 +msgid "I'm not allowed to DM you." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:239 +#: redbot/cogs/permissions/permissions.py:254 +msgid "I've just sent the file to you via DM." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:247 +#, docstring +msgid "Get a YAML file detailing all rules in this server." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:261 +#, docstring +msgid "Update global rules with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:272 +#, docstring +msgid "Update rules for this server with a YAML file.\\n\\n This won't touch any rules not specified in the YAML\\n file.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:288 +#, docstring +msgid "Add a global rule to a command.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:304 +#: redbot/cogs/permissions/permissions.py:332 +msgid "Rule added." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:316 +#, docstring +msgid "Add a rule to a command in this server.\\n\\n `` should be one of \\\"allow\\\" or \\\"deny\\\".\\n\\n `` is the cog or command to add the rule to.\\n This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:342 +#, docstring +msgid "Remove a global rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:351 +#: redbot/cogs/permissions/permissions.py:373 +msgid "Rule removed." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:362 +#, docstring +msgid "Remove a server rule from a command.\\n\\n `` is the cog or command to remove the rule\\n from. This is case sensitive.\\n\\n `` is one or more users, channels or roles the rule is for.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:381 +#, docstring +msgid "Set the default rule for a command in this server.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:397 +#: redbot/cogs/permissions/permissions.py:418 +msgid "Default set." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:404 +#, docstring +msgid "Set the default global rule for a command.\\n\\n This is the rule a command will default to when no other rule\\n is found.\\n\\n `` should be one of \\\"allow\\\", \\\"deny\\\" or \\\"clear\\\".\\n \\\"clear\\\" will reset the default rule.\\n\\n `` is the cog or command to set the default\\n rule for. This is case sensitive.\\n " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:423 +#, docstring +msgid "Reset all global rules." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:433 +#, docstring +msgid "Reset all rules in this server." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:526 +msgid "You must upload a file." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:532 +msgid "Invalid syntax: " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:535 +msgid "Your YAML file did not match the schema: " +msgstr "" + +#: redbot/cogs/permissions/permissions.py:538 +msgid "Rules set." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:582 +msgid "Are you sure?" +msgstr "" + +#: redbot/cogs/permissions/permissions.py:589 +#: redbot/cogs/permissions/permissions.py:602 +msgid "Response timed out." +msgstr "" + +#: redbot/cogs/permissions/permissions.py:597 +msgid "Are you sure? (y/n)" +msgstr "" + +#: redbot/cogs/permissions/permissions.py:608 +msgid "Action cancelled." +msgstr "" + diff --git a/redbot/cogs/reports/locales/ar-SA.po b/redbot/cogs/reports/locales/ar-SA.po index c9f3a1ae9..5eba3db5c 100644 --- a/redbot/cogs/reports/locales/ar-SA.po +++ b/redbot/cogs/reports/locales/ar-SA.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: ar_SA\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." msgstr "" -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." msgstr "" -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." msgstr "" -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." msgstr "" -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" msgstr "" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." msgstr "" -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." msgstr "" -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" msgstr "" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" msgstr "" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" msgstr "" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." msgstr "" -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" msgstr "" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." msgstr "" -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." msgstr "" -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:271 +#: redbot/cogs/reports/reports.py:268 msgid "There was an error sending your report, please contact a server admin." msgstr "" -#: redbot/cogs/reports/reports.py:274 +#: redbot/cogs/reports/reports.py:271 msgid "Your report was submitted. (Ticket #{})" msgstr "" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" msgstr "" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" msgstr "" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" msgstr "" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." msgstr "" -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." msgstr "" -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." msgstr "" -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." msgstr "" diff --git a/redbot/cogs/reports/locales/bg-BG.po b/redbot/cogs/reports/locales/bg-BG.po index b10dc7017..7ab9cbf26 100644 --- a/redbot/cogs/reports/locales/bg-BG.po +++ b/redbot/cogs/reports/locales/bg-BG.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Bulgarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: bg_BG\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." msgstr "" -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." msgstr "" -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." msgstr "" -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." msgstr "" -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" msgstr "" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." msgstr "" -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." msgstr "" -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" msgstr "" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" msgstr "" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" msgstr "" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." msgstr "" -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" msgstr "" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." msgstr "" -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." msgstr "" -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:271 +#: redbot/cogs/reports/reports.py:268 msgid "There was an error sending your report, please contact a server admin." msgstr "" -#: redbot/cogs/reports/reports.py:274 +#: redbot/cogs/reports/reports.py:271 msgid "Your report was submitted. (Ticket #{})" msgstr "" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" msgstr "" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" msgstr "" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" msgstr "" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." msgstr "" -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." msgstr "" -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." msgstr "" -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." msgstr "" diff --git a/redbot/cogs/reports/locales/cs-CZ.po b/redbot/cogs/reports/locales/cs-CZ.po new file mode 100644 index 000000000..de29823dc --- /dev/null +++ b/redbot/cogs/reports/locales/cs-CZ.po @@ -0,0 +1,147 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: cs\n" +"X-Crowdin-File: /cogs/reports/locales/messages.pot\n" +"Language: cs_CZ\n" + +#: redbot/cogs/reports/reports.py:64 +#, docstring +msgid "Manage Reports." +msgstr "" + +#: redbot/cogs/reports/reports.py:70 +#, docstring +msgid "Set the channel where reports will be sent." +msgstr "" + +#: redbot/cogs/reports/reports.py:72 +msgid "The report channel has been set." +msgstr "" + +#: redbot/cogs/reports/reports.py:77 +#, docstring +msgid "Enable or Disable reporting for this server." +msgstr "" + +#: redbot/cogs/reports/reports.py:82 +msgid "Reporting is now enabled" +msgstr "" + +#: redbot/cogs/reports/reports.py:84 +msgid "Reporting is now disabled." +msgstr "" + +#: redbot/cogs/reports/reports.py:143 +msgid "You took too long to select. Try again later." +msgstr "" + +#: redbot/cogs/reports/reports.py:150 +msgid "That wasn't a valid choice." +msgstr "" + +#: redbot/cogs/reports/reports.py:173 +msgid "Report from {author}{maybe_nick}" +msgstr "" + +#: redbot/cogs/reports/reports.py:178 +msgid "Report #{}" +msgstr "" + +#: redbot/cogs/reports/reports.py:182 +msgid "Report from {author.mention} (Ticket #{number})" +msgstr "" + +#: redbot/cogs/reports/reports.py:201 +#, docstring +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " +msgstr "" + +#: redbot/cogs/reports/reports.py:210 +msgid "Select a server to make a report in by number." +msgstr "" + +#: redbot/cogs/reports/reports.py:216 +msgid "Reporting has not been enabled for this server" +msgstr "" + +#: redbot/cogs/reports/reports.py:223 +msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." +msgstr "" + +#: redbot/cogs/reports/reports.py:231 +msgid "Please finish making your prior report before trying to make an additional one!" +msgstr "" + +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" +msgstr "" + +#: redbot/cogs/reports/reports.py:252 +msgid "This requires DMs enabled." +msgstr "" + +#: redbot/cogs/reports/reports.py:261 +msgid "You took too long. Try again later." +msgstr "" + +#: redbot/cogs/reports/reports.py:268 +msgid "There was an error sending your report, please contact a server admin." +msgstr "" + +#: redbot/cogs/reports/reports.py:271 +msgid "Your report was submitted. (Ticket #{})" +msgstr "" + +#: redbot/cogs/reports/reports.py:304 +msgid "{closer} has closed the correspondence" +msgstr "" + +#: redbot/cogs/reports/reports.py:311 +msgid "Re: ticket# {1} in {0.name}" +msgstr "" + +#: redbot/cogs/reports/reports.py:321 +#, docstring +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " +msgstr "" + +#: redbot/cogs/reports/reports.py:335 +msgid "That ticket doesn't seem to exist" +msgstr "" + +#: redbot/cogs/reports/reports.py:338 +msgid "That user isn't here anymore." +msgstr "" + +#: redbot/cogs/reports/reports.py:344 +msgid "Either you or the user you are trying to reach already has an open communication." +msgstr "" + +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." +msgstr "" + +#: redbot/cogs/reports/reports.py:361 +msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." +msgstr "" + +#: redbot/cogs/reports/reports.py:370 +msgid "That user has DMs disabled." +msgstr "" + +#: redbot/cogs/reports/reports.py:374 +msgid "You have opened a 2-way communication about ticket number {ticket_number}." +msgstr "" + diff --git a/redbot/cogs/reports/locales/da-DK.po b/redbot/cogs/reports/locales/da-DK.po index cb0474ca2..5532d2cf3 100644 --- a/redbot/cogs/reports/locales/da-DK.po +++ b/redbot/cogs/reports/locales/da-DK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: da_DK\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." msgstr "" -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." msgstr "" -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." msgstr "" -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." msgstr "" -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" msgstr "" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." msgstr "" -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." msgstr "" -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" msgstr "" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" msgstr "" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" msgstr "" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." msgstr "" -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" msgstr "" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." msgstr "" -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." msgstr "" -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:271 +#: redbot/cogs/reports/reports.py:268 msgid "There was an error sending your report, please contact a server admin." msgstr "" -#: redbot/cogs/reports/reports.py:274 +#: redbot/cogs/reports/reports.py:271 msgid "Your report was submitted. (Ticket #{})" msgstr "" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" msgstr "" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" msgstr "" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" msgstr "" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." msgstr "" -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." msgstr "" -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." msgstr "" -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." msgstr "" diff --git a/redbot/cogs/reports/locales/de-DE.po b/redbot/cogs/reports/locales/de-DE.po index 7c3e59e99..b85a87d1c 100644 --- a/redbot/cogs/reports/locales/de-DE.po +++ b/redbot/cogs/reports/locales/de-DE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: de_DE\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." -msgstr "" +msgstr "Berichte verwalten." -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." -msgstr "" +msgstr "Lege den Kanal fest, in dem Berichte gesendet werden." -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." -msgstr "" +msgstr "Der Kanal für Berichte wurde festgelegt." -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." -msgstr "" +msgstr "Aktiviere oder deaktiviere Berichterstattung für diesen Server." -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" -msgstr "" +msgstr "Berichterstattung ist jetzt aktiviert." -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." -msgstr "" +msgstr "Berichterstattung ist jetzt deaktiviert." -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." -msgstr "" +msgstr "Du hast zu lange gebraucht eine Auswahl zu treffen. Bitte später erneut versuchen." -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." -msgstr "" +msgstr "Das war keine valide Auswahl." -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" -msgstr "" +msgstr "Bericht von {author}{maybe_nick}" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" -msgstr "" +msgstr "Bericht #{}" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" -msgstr "" +msgstr "Bericht von {author.mention} (Ticket #{number})" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." -msgstr "" +msgstr "Server auswählen, in dem ein Bericht nach Nummer erstellt wird." -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" -msgstr "" +msgstr "Berichterstattung wurde für diesen Server nicht aktiviert" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." -msgstr "" +msgstr "Du hast zu viele Berichte in kurzer Zeit gesendet. Bitte kontaktiere in dringenden Fällen einen Server Administrator oder warte und versuche es später erneut." -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" +msgstr "Bitte schliesse deinen vorherigen Bericht ab bevor du versuchst einen weiteren zu erstellen!" + +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" -msgstr "" - -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." -msgstr "" +msgstr "Dies erfordert aktivierte Direktnachrichten." -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." -msgstr "" +msgstr "Du hast zu lange gebraucht. Versuche es später erneut." + +#: redbot/cogs/reports/reports.py:268 +msgid "There was an error sending your report, please contact a server admin." +msgstr "Beim Abschicken deines Berichts trat ein Fehler auf. Bitte kontaktiere einen Server Administrator." #: redbot/cogs/reports/reports.py:271 -msgid "There was an error sending your report, please contact a server admin." -msgstr "" - -#: redbot/cogs/reports/reports.py:274 msgid "Your report was submitted. (Ticket #{})" -msgstr "" +msgstr "Dein Bericht wurde eingereicht. (Ticket #{})" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" -msgstr "" +msgstr "{closer} hat die Korrespondenz abgeschlossen" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" -msgstr "" +msgstr "Re: Ticket# {1} in {0.name}" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" -msgstr "" +msgstr "Dieses Ticket scheint nicht zu existieren" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." -msgstr "" +msgstr "Dieser Benutzer ist nicht mehr hier." -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." +msgstr "Zwischen dir oder dem Benutzer, den du versuchst zu erreichen, besteht bereits eine offene Kommunikation." + +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." -msgstr "" - -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." -msgstr "" +msgstr "Ein Moderator des Servers `{guild.name}` hat eine zwei-wege Kommunikation bezüglich Ticket Nummer {ticket_number} gestartet." -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." -msgstr "Dieser Benutzer hat die DMs deaktiviert." +msgstr "Dieser Benutzer hat Direktnachrichten deaktiviert." -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." -msgstr "" +msgstr "Du hast eine zwei-wege Kommunikation bezüglich Ticket Nummer {ticket_number} gestartet." diff --git a/redbot/cogs/reports/locales/el-GR.po b/redbot/cogs/reports/locales/el-GR.po index b70635d4b..f54ff35e7 100644 --- a/redbot/cogs/reports/locales/el-GR.po +++ b/redbot/cogs/reports/locales/el-GR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: el_GR\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." msgstr "" -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." msgstr "" -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." msgstr "" -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." msgstr "" -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" msgstr "" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." msgstr "" -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." msgstr "" -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" msgstr "" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" msgstr "" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" msgstr "" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." msgstr "" -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" msgstr "" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." msgstr "" -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." msgstr "" -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:271 +#: redbot/cogs/reports/reports.py:268 msgid "There was an error sending your report, please contact a server admin." msgstr "" -#: redbot/cogs/reports/reports.py:274 +#: redbot/cogs/reports/reports.py:271 msgid "Your report was submitted. (Ticket #{})" msgstr "" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" msgstr "" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" msgstr "" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" msgstr "" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." msgstr "" -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." msgstr "" -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." msgstr "" -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." msgstr "" diff --git a/redbot/cogs/reports/locales/en-PT.po b/redbot/cogs/reports/locales/en-PT.po index 09f7d7218..58b29f0c0 100644 --- a/redbot/cogs/reports/locales/en-PT.po +++ b/redbot/cogs/reports/locales/en-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Pirate English\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: en_PT\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." msgstr "" -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." msgstr "" -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." msgstr "" -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." msgstr "" -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" msgstr "" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." msgstr "" -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." msgstr "" -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" msgstr "" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" msgstr "" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" msgstr "" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." msgstr "" -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" msgstr "" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." msgstr "" -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." msgstr "" -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:271 +#: redbot/cogs/reports/reports.py:268 msgid "There was an error sending your report, please contact a server admin." msgstr "" -#: redbot/cogs/reports/reports.py:274 +#: redbot/cogs/reports/reports.py:271 msgid "Your report was submitted. (Ticket #{})" msgstr "" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" msgstr "" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" msgstr "" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" msgstr "" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." msgstr "" -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." msgstr "" -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." msgstr "" -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." msgstr "" diff --git a/redbot/cogs/reports/locales/es-ES.po b/redbot/cogs/reports/locales/es-ES.po index d562afab2..fc3c67af2 100644 --- a/redbot/cogs/reports/locales/es-ES.po +++ b/redbot/cogs/reports/locales/es-ES.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: es_ES\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." msgstr "" -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." msgstr "" -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." msgstr "" -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." msgstr "" -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" msgstr "" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." msgstr "" -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." -msgstr "" +msgstr "Esa no era una opción válida." -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" msgstr "" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" msgstr "" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" msgstr "" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." msgstr "" -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" msgstr "" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." msgstr "" -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." msgstr "" -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:271 +#: redbot/cogs/reports/reports.py:268 msgid "There was an error sending your report, please contact a server admin." msgstr "" -#: redbot/cogs/reports/reports.py:274 +#: redbot/cogs/reports/reports.py:271 msgid "Your report was submitted. (Ticket #{})" msgstr "" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" msgstr "" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" msgstr "" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" msgstr "" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." msgstr "" -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." msgstr "" -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." msgstr "" -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." msgstr "" diff --git a/redbot/cogs/reports/locales/fi-FI.po b/redbot/cogs/reports/locales/fi-FI.po index 0f58fab0c..19f6fdb3f 100644 --- a/redbot/cogs/reports/locales/fi-FI.po +++ b/redbot/cogs/reports/locales/fi-FI.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: fi_FI\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." msgstr "" -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." msgstr "" -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." msgstr "" -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." msgstr "" -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" msgstr "" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." msgstr "" -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." msgstr "" -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" msgstr "" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" msgstr "" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" msgstr "" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." msgstr "" -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" msgstr "" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." msgstr "" -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." msgstr "" -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:271 +#: redbot/cogs/reports/reports.py:268 msgid "There was an error sending your report, please contact a server admin." msgstr "" -#: redbot/cogs/reports/reports.py:274 +#: redbot/cogs/reports/reports.py:271 msgid "Your report was submitted. (Ticket #{})" msgstr "" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" msgstr "" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" msgstr "" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" msgstr "" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." msgstr "" -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." msgstr "" -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." msgstr "" -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." msgstr "" diff --git a/redbot/cogs/reports/locales/fr-FR.po b/redbot/cogs/reports/locales/fr-FR.po index 812bb3053..7ffd8b1f0 100644 --- a/redbot/cogs/reports/locales/fr-FR.po +++ b/redbot/cogs/reports/locales/fr-FR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: fr_FR\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." -msgstr "" +msgstr "Gérer les rapports." -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." -msgstr "" +msgstr "Définir le salon où les rapports seront envoyés." -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." -msgstr "" +msgstr "Le salon des rapports a été défini." -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." -msgstr "" +msgstr "Activer ou désactiver les rapports pour ce serveur." -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" -msgstr "" +msgstr "Les rapports sont maintenant activés" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." -msgstr "" +msgstr "Les rapports sont maintenant déactivés." -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." -msgstr "" +msgstr "Vous avez pris trop de temps pour sélectionner. Réessayez plus tard." -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." -msgstr "" +msgstr "Ce n’était pas un choix valide." -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" -msgstr "" +msgstr "Rapport de {author}{maybe_nick}" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" -msgstr "" +msgstr "Rapport #{}" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" -msgstr "" +msgstr "Rapport de {author.mention} (Ticket #{number})" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." -msgstr "" +msgstr "Sélectionnez un serveur pour faire un rapport par numéro." -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" -msgstr "" +msgstr "Les rapports n'ont pas été activés pour ce serveur" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." -msgstr "" +msgstr "Vous avez envoyé trop de rapports récemment. Veuillez contacter un administrateur du serveur si c'est une question importante, ou veuillez attendre et réessayer plus tard." -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" +msgstr "Veuillez finir de faire votre rapport antérieur avant d'essayer d'en faire un autre !" + +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" -msgstr "" - -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." -msgstr "" +msgstr "Cela nécessite l'activation des MP." -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." -msgstr "" +msgstr "Vous avez pris trop de temps. Réessayez plus tard." + +#: redbot/cogs/reports/reports.py:268 +msgid "There was an error sending your report, please contact a server admin." +msgstr "Il y a eu une erreur lors de l'envoi de votre rapport, veuillez contacter un administrateur du serveur." #: redbot/cogs/reports/reports.py:271 -msgid "There was an error sending your report, please contact a server admin." -msgstr "" - -#: redbot/cogs/reports/reports.py:274 msgid "Your report was submitted. (Ticket #{})" -msgstr "" +msgstr "Votre rapport a été soumis. (Ticket #{})" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" -msgstr "" +msgstr "{closer} a fermé la correspondance" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" -msgstr "" +msgstr "Re : ticket# {1} dans {0.name}" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" -msgstr "" +msgstr "Ce ticket ne semble pas exister" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." -msgstr "" +msgstr "Cet utilisateur n'est plus là." -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." +msgstr "Soit vous, soit l'utilisateur que vous essayez d'atteindre a déjà une communication ouverte." + +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." -msgstr "" - -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." -msgstr "" +msgstr "Un modérateur dans le serveur `{guild.name}` a ouvert une communication à 2 sens à propos du numéro de ticket {ticket_number}." -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." -msgstr "" +msgstr "Cet utilisateur a ses MP désactivés." -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." -msgstr "" +msgstr "Vous avez ouvert une communication à deux sens sur le numéro de ticket {ticket_number}." diff --git a/redbot/cogs/reports/locales/hu-HU.po b/redbot/cogs/reports/locales/hu-HU.po index 809d4c3b9..0b9902586 100644 --- a/redbot/cogs/reports/locales/hu-HU.po +++ b/redbot/cogs/reports/locales/hu-HU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: hu_HU\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." msgstr "" -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." msgstr "" -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." msgstr "" -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." msgstr "" -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" msgstr "" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." msgstr "" -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." msgstr "" -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" msgstr "" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" msgstr "" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" msgstr "" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." msgstr "" -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" msgstr "" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." msgstr "" -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." msgstr "" -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:271 +#: redbot/cogs/reports/reports.py:268 msgid "There was an error sending your report, please contact a server admin." msgstr "" -#: redbot/cogs/reports/reports.py:274 +#: redbot/cogs/reports/reports.py:271 msgid "Your report was submitted. (Ticket #{})" msgstr "" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" msgstr "" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" msgstr "" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" msgstr "" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." msgstr "" -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." msgstr "" -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." msgstr "" -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." msgstr "" diff --git a/redbot/cogs/reports/locales/id-ID.po b/redbot/cogs/reports/locales/id-ID.po index 9bbc2a3d0..b0420ede9 100644 --- a/redbot/cogs/reports/locales/id-ID.po +++ b/redbot/cogs/reports/locales/id-ID.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: id_ID\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." msgstr "" -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." msgstr "" -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." msgstr "" -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." msgstr "" -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" msgstr "" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." msgstr "" -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." msgstr "" -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" msgstr "" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" msgstr "" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" msgstr "" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." msgstr "" -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" msgstr "" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." msgstr "" -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." msgstr "" -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:271 +#: redbot/cogs/reports/reports.py:268 msgid "There was an error sending your report, please contact a server admin." msgstr "" -#: redbot/cogs/reports/reports.py:274 +#: redbot/cogs/reports/reports.py:271 msgid "Your report was submitted. (Ticket #{})" msgstr "" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" msgstr "" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" msgstr "" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" msgstr "" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." msgstr "" -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." msgstr "" -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." msgstr "" -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." msgstr "" diff --git a/redbot/cogs/reports/locales/it-IT.po b/redbot/cogs/reports/locales/it-IT.po index f783f2f11..312d07ab3 100644 --- a/redbot/cogs/reports/locales/it-IT.po +++ b/redbot/cogs/reports/locales/it-IT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: it_IT\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." msgstr "" -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." msgstr "" -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." msgstr "" -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." msgstr "" -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" msgstr "" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." msgstr "" -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." msgstr "" -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" msgstr "" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" msgstr "" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" msgstr "" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." msgstr "" -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" msgstr "" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." msgstr "" -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." msgstr "" -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:271 +#: redbot/cogs/reports/reports.py:268 msgid "There was an error sending your report, please contact a server admin." msgstr "" -#: redbot/cogs/reports/reports.py:274 +#: redbot/cogs/reports/reports.py:271 msgid "Your report was submitted. (Ticket #{})" msgstr "" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" msgstr "" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" msgstr "" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" msgstr "" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." msgstr "" -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." msgstr "" -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." msgstr "" -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." msgstr "" diff --git a/redbot/cogs/reports/locales/ja-JP.po b/redbot/cogs/reports/locales/ja-JP.po index 1e8cec0c1..797e0a03f 100644 --- a/redbot/cogs/reports/locales/ja-JP.po +++ b/redbot/cogs/reports/locales/ja-JP.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: ja_JP\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." msgstr "" -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." msgstr "" -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." msgstr "" -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." msgstr "" -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" msgstr "" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." msgstr "" -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." msgstr "" -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" msgstr "" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" msgstr "" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" msgstr "" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." msgstr "" -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" msgstr "" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." msgstr "" -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." msgstr "" -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:271 +#: redbot/cogs/reports/reports.py:268 msgid "There was an error sending your report, please contact a server admin." msgstr "" -#: redbot/cogs/reports/reports.py:274 +#: redbot/cogs/reports/reports.py:271 msgid "Your report was submitted. (Ticket #{})" msgstr "" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" msgstr "" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" msgstr "" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" msgstr "" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." msgstr "" -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." msgstr "" -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." msgstr "" -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." msgstr "" diff --git a/redbot/cogs/reports/locales/ko-KR.po b/redbot/cogs/reports/locales/ko-KR.po index 7d95b4f0f..f5455c3ce 100644 --- a/redbot/cogs/reports/locales/ko-KR.po +++ b/redbot/cogs/reports/locales/ko-KR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: ko_KR\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." msgstr "" -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." msgstr "" -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." msgstr "" -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." msgstr "" -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" msgstr "" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." msgstr "" -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." msgstr "" -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" msgstr "" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" msgstr "" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" msgstr "" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." msgstr "" -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" msgstr "" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." msgstr "" -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." msgstr "" -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:271 +#: redbot/cogs/reports/reports.py:268 msgid "There was an error sending your report, please contact a server admin." msgstr "" -#: redbot/cogs/reports/reports.py:274 +#: redbot/cogs/reports/reports.py:271 msgid "Your report was submitted. (Ticket #{})" msgstr "" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" msgstr "" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" msgstr "" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" msgstr "" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." msgstr "" -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." msgstr "" -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." msgstr "" -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." msgstr "" diff --git a/redbot/cogs/reports/locales/lol-US.po b/redbot/cogs/reports/locales/lol-US.po index d9bb01350..706ff5392 100644 --- a/redbot/cogs/reports/locales/lol-US.po +++ b/redbot/cogs/reports/locales/lol-US.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: LOLCAT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: lol_US\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." msgstr "" -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." msgstr "" -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." msgstr "" -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." msgstr "" -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" msgstr "" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." msgstr "" -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." msgstr "" -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" msgstr "" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" msgstr "" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" msgstr "" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." msgstr "" -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" msgstr "" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." msgstr "" -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." msgstr "" -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:271 +#: redbot/cogs/reports/reports.py:268 msgid "There was an error sending your report, please contact a server admin." msgstr "" -#: redbot/cogs/reports/reports.py:274 +#: redbot/cogs/reports/reports.py:271 msgid "Your report was submitted. (Ticket #{})" msgstr "" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" msgstr "" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" msgstr "" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" msgstr "" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." msgstr "" -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." msgstr "" -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." msgstr "" -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." msgstr "" diff --git a/redbot/cogs/reports/locales/nl-NL.po b/redbot/cogs/reports/locales/nl-NL.po index 32c5acd4a..5aa428769 100644 --- a/redbot/cogs/reports/locales/nl-NL.po +++ b/redbot/cogs/reports/locales/nl-NL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: nl_NL\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." msgstr "" -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." msgstr "" -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." msgstr "" -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." msgstr "" -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" msgstr "" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." -msgstr "" +msgstr "Rapportage is nu uitgeschakeld." -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." -msgstr "" +msgstr "Dat was geen geldige keuze." -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" msgstr "" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" -msgstr "" +msgstr "Rapport #{}" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" msgstr "" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." msgstr "" -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" msgstr "" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." msgstr "" -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." msgstr "" -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." -msgstr "" +msgstr "Je duurde te lang. Probeer het later opnieuw." -#: redbot/cogs/reports/reports.py:271 +#: redbot/cogs/reports/reports.py:268 msgid "There was an error sending your report, please contact a server admin." msgstr "" -#: redbot/cogs/reports/reports.py:274 +#: redbot/cogs/reports/reports.py:271 msgid "Your report was submitted. (Ticket #{})" msgstr "" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" msgstr "" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" msgstr "" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" msgstr "" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." msgstr "" -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." msgstr "" -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." msgstr "" -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." msgstr "" diff --git a/redbot/cogs/reports/locales/no-NO.po b/redbot/cogs/reports/locales/no-NO.po index 3ed727ef3..f067b25b9 100644 --- a/redbot/cogs/reports/locales/no-NO.po +++ b/redbot/cogs/reports/locales/no-NO.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Norwegian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: no_NO\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." msgstr "" -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." msgstr "" -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." msgstr "" -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." msgstr "" -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" msgstr "" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." msgstr "" -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." msgstr "" -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" msgstr "" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" msgstr "" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" msgstr "" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." msgstr "" -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" msgstr "" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." msgstr "" -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." msgstr "" -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:271 +#: redbot/cogs/reports/reports.py:268 msgid "There was an error sending your report, please contact a server admin." msgstr "" -#: redbot/cogs/reports/reports.py:274 +#: redbot/cogs/reports/reports.py:271 msgid "Your report was submitted. (Ticket #{})" msgstr "" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" msgstr "" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" msgstr "" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" msgstr "" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." msgstr "" -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." msgstr "" -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." msgstr "" -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." msgstr "" diff --git a/redbot/cogs/reports/locales/pl-PL.po b/redbot/cogs/reports/locales/pl-PL.po index 78be50122..7d56db18a 100644 --- a/redbot/cogs/reports/locales/pl-PL.po +++ b/redbot/cogs/reports/locales/pl-PL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: pl_PL\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." msgstr "" -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." msgstr "" -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." msgstr "" -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." msgstr "" -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" msgstr "" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." msgstr "" -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." msgstr "" -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" msgstr "" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" msgstr "" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" msgstr "" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." msgstr "" -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" msgstr "" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." msgstr "" -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." msgstr "" -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:271 +#: redbot/cogs/reports/reports.py:268 msgid "There was an error sending your report, please contact a server admin." msgstr "" -#: redbot/cogs/reports/reports.py:274 +#: redbot/cogs/reports/reports.py:271 msgid "Your report was submitted. (Ticket #{})" msgstr "" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" msgstr "" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" msgstr "" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" msgstr "" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." msgstr "" -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." msgstr "" -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." msgstr "" -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." msgstr "" diff --git a/redbot/cogs/reports/locales/pt-BR.po b/redbot/cogs/reports/locales/pt-BR.po index 06cb6caef..8f16f38c7 100644 --- a/redbot/cogs/reports/locales/pt-BR.po +++ b/redbot/cogs/reports/locales/pt-BR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese, Brazilian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: pt_BR\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." msgstr "" -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." msgstr "" -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." msgstr "" -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." msgstr "" -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" msgstr "" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." msgstr "" -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." msgstr "" -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" msgstr "" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" msgstr "" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" msgstr "" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." msgstr "" -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" msgstr "" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." msgstr "" -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." msgstr "" -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:271 +#: redbot/cogs/reports/reports.py:268 msgid "There was an error sending your report, please contact a server admin." msgstr "" -#: redbot/cogs/reports/reports.py:274 +#: redbot/cogs/reports/reports.py:271 msgid "Your report was submitted. (Ticket #{})" msgstr "" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" msgstr "" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" msgstr "" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" msgstr "" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." msgstr "" -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." msgstr "" -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." msgstr "" -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." msgstr "" diff --git a/redbot/cogs/reports/locales/pt-PT.po b/redbot/cogs/reports/locales/pt-PT.po index 794e60a3c..0118d742a 100644 --- a/redbot/cogs/reports/locales/pt-PT.po +++ b/redbot/cogs/reports/locales/pt-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: pt_PT\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." msgstr "" -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." msgstr "" -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." msgstr "" -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." msgstr "" -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" msgstr "" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." msgstr "" -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." msgstr "" -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" msgstr "" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" msgstr "" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" msgstr "" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." msgstr "" -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" msgstr "" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." msgstr "" -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." msgstr "" -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:271 +#: redbot/cogs/reports/reports.py:268 msgid "There was an error sending your report, please contact a server admin." msgstr "" -#: redbot/cogs/reports/reports.py:274 +#: redbot/cogs/reports/reports.py:271 msgid "Your report was submitted. (Ticket #{})" msgstr "" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" msgstr "" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" msgstr "" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" msgstr "" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." msgstr "" -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." msgstr "" -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." msgstr "" -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." msgstr "" diff --git a/redbot/cogs/reports/locales/ro-RO.po b/redbot/cogs/reports/locales/ro-RO.po new file mode 100644 index 000000000..ffe65d4be --- /dev/null +++ b/redbot/cogs/reports/locales/ro-RO.po @@ -0,0 +1,147 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:09\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Romanian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /cogs/reports/locales/messages.pot\n" +"Language: ro_RO\n" + +#: redbot/cogs/reports/reports.py:64 +#, docstring +msgid "Manage Reports." +msgstr "" + +#: redbot/cogs/reports/reports.py:70 +#, docstring +msgid "Set the channel where reports will be sent." +msgstr "" + +#: redbot/cogs/reports/reports.py:72 +msgid "The report channel has been set." +msgstr "" + +#: redbot/cogs/reports/reports.py:77 +#, docstring +msgid "Enable or Disable reporting for this server." +msgstr "" + +#: redbot/cogs/reports/reports.py:82 +msgid "Reporting is now enabled" +msgstr "" + +#: redbot/cogs/reports/reports.py:84 +msgid "Reporting is now disabled." +msgstr "" + +#: redbot/cogs/reports/reports.py:143 +msgid "You took too long to select. Try again later." +msgstr "" + +#: redbot/cogs/reports/reports.py:150 +msgid "That wasn't a valid choice." +msgstr "" + +#: redbot/cogs/reports/reports.py:173 +msgid "Report from {author}{maybe_nick}" +msgstr "" + +#: redbot/cogs/reports/reports.py:178 +msgid "Report #{}" +msgstr "" + +#: redbot/cogs/reports/reports.py:182 +msgid "Report from {author.mention} (Ticket #{number})" +msgstr "" + +#: redbot/cogs/reports/reports.py:201 +#, docstring +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " +msgstr "" + +#: redbot/cogs/reports/reports.py:210 +msgid "Select a server to make a report in by number." +msgstr "" + +#: redbot/cogs/reports/reports.py:216 +msgid "Reporting has not been enabled for this server" +msgstr "" + +#: redbot/cogs/reports/reports.py:223 +msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." +msgstr "" + +#: redbot/cogs/reports/reports.py:231 +msgid "Please finish making your prior report before trying to make an additional one!" +msgstr "" + +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" +msgstr "" + +#: redbot/cogs/reports/reports.py:252 +msgid "This requires DMs enabled." +msgstr "" + +#: redbot/cogs/reports/reports.py:261 +msgid "You took too long. Try again later." +msgstr "" + +#: redbot/cogs/reports/reports.py:268 +msgid "There was an error sending your report, please contact a server admin." +msgstr "" + +#: redbot/cogs/reports/reports.py:271 +msgid "Your report was submitted. (Ticket #{})" +msgstr "" + +#: redbot/cogs/reports/reports.py:304 +msgid "{closer} has closed the correspondence" +msgstr "" + +#: redbot/cogs/reports/reports.py:311 +msgid "Re: ticket# {1} in {0.name}" +msgstr "" + +#: redbot/cogs/reports/reports.py:321 +#, docstring +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " +msgstr "" + +#: redbot/cogs/reports/reports.py:335 +msgid "That ticket doesn't seem to exist" +msgstr "" + +#: redbot/cogs/reports/reports.py:338 +msgid "That user isn't here anymore." +msgstr "" + +#: redbot/cogs/reports/reports.py:344 +msgid "Either you or the user you are trying to reach already has an open communication." +msgstr "" + +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." +msgstr "" + +#: redbot/cogs/reports/reports.py:361 +msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." +msgstr "" + +#: redbot/cogs/reports/reports.py:370 +msgid "That user has DMs disabled." +msgstr "" + +#: redbot/cogs/reports/reports.py:374 +msgid "You have opened a 2-way communication about ticket number {ticket_number}." +msgstr "" + diff --git a/redbot/cogs/reports/locales/ru-RU.po b/redbot/cogs/reports/locales/ru-RU.po index 1e7ba7e2a..e994d8801 100644 --- a/redbot/cogs/reports/locales/ru-RU.po +++ b/redbot/cogs/reports/locales/ru-RU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 05:52\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: ru_RU\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." -msgstr "" +msgstr "Управление отчетами." -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." -msgstr "" +msgstr "Установить канал, на который будут отправляться отчеты." -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." -msgstr "" +msgstr "Канал отчетов был установлен." -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." -msgstr "" +msgstr "Включить или отключить отчеты для этого сервера." -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" -msgstr "" +msgstr "Отчеты теперь включены" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." -msgstr "" +msgstr "Отчеты теперь отключены." -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." -msgstr "" +msgstr "Вы слишком долго выбирали. Попробуйте позже." -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." -msgstr "" +msgstr "Это был неправильный выбор." -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" -msgstr "" +msgstr "Отчет от {author}{maybe_nick}" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" -msgstr "" +msgstr "Отчет #{}" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" -msgstr "" +msgstr "Отчет от {author.mention} (Тикет #{number})" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." -msgstr "" +msgstr "Выбрать сервер, чтобы сделать отчет по номеру." -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" -msgstr "" +msgstr "Отчеты не были включены для этого сервера" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." -msgstr "" +msgstr "Вы недавно отправили слишком много отчетов. Пожалуйста, свяжитесь с администратором сервера, если это важно, или, пожалуйста, подождите и повторите попытку позже." -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" +msgstr "Пожалуйста, закончите делать свой предыдущий отчет, прежде чем пытаться сделать дополнительный!" + +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" -msgstr "" - -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." -msgstr "" +msgstr "Это требует, чтобы личные сообщения были включены." -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." -msgstr "" +msgstr "Слишком долго. Попробуйте позже." + +#: redbot/cogs/reports/reports.py:268 +msgid "There was an error sending your report, please contact a server admin." +msgstr "При отправке вашего отчета произошла ошибка, обратитесь к администратору сервера." #: redbot/cogs/reports/reports.py:271 -msgid "There was an error sending your report, please contact a server admin." -msgstr "" - -#: redbot/cogs/reports/reports.py:274 msgid "Your report was submitted. (Ticket #{})" -msgstr "" +msgstr "Ваш отчет был отправлен. (Тикет #{})" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" -msgstr "" +msgstr "{closer} закрыл переписку" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" -msgstr "" +msgstr "Re: тикет# {1} в {0.name}" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" -msgstr "" +msgstr "Этот тикет, кажется, не существует" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." -msgstr "" +msgstr "Этого пользователя здесь больше нет." -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." +msgstr "У вас или у пользователя, с которым вы пытаетесь связаться, уже есть открытое общение." + +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." -msgstr "" - -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." -msgstr "" +msgstr "Модератор на сервере `{guild.name}` открыл двустороннее сообщение о номере тикета {ticket_number}." -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." -msgstr "" +msgstr "У этого пользователя отключены личные сообщения." -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." -msgstr "" +msgstr "Вы открыли двустороннее сообщение о номере тикета {ticket_number}." diff --git a/redbot/cogs/reports/locales/sk-SK.po b/redbot/cogs/reports/locales/sk-SK.po index c7c81eca9..a9e7f18c5 100644 --- a/redbot/cogs/reports/locales/sk-SK.po +++ b/redbot/cogs/reports/locales/sk-SK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Slovak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: sk_SK\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." msgstr "" -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." msgstr "" -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." msgstr "" -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." msgstr "" -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" msgstr "" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." msgstr "" -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." msgstr "" -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" msgstr "" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" msgstr "" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" msgstr "" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." msgstr "" -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" msgstr "" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." msgstr "" -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." msgstr "" -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:271 +#: redbot/cogs/reports/reports.py:268 msgid "There was an error sending your report, please contact a server admin." msgstr "" -#: redbot/cogs/reports/reports.py:274 +#: redbot/cogs/reports/reports.py:271 msgid "Your report was submitted. (Ticket #{})" msgstr "" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" msgstr "" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" msgstr "" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" msgstr "" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." msgstr "" -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." msgstr "" -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." msgstr "" -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." msgstr "" diff --git a/redbot/cogs/reports/locales/sv-SE.po b/redbot/cogs/reports/locales/sv-SE.po index b9789013b..c75d546c2 100644 --- a/redbot/cogs/reports/locales/sv-SE.po +++ b/redbot/cogs/reports/locales/sv-SE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: sv_SE\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." msgstr "" -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." msgstr "" -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." msgstr "" -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." msgstr "" -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" msgstr "" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." msgstr "" -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." msgstr "" -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" msgstr "" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" msgstr "" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" msgstr "" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." msgstr "" -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" msgstr "" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." msgstr "" -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." msgstr "" -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:271 +#: redbot/cogs/reports/reports.py:268 msgid "There was an error sending your report, please contact a server admin." msgstr "" -#: redbot/cogs/reports/reports.py:274 +#: redbot/cogs/reports/reports.py:271 msgid "Your report was submitted. (Ticket #{})" msgstr "" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" msgstr "" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" msgstr "" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" msgstr "" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." msgstr "" -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." msgstr "" -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." msgstr "" -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." msgstr "" diff --git a/redbot/cogs/reports/locales/tr-TR.po b/redbot/cogs/reports/locales/tr-TR.po index 998bd0ee7..d85ba3b3c 100644 --- a/redbot/cogs/reports/locales/tr-TR.po +++ b/redbot/cogs/reports/locales/tr-TR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: tr_TR\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." msgstr "" -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." msgstr "" -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." msgstr "" -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." msgstr "" -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" msgstr "" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." msgstr "" -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." msgstr "" -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" msgstr "" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" msgstr "" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" msgstr "" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." msgstr "" -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" msgstr "" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." msgstr "" -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." msgstr "" -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:271 +#: redbot/cogs/reports/reports.py:268 msgid "There was an error sending your report, please contact a server admin." msgstr "" -#: redbot/cogs/reports/reports.py:274 +#: redbot/cogs/reports/reports.py:271 msgid "Your report was submitted. (Ticket #{})" msgstr "" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" msgstr "" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" msgstr "" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" msgstr "" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." msgstr "" -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." msgstr "" -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." msgstr "" -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." msgstr "" diff --git a/redbot/cogs/reports/locales/zh-CN.po b/redbot/cogs/reports/locales/zh-CN.po index 149304c52..0aee8f8b8 100644 --- a/redbot/cogs/reports/locales/zh-CN.po +++ b/redbot/cogs/reports/locales/zh-CN.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,143 +16,132 @@ msgstr "" "X-Crowdin-File: /cogs/reports/locales/messages.pot\n" "Language: zh_CN\n" -#: redbot/cogs/reports/reports.py:63 +#: redbot/cogs/reports/reports.py:64 #, docstring msgid "Manage Reports." msgstr "" -#: redbot/cogs/reports/reports.py:69 +#: redbot/cogs/reports/reports.py:70 #, docstring msgid "Set the channel where reports will be sent." msgstr "" -#: redbot/cogs/reports/reports.py:71 +#: redbot/cogs/reports/reports.py:72 msgid "The report channel has been set." msgstr "" -#: redbot/cogs/reports/reports.py:76 +#: redbot/cogs/reports/reports.py:77 #, docstring msgid "Enable or Disable reporting for this server." msgstr "" -#: redbot/cogs/reports/reports.py:81 +#: redbot/cogs/reports/reports.py:82 msgid "Reporting is now enabled" msgstr "" -#: redbot/cogs/reports/reports.py:83 +#: redbot/cogs/reports/reports.py:84 msgid "Reporting is now disabled." msgstr "" -#: redbot/cogs/reports/reports.py:146 +#: redbot/cogs/reports/reports.py:143 msgid "You took too long to select. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:153 +#: redbot/cogs/reports/reports.py:150 msgid "That wasn't a valid choice." msgstr "" -#: redbot/cogs/reports/reports.py:176 +#: redbot/cogs/reports/reports.py:173 msgid "Report from {author}{maybe_nick}" msgstr "" -#: redbot/cogs/reports/reports.py:181 +#: redbot/cogs/reports/reports.py:178 msgid "Report #{}" msgstr "" -#: redbot/cogs/reports/reports.py:185 +#: redbot/cogs/reports/reports.py:182 msgid "Report from {author.mention} (Ticket #{number})" msgstr "" -#: redbot/cogs/reports/reports.py:204 +#: redbot/cogs/reports/reports.py:201 #, docstring -msgid "Send a report.\n\n" -" Use without arguments for interactive reporting, or do\n" -" `[p]report ` to use it non-interactively.\n" -" " +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:213 +#: redbot/cogs/reports/reports.py:210 msgid "Select a server to make a report in by number." msgstr "" -#: redbot/cogs/reports/reports.py:219 +#: redbot/cogs/reports/reports.py:216 msgid "Reporting has not been enabled for this server" msgstr "" -#: redbot/cogs/reports/reports.py:226 +#: redbot/cogs/reports/reports.py:223 msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." msgstr "" -#: redbot/cogs/reports/reports.py:234 +#: redbot/cogs/reports/reports.py:231 msgid "Please finish making your prior report before trying to make an additional one!" msgstr "" -#: redbot/cogs/reports/reports.py:249 -msgid "Please respond to this message with your Report.\n" -"Your report should be a single message" +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" msgstr "" -#: redbot/cogs/reports/reports.py:255 +#: redbot/cogs/reports/reports.py:252 msgid "This requires DMs enabled." msgstr "" -#: redbot/cogs/reports/reports.py:264 +#: redbot/cogs/reports/reports.py:261 msgid "You took too long. Try again later." msgstr "" -#: redbot/cogs/reports/reports.py:271 +#: redbot/cogs/reports/reports.py:268 msgid "There was an error sending your report, please contact a server admin." msgstr "" -#: redbot/cogs/reports/reports.py:274 +#: redbot/cogs/reports/reports.py:271 msgid "Your report was submitted. (Ticket #{})" msgstr "" -#: redbot/cogs/reports/reports.py:306 +#: redbot/cogs/reports/reports.py:304 msgid "{closer} has closed the correspondence" msgstr "" -#: redbot/cogs/reports/reports.py:312 +#: redbot/cogs/reports/reports.py:311 msgid "Re: ticket# {1} in {0.name}" msgstr "" -#: redbot/cogs/reports/reports.py:322 +#: redbot/cogs/reports/reports.py:321 #, docstring -msgid "Open a message tunnel.\n\n" -" This tunnel will forward things you say in this channel\n" -" to the ticket opener's direct messages.\n\n" -" Tunnels do not persist across bot restarts.\n" -" " +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " msgstr "" -#: redbot/cogs/reports/reports.py:336 +#: redbot/cogs/reports/reports.py:335 msgid "That ticket doesn't seem to exist" msgstr "" -#: redbot/cogs/reports/reports.py:339 +#: redbot/cogs/reports/reports.py:338 msgid "That user isn't here anymore." msgstr "" -#: redbot/cogs/reports/reports.py:345 +#: redbot/cogs/reports/reports.py:344 msgid "Either you or the user you are trying to reach already has an open communication." msgstr "" -#: redbot/cogs/reports/reports.py:351 -msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\n" -"You can close a communication at any point by reacting with the ❎ to the last message recieved.\n" -"Any message succesfully forwarded will be marked with ✅.\n" -"Tunnels are not persistent across bot restarts." +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." msgstr "" -#: redbot/cogs/reports/reports.py:362 +#: redbot/cogs/reports/reports.py:361 msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." msgstr "" -#: redbot/cogs/reports/reports.py:371 +#: redbot/cogs/reports/reports.py:370 msgid "That user has DMs disabled." msgstr "" -#: redbot/cogs/reports/reports.py:375 +#: redbot/cogs/reports/reports.py:374 msgid "You have opened a 2-way communication about ticket number {ticket_number}." msgstr "" diff --git a/redbot/cogs/reports/locales/zh-TW.po b/redbot/cogs/reports/locales/zh-TW.po new file mode 100644 index 000000000..82f6f2ffd --- /dev/null +++ b/redbot/cogs/reports/locales/zh-TW.po @@ -0,0 +1,147 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Chinese Traditional\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /cogs/reports/locales/messages.pot\n" +"Language: zh_TW\n" + +#: redbot/cogs/reports/reports.py:64 +#, docstring +msgid "Manage Reports." +msgstr "管理回報。" + +#: redbot/cogs/reports/reports.py:70 +#, docstring +msgid "Set the channel where reports will be sent." +msgstr "設定回報將會送到哪個頻道。" + +#: redbot/cogs/reports/reports.py:72 +msgid "The report channel has been set." +msgstr "已設定回報頻道。" + +#: redbot/cogs/reports/reports.py:77 +#, docstring +msgid "Enable or Disable reporting for this server." +msgstr "對此伺服器啟用或停用回報系統。" + +#: redbot/cogs/reports/reports.py:82 +msgid "Reporting is now enabled" +msgstr "回報系統已啟用" + +#: redbot/cogs/reports/reports.py:84 +msgid "Reporting is now disabled." +msgstr "回報系統已停用。" + +#: redbot/cogs/reports/reports.py:143 +msgid "You took too long to select. Try again later." +msgstr "您在選擇時使用太多時間。請稍後再試。" + +#: redbot/cogs/reports/reports.py:150 +msgid "That wasn't a valid choice." +msgstr "這並非有效的選擇。" + +#: redbot/cogs/reports/reports.py:173 +msgid "Report from {author}{maybe_nick}" +msgstr "由 {author}{maybe_nick} 提出的回報" + +#: redbot/cogs/reports/reports.py:178 +msgid "Report #{}" +msgstr "回報 #{}" + +#: redbot/cogs/reports/reports.py:182 +msgid "Report from {author.mention} (Ticket #{number})" +msgstr "由 {author.mention} 提出的回報 (回報 #{number})" + +#: redbot/cogs/reports/reports.py:201 +#, docstring +msgid "Send a report.\\n\\n Use without arguments for interactive reporting, or do\\n `[p]report ` to use it non-interactively.\\n " +msgstr "送出回報。\\n\\n 若不帶參數時則啟用互動式回報,或使用\\n `[p]report <文字>` 來非互動式的回報。\\n " + +#: redbot/cogs/reports/reports.py:210 +msgid "Select a server to make a report in by number." +msgstr "" + +#: redbot/cogs/reports/reports.py:216 +msgid "Reporting has not been enabled for this server" +msgstr "" + +#: redbot/cogs/reports/reports.py:223 +msgid "You've sent too many reports recently. Please contact a server admin if this is important matter, or please wait and try again later." +msgstr "" + +#: redbot/cogs/reports/reports.py:231 +msgid "Please finish making your prior report before trying to make an additional one!" +msgstr "" + +#: redbot/cogs/reports/reports.py:246 +msgid "Please respond to this message with your Report.\\nYour report should be a single message" +msgstr "請將回報內容回應於此訊息。\\n您的回報須為單一訊息" + +#: redbot/cogs/reports/reports.py:252 +msgid "This requires DMs enabled." +msgstr "" + +#: redbot/cogs/reports/reports.py:261 +msgid "You took too long. Try again later." +msgstr "" + +#: redbot/cogs/reports/reports.py:268 +msgid "There was an error sending your report, please contact a server admin." +msgstr "" + +#: redbot/cogs/reports/reports.py:271 +msgid "Your report was submitted. (Ticket #{})" +msgstr "您的回報已送出。 (回報 #{})" + +#: redbot/cogs/reports/reports.py:304 +msgid "{closer} has closed the correspondence" +msgstr "{closer} 已結束對話" + +#: redbot/cogs/reports/reports.py:311 +msgid "Re: ticket# {1} in {0.name}" +msgstr "回覆: 回報# {1} 於 {0.name}" + +#: redbot/cogs/reports/reports.py:321 +#, docstring +msgid "Open a message tunnel.\\n\\n This tunnel will forward things you say in this channel\\n to the ticket opener's direct messages.\\n\\n Tunnels do not persist across bot restarts.\\n " +msgstr "" + +#: redbot/cogs/reports/reports.py:335 +msgid "That ticket doesn't seem to exist" +msgstr "" + +#: redbot/cogs/reports/reports.py:338 +msgid "That user isn't here anymore." +msgstr "" + +#: redbot/cogs/reports/reports.py:344 +msgid "Either you or the user you are trying to reach already has an open communication." +msgstr "" + +#: redbot/cogs/reports/reports.py:350 +msgid " Anything you say or upload here (8MB file size limitation on uploads) will be forwarded to them until the communication is closed.\\nYou can close a communication at any point by reacting with the ❎ to the last message recieved.\\nAny message succesfully forwarded will be marked with ✅.\\nTunnels are not persistent across bot restarts." +msgstr " 您所有在此的聊天訊息與上傳的檔案 (最大8MB) 將會轉送到另一方,直到對話結束。\\n您可以在任何時候點選最後一條訊息上的❎來結束對話。\\n任何成功轉送的訊息將會被標示✅。\\n此訊息通道在機器人重開機後會消失。" + +#: redbot/cogs/reports/reports.py:361 +msgid "A moderator in the server `{guild.name}` has opened a 2-way communication about ticket number {ticket_number}." +msgstr "`{guild.name}` 伺服器上的管理員已針對回報編號 {ticket_number} 開啟了雙向聊天通道。" + +#: redbot/cogs/reports/reports.py:370 +msgid "That user has DMs disabled." +msgstr "" + +#: redbot/cogs/reports/reports.py:374 +msgid "You have opened a 2-way communication about ticket number {ticket_number}." +msgstr "您已針對回報編號 {ticket_number} 開啟了雙向聊天通道。" + diff --git a/redbot/cogs/streams/locales/ar-SA.po b/redbot/cogs/streams/locales/ar-SA.po index 8fd8b778b..81f478627 100644 --- a/redbot/cogs/streams/locales/ar-SA.po +++ b/redbot/cogs/streams/locales/ar-SA.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: ar_SA\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "" -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "" -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "" -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "" -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "" -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "" -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "" -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:184 -#, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." msgstr "" -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." msgstr "" -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." msgstr "" -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." msgstr "" -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." msgstr "" -#: redbot/cogs/streams/streams.py:424 +#: redbot/cogs/streams/streams.py:469 #, docstring msgid "Toggle alert deletion for when streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:427 +#: redbot/cogs/streams/streams.py:472 msgid "The notifications will be deleted once streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:429 +#: redbot/cogs/streams/streams.py:474 msgid "Notifications will no longer be deleted." msgstr "" -#: redbot/cogs/streams/streams.py:437 +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 msgid "I'll now send a notification in this channel when {stream.name} is live." msgstr "" -#: redbot/cogs/streams/streams.py:446 +#: redbot/cogs/streams/streams.py:504 msgid "I won't send notifications about {stream.name} in this channel anymore." msgstr "" -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" - -#: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:549 +#: redbot/cogs/streams/streams.py:590 msgid "{stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/bg-BG.po b/redbot/cogs/streams/locales/bg-BG.po index 2771642f3..bbec3e400 100644 --- a/redbot/cogs/streams/locales/bg-BG.po +++ b/redbot/cogs/streams/locales/bg-BG.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Bulgarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: bg_BG\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "" -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "" -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "" -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "" -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "" -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "" -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "" -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:184 -#, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." msgstr "" -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." msgstr "" -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." msgstr "" -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." msgstr "" -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." msgstr "" -#: redbot/cogs/streams/streams.py:424 +#: redbot/cogs/streams/streams.py:469 #, docstring msgid "Toggle alert deletion for when streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:427 +#: redbot/cogs/streams/streams.py:472 msgid "The notifications will be deleted once streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:429 +#: redbot/cogs/streams/streams.py:474 msgid "Notifications will no longer be deleted." msgstr "" -#: redbot/cogs/streams/streams.py:437 +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 msgid "I'll now send a notification in this channel when {stream.name} is live." msgstr "" -#: redbot/cogs/streams/streams.py:446 +#: redbot/cogs/streams/streams.py:504 msgid "I won't send notifications about {stream.name} in this channel anymore." msgstr "" -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" - -#: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:549 +#: redbot/cogs/streams/streams.py:590 msgid "{stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/cs-CZ.po b/redbot/cogs/streams/locales/cs-CZ.po new file mode 100644 index 000000000..fc7afebf9 --- /dev/null +++ b/redbot/cogs/streams/locales/cs-CZ.po @@ -0,0 +1,300 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: cs\n" +"X-Crowdin-File: /cogs/streams/locales/messages.pot\n" +"Language: cs_CZ\n" + +#: redbot/cogs/streams/streams.py:97 +#, docstring +msgid "Check if a Twitch channel is live." +msgstr "" + +#: redbot/cogs/streams/streams.py:104 +#, docstring +msgid "Check if a YouTube channel is live." +msgstr "" + +#: redbot/cogs/streams/streams.py:115 +#, docstring +msgid "Check if a Hitbox channel is live." +msgstr "" + +#: redbot/cogs/streams/streams.py:121 +#, docstring +msgid "Check if a Mixer channel is live." +msgstr "" + +#: redbot/cogs/streams/streams.py:127 +#, docstring +msgid "Check if a Picarto channel is live." +msgstr "" + +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 +msgid "That user is offline." +msgstr "" + +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 +msgid "That channel doesn't seem to exist." +msgstr "" + +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 +msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." +msgstr "" + +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 +msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." +msgstr "" + +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 +msgid "Something went wrong whilst trying to contact the stream service's API." +msgstr "" + +#: redbot/cogs/streams/streams.py:171 +#, docstring +msgid "Manage automated stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:176 +#, docstring +msgid "Manage Twitch stream notifications." +msgstr "" + +#: redbot/cogs/streams/streams.py:184 +#, docstring +msgid "Toggle alerts in this channel for a Twitch stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." +msgstr "" + +#: redbot/cogs/streams/streams.py:194 +#, docstring +msgid "Toggle alerts in this channel for a YouTube stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 +msgid "All the stream alerts in this server have been disabled." +msgstr "" + +#: redbot/cogs/streams/streams.py:246 +msgid "All the stream alerts in this channel have been disabled." +msgstr "" + +#: redbot/cogs/streams/streams.py:252 +#, docstring +msgid "List all active stream alerts in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" +msgstr "" + +#: redbot/cogs/streams/streams.py:263 +msgid "There are no active alerts in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:315 +#, docstring +msgid "Set tokens for accessing streams." +msgstr "" + +#: redbot/cogs/streams/streams.py:321 +#, docstring +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" +msgstr "" + +#: redbot/cogs/streams/streams.py:341 +#, docstring +msgid "Explain how to set the YouTube token." +msgstr "" + +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" +msgstr "" + +#: redbot/cogs/streams/streams.py:362 +#, docstring +msgid "Manage custom message for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:368 +#, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring +msgid "Toggle the `@​everyone` mention." +msgstr "" + +#: redbot/cogs/streams/streams.py:422 +msgid "`@​everyone` will no longer be mentioned for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." +msgstr "" + +#: redbot/cogs/streams/streams.py:430 +#, docstring +msgid "Toggle the `@​here` mention." +msgstr "" + +#: redbot/cogs/streams/streams.py:435 +msgid "`@​here` will no longer be mentioned for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." +msgstr "" + +#: redbot/cogs/streams/streams.py:443 +#, docstring +msgid "Toggle a role mention." +msgstr "" + +#: redbot/cogs/streams/streams.py:448 +msgid "`@​{role.name}` will no longer be mentioned for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:454 +msgid "When a stream or community is live, `@​{role.name}` will be mentioned." +msgstr "" + +#: redbot/cogs/streams/streams.py:458 +msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." +msgstr "" + +#: redbot/cogs/streams/streams.py:469 +#, docstring +msgid "Toggle alert deletion for when streams go offline." +msgstr "" + +#: redbot/cogs/streams/streams.py:472 +msgid "The notifications will be deleted once streams go offline." +msgstr "" + +#: redbot/cogs/streams/streams.py:474 +msgid "Notifications will no longer be deleted." +msgstr "" + +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 +msgid "I'll now send a notification in this channel when {stream.name} is live." +msgstr "" + +#: redbot/cogs/streams/streams.py:504 +msgid "I won't send notifications about {stream.name} in this channel anymore." +msgstr "" + +#: redbot/cogs/streams/streams.py:582 +msgid "{mention}, {stream.name} is live!" +msgstr "" + +#: redbot/cogs/streams/streams.py:590 +msgid "{stream.name} is live!" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" +msgstr "" + diff --git a/redbot/cogs/streams/locales/da-DK.po b/redbot/cogs/streams/locales/da-DK.po index 0ea0d3be1..ad5d88b7d 100644 --- a/redbot/cogs/streams/locales/da-DK.po +++ b/redbot/cogs/streams/locales/da-DK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: da_DK\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "" -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "" -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "" -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "" -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "" -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "" -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "" -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:184 -#, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." msgstr "" -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." msgstr "" -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." msgstr "" -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." msgstr "" -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." msgstr "" -#: redbot/cogs/streams/streams.py:424 +#: redbot/cogs/streams/streams.py:469 #, docstring msgid "Toggle alert deletion for when streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:427 +#: redbot/cogs/streams/streams.py:472 msgid "The notifications will be deleted once streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:429 +#: redbot/cogs/streams/streams.py:474 msgid "Notifications will no longer be deleted." msgstr "" -#: redbot/cogs/streams/streams.py:437 +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 msgid "I'll now send a notification in this channel when {stream.name} is live." msgstr "" -#: redbot/cogs/streams/streams.py:446 +#: redbot/cogs/streams/streams.py:504 msgid "I won't send notifications about {stream.name} in this channel anymore." msgstr "" -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" - -#: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:549 +#: redbot/cogs/streams/streams.py:590 msgid "{stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/de-DE.po b/redbot/cogs/streams/locales/de-DE.po index 6c0dbe14d..dcd29731c 100644 --- a/redbot/cogs/streams/locales/de-DE.po +++ b/redbot/cogs/streams/locales/de-DE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,258 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: de_DE\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "Prüfe ob ein Twitch Kanal Live ist." -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "Prüfe ob ein YouTube Kanal Live ist." -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "Prüfe ob ein Hitbox Kanal Live ist." -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "Prüfe ob ein Mixer Kanal Live ist." -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "Prüfe ob ein Picarto Kanal Live ist." -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "Dieser Benutzer ist offline." -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "Dieser Kanal scheint nicht zu existieren." -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "Der Twitch Token ist entweder ungültig oder wurde noch nicht eingestellt. Siehe `{prefix}streamset twitchtoken `." -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "Der YouTube API Schlüssel ist entweder ungültig oder wurde noch nicht eingestellt. Siehe `{prefix}streamset youtubekey`." -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "Etwas lief schief bei dem Versuch die API des Streaming Dienstes zu kontaktieren." -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "Verwalte automatische Stream Alarme." -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "Verwalte Twitch Stream Benachrichtigungen." -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "Schalte die Alarme in diesem Kanal für Twitch Streams um." -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "Schalte die Alarme in diesem Kanal für eine Twitch Community um." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." +msgstr "" -#: redbot/cogs/streams/streams.py:174 +#: redbot/cogs/streams/streams.py:194 #, docstring msgid "Toggle alerts in this channel for a YouTube stream." msgstr "Schalte die Alarme in diesem Kanal für YouTube Streams um." -#: redbot/cogs/streams/streams.py:179 +#: redbot/cogs/streams/streams.py:199 #, docstring msgid "Toggle alerts in this channel for a Hitbox stream." msgstr "Schalte die Alarme in diesem Kanal für Hitbox Streams um." -#: redbot/cogs/streams/streams.py:184 +#: redbot/cogs/streams/streams.py:204 #, docstring msgid "Toggle alerts in this channel for a Mixer stream." msgstr "Schalte die Alarme in diesem Kanal für Mixer Streams um." -#: redbot/cogs/streams/streams.py:189 +#: redbot/cogs/streams/streams.py:209 #, docstring msgid "Toggle alerts in this channel for a Picarto stream." msgstr "Schalte die Alarme in diesem Kanal für Picarto Streams um." -#: redbot/cogs/streams/streams.py:194 +#: redbot/cogs/streams/streams.py:214 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " -msgstr "Deaktiviere alle Stream Alarme in diesem Kanal oder Server.\n\n" -" `[p]streamalert stop` deaktiviert die Stream Alarme in diesem\n" -" Kanal.\n\n" -" Nutze `[p]streamalert stop yes` um alle Stream Alarme auf diesem Server\n" -" zu stoppen.\n" -" " +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "Alle Stream Alarme auf diesem Server wurden deaktiviert." -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "Alle Stream Alarme in diesem Kanal wurden deaktiviert." -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "Listet alle aktiven Stream Alarme auf diesem Server auf." -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" -msgstr "Aktive Alarme:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" +msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "Es sind keine aktiven Alarme auf diesem Server vorhanden." -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "Diese Community scheint nicht zu existieren." - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." +msgstr "Lege Token für den Zugriff auf Streams fest." + +#: redbot/cogs/streams/streams.py:321 +#, docstring +msgid "Explain how to set the twitch token." msgstr "" -#: redbot/cogs/streams/streams.py:329 -#, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "Verwalte Einstellungen für Erwähnungen bei Stream-Alarmen." + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." -msgstr "" +msgstr "Schalte die `@everyone` Erwähnung um." -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." +msgstr "`@everyone` wird nicht mehr bei Stream-Alarmen erwähnt." + +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." -msgstr "" - -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." -msgstr "" +msgstr "Schalte die `@here` Erwähnung um." -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." +msgstr "`@here` wird nicht mehr bei Stream-Alarmen erwähnt." + +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." -msgstr "" - -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." -msgstr "" +msgstr "Schalte Rollen-Erwähnung um." -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." -msgstr "" +msgstr "`@{role.name}` wird nicht mehr bei Stream-Alarmen erwähnt." -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." -msgstr "" +msgstr "Wenn ein Stream oder eine Community live ist wird `@{role.name}` erwähnt." -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." -msgstr "" - -#: redbot/cogs/streams/streams.py:424 -#, docstring -msgid "Toggle alert deletion for when streams go offline." -msgstr "" - -#: redbot/cogs/streams/streams.py:427 -msgid "The notifications will be deleted once streams go offline." -msgstr "" - -#: redbot/cogs/streams/streams.py:429 -msgid "Notifications will no longer be deleted." -msgstr "" - -#: redbot/cogs/streams/streams.py:437 -msgid "I'll now send a notification in this channel when {stream.name} is live." -msgstr "" - -#: redbot/cogs/streams/streams.py:446 -msgid "I won't send notifications about {stream.name} in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" +msgstr "Da diese Rolle nicht erwähnt werden kann wird sie vorübergehend bei einem Stream-Alarm erwähnbar gemacht. Bitte stelle sicher, dass ich die korrekten Berechtigungen habe diese Rolle zu verwalten, sonst werden Mitglieder diese Rolle keine Benachrichtigung erhalten." #: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." +#, docstring +msgid "Toggle alert deletion for when streams go offline." +msgstr "Schalte die Löschung von Alarmen um wenn ein Stream offline geht." + +#: redbot/cogs/streams/streams.py:472 +msgid "The notifications will be deleted once streams go offline." +msgstr "Die Benachrichtigungen werden gelöscht sobald ein Stream offline geht." + +#: redbot/cogs/streams/streams.py:474 +msgid "Notifications will no longer be deleted." +msgstr "Benachrichtigungen werden nicht mehr gelöscht." + +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." msgstr "" -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 +msgid "I'll now send a notification in this channel when {stream.name} is live." +msgstr "Ich werde jetzt in diesem Kanal eine Benachrichtigungen senden, wenn {stream.name} live ist." + +#: redbot/cogs/streams/streams.py:504 +msgid "I won't send notifications about {stream.name} in this channel anymore." +msgstr "Ich werde in diesem Kanal keine Benachrichtigungen mehr über {stream.name} senden." + +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" -msgstr "" - -#: redbot/cogs/streams/streams.py:549 -msgid "{stream.name} is live!" -msgstr "" +msgstr "{mention}, {stream.name} ist live!" #: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +msgid "{stream.name} is live!" +msgstr "{stream.name} ist live!" + +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "Gerade läuft: " + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "Keine" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/el-GR.po b/redbot/cogs/streams/locales/el-GR.po index 2ea3a1016..80c80df73 100644 --- a/redbot/cogs/streams/locales/el-GR.po +++ b/redbot/cogs/streams/locales/el-GR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: el_GR\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "" -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "" -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "" -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "" -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "" -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "" -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "" -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:184 -#, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." msgstr "" -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." msgstr "" -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." msgstr "" -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." msgstr "" -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." msgstr "" -#: redbot/cogs/streams/streams.py:424 +#: redbot/cogs/streams/streams.py:469 #, docstring msgid "Toggle alert deletion for when streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:427 +#: redbot/cogs/streams/streams.py:472 msgid "The notifications will be deleted once streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:429 +#: redbot/cogs/streams/streams.py:474 msgid "Notifications will no longer be deleted." msgstr "" -#: redbot/cogs/streams/streams.py:437 +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 msgid "I'll now send a notification in this channel when {stream.name} is live." msgstr "" -#: redbot/cogs/streams/streams.py:446 +#: redbot/cogs/streams/streams.py:504 msgid "I won't send notifications about {stream.name} in this channel anymore." msgstr "" -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" - -#: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:549 +#: redbot/cogs/streams/streams.py:590 msgid "{stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/en-PT.po b/redbot/cogs/streams/locales/en-PT.po index 02b8ed443..024420f8b 100644 --- a/redbot/cogs/streams/locales/en-PT.po +++ b/redbot/cogs/streams/locales/en-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Pirate English\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: en_PT\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "" -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "" -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "" -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "" -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "" -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "" -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "" -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:184 -#, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." msgstr "" -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." msgstr "" -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." msgstr "" -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." msgstr "" -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." msgstr "" -#: redbot/cogs/streams/streams.py:424 +#: redbot/cogs/streams/streams.py:469 #, docstring msgid "Toggle alert deletion for when streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:427 +#: redbot/cogs/streams/streams.py:472 msgid "The notifications will be deleted once streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:429 +#: redbot/cogs/streams/streams.py:474 msgid "Notifications will no longer be deleted." msgstr "" -#: redbot/cogs/streams/streams.py:437 +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 msgid "I'll now send a notification in this channel when {stream.name} is live." msgstr "" -#: redbot/cogs/streams/streams.py:446 +#: redbot/cogs/streams/streams.py:504 msgid "I won't send notifications about {stream.name} in this channel anymore." msgstr "" -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" - -#: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:549 +#: redbot/cogs/streams/streams.py:590 msgid "{stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/es-ES.po b/redbot/cogs/streams/locales/es-ES.po index 129ed1949..d52a5b644 100644 --- a/redbot/cogs/streams/locales/es-ES.po +++ b/redbot/cogs/streams/locales/es-ES.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: es_ES\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "" -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "" -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "" -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "" -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "" -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "" -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "" -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:184 -#, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." msgstr "" -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." msgstr "" -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." msgstr "" -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." msgstr "" -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." msgstr "" -#: redbot/cogs/streams/streams.py:424 +#: redbot/cogs/streams/streams.py:469 #, docstring msgid "Toggle alert deletion for when streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:427 +#: redbot/cogs/streams/streams.py:472 msgid "The notifications will be deleted once streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:429 +#: redbot/cogs/streams/streams.py:474 msgid "Notifications will no longer be deleted." msgstr "" -#: redbot/cogs/streams/streams.py:437 +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 msgid "I'll now send a notification in this channel when {stream.name} is live." msgstr "" -#: redbot/cogs/streams/streams.py:446 +#: redbot/cogs/streams/streams.py:504 msgid "I won't send notifications about {stream.name} in this channel anymore." msgstr "" -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" - -#: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:549 +#: redbot/cogs/streams/streams.py:590 msgid "{stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/fi-FI.po b/redbot/cogs/streams/locales/fi-FI.po index 470914340..01eff4080 100644 --- a/redbot/cogs/streams/locales/fi-FI.po +++ b/redbot/cogs/streams/locales/fi-FI.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: fi_FI\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "" -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "" -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "" -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "" -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "" -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "" -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "" -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:184 -#, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." msgstr "" -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." msgstr "" -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." msgstr "" -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." msgstr "" -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." msgstr "" -#: redbot/cogs/streams/streams.py:424 +#: redbot/cogs/streams/streams.py:469 #, docstring msgid "Toggle alert deletion for when streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:427 +#: redbot/cogs/streams/streams.py:472 msgid "The notifications will be deleted once streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:429 +#: redbot/cogs/streams/streams.py:474 msgid "Notifications will no longer be deleted." msgstr "" -#: redbot/cogs/streams/streams.py:437 +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 msgid "I'll now send a notification in this channel when {stream.name} is live." msgstr "" -#: redbot/cogs/streams/streams.py:446 +#: redbot/cogs/streams/streams.py:504 msgid "I won't send notifications about {stream.name} in this channel anymore." msgstr "" -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" - -#: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:549 +#: redbot/cogs/streams/streams.py:590 msgid "{stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/fr-FR.po b/redbot/cogs/streams/locales/fr-FR.po index 3cd9f9e9f..e5d7da4a5 100644 --- a/redbot/cogs/streams/locales/fr-FR.po +++ b/redbot/cogs/streams/locales/fr-FR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: fr_FR\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." -msgstr "" +msgstr "Vérifiez si une chaîne Twitch est en live." -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." -msgstr "" +msgstr "Vérifiez si une chaîne YouTube est en live." -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." -msgstr "" +msgstr "Vérifiez si une chaîne Hitbox est en live." -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." -msgstr "" +msgstr "Vérifiez si une chaîne Mixer est en live." -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." -msgstr "" +msgstr "Vérifiez si une chaîne Picarto est en live." -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." -msgstr "" +msgstr "Cet utilisateur est hors ligne." -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." -msgstr "" +msgstr "Ce salon ne semble pas exister." -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." -msgstr "" +msgstr "Le token Twitch est soit invalide, soit il n'a pas été défini. Voir `{prefix}streamset twitchtoken`." -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." -msgstr "" +msgstr "Le token de l'API YouTube est soit invalide, soit il n'a pas été défini. Voir `{prefix}streamset youtubekey`." -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." -msgstr "" +msgstr "Une erreur s'est produite lors de la tentative de connexion a l'API du service de stream." -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." -msgstr "" +msgstr "Gérer les alertes de stream." -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." -msgstr "" - -#: redbot/cogs/streams/streams.py:161 -#, docstring -msgid "Toggle alerts in this channel for a Twitch stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" +msgstr "Gérer les notifications de stream Twitch." #: redbot/cogs/streams/streams.py:184 #, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" +msgid "Toggle alerts in this channel for a Twitch stream." +msgstr "Activer les alertes dans ce salon pour un stream Twitch." -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." -msgstr "" +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." +msgstr "Veuillez fournir le nom d'une chaîne *Twitch*, pas d'un salon Discord." #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " -msgstr "" +msgid "Toggle alerts in this channel for a YouTube stream." +msgstr "Activer les alertes dans ce salon pour un stream YouTube." -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "Activer les alertes dans ce salon pour un stream Hitbox." + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "Activer les alertes dans ce salon pour un stream Mixer." + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "Activer les alertes dans ce salon pour un stream Picarto." + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "Désactive toutes les alertes de stream sur ce salon ou ce serveur.\\n\\n `[p]streamalert stop'' désactivera les alertes pour ce salon.\\n\\n Utiliser `[p]streamalert stop yes` pour désactiver les alertes\\n pour ce serveur.\\n " + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." -msgstr "" +msgstr "Toutes les alertes de stream de ce serveur ont été désactivées." -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." -msgstr "" +msgstr "Toutes les alertes de stream dans ce salon ont été désactivées." -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." -msgstr "" +msgstr "Liste toutes les alertes de streams actives dans ce serveur." -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" -msgstr "" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" +msgstr "Alertes actives :\\n\\n" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." -msgstr "" +msgstr "Il n'y a pas d'alertes actives dans ce serveur." -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." -msgstr "" +msgstr "Définir les tokens pour accéder aux streams." -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "Expliquer comment définir le token Twitch." + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " -msgstr "" +msgid "Explain how to set the YouTube token." +msgstr "Expliquer comment définir le token YouTube." -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." -msgstr "" +msgid "Manage custom message for stream alerts." +msgstr "Gérer le message personnalisé pour les alertes de streams." #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "Gérer les paramètres de mention pour les alertes de streams." + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." -msgstr "" +msgstr "Activer la mention `@'everyone`." -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." -msgstr "" +msgstr "`@'everyone` ne sera plus mentionné pour les alertes de streams." -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." -msgstr "" +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." +msgstr "Quand un stream est en direct, `@​everyone` sera mentionné." -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." -msgstr "" +msgstr "Utiliser la mention `@here`." -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." -msgstr "" +msgstr "`@here` ne sera plus mentionné pour les alertes de streams." -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." -msgstr "" +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." +msgstr "Quand un stream est en direct, `@​here` sera mentionné." -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." -msgstr "" +msgstr "Activer une mention de rôle." -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." -msgstr "" +msgstr "`@{role.name}` ne sera plus mentionné pour les alertes de streams." -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." -msgstr "" +msgstr "Quand un stream ou une communauté est en direct, `@{role.name}` sera mentionné." -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." -msgstr "" - -#: redbot/cogs/streams/streams.py:424 -#, docstring -msgid "Toggle alert deletion for when streams go offline." -msgstr "" - -#: redbot/cogs/streams/streams.py:427 -msgid "The notifications will be deleted once streams go offline." -msgstr "" - -#: redbot/cogs/streams/streams.py:429 -msgid "Notifications will no longer be deleted." -msgstr "" - -#: redbot/cogs/streams/streams.py:437 -msgid "I'll now send a notification in this channel when {stream.name} is live." -msgstr "" - -#: redbot/cogs/streams/streams.py:446 -msgid "I won't send notifications about {stream.name} in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" +msgstr "Puisque le rôle n'est pas mentionnable, il le sera momentanément lors de l'annonce d'un stream. Veuillez vous assurer que j'ai les bonnes permissions pour gérer ce rôle, sinon les membres de ce rôle ne recevront pas de notification." #: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." +#, docstring +msgid "Toggle alert deletion for when streams go offline." +msgstr "Activer la suppression de l'alerte lorsque les streams sont hors ligne." + +#: redbot/cogs/streams/streams.py:472 +msgid "The notifications will be deleted once streams go offline." +msgstr "Les notifications seront supprimées une fois que les streams seront hors ligne." + +#: redbot/cogs/streams/streams.py:474 +msgid "Notifications will no longer be deleted." +msgstr "Les notifications ne seront plus supprimées." + +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." msgstr "" -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 +msgid "I'll now send a notification in this channel when {stream.name} is live." +msgstr "Je vais maintenant envoyer une notification dans ce salon lorsque {stream.name} sera en live." + +#: redbot/cogs/streams/streams.py:504 +msgid "I won't send notifications about {stream.name} in this channel anymore." +msgstr "Je n'enverrai plus de notifications à propos de {stream.name} dans ce salon." + +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" -msgstr "" - -#: redbot/cogs/streams/streams.py:549 -msgid "{stream.name} is live!" -msgstr "" +msgstr "{mention}, {stream.name} est en live !" #: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" -msgstr "" +msgid "{stream.name} is live!" +msgstr "{stream.name} est en live !" + +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "Abonnés" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "Vues totales" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "Lecture en cours : " + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "Aucun" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "NSFW | " + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" +msgstr "{adult}Catégorie : {category} | Tags : {tags}" diff --git a/redbot/cogs/streams/locales/hu-HU.po b/redbot/cogs/streams/locales/hu-HU.po index f6ff4b567..53812c99d 100644 --- a/redbot/cogs/streams/locales/hu-HU.po +++ b/redbot/cogs/streams/locales/hu-HU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: hu_HU\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "" -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "" -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "" -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "" -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "" -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "" -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "" -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:184 -#, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." msgstr "" -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." msgstr "" -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." msgstr "" -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." msgstr "" -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." msgstr "" -#: redbot/cogs/streams/streams.py:424 +#: redbot/cogs/streams/streams.py:469 #, docstring msgid "Toggle alert deletion for when streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:427 +#: redbot/cogs/streams/streams.py:472 msgid "The notifications will be deleted once streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:429 +#: redbot/cogs/streams/streams.py:474 msgid "Notifications will no longer be deleted." msgstr "" -#: redbot/cogs/streams/streams.py:437 +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 msgid "I'll now send a notification in this channel when {stream.name} is live." msgstr "" -#: redbot/cogs/streams/streams.py:446 +#: redbot/cogs/streams/streams.py:504 msgid "I won't send notifications about {stream.name} in this channel anymore." msgstr "" -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" - -#: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:549 +#: redbot/cogs/streams/streams.py:590 msgid "{stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/id-ID.po b/redbot/cogs/streams/locales/id-ID.po index 64328710d..ed30ce5f5 100644 --- a/redbot/cogs/streams/locales/id-ID.po +++ b/redbot/cogs/streams/locales/id-ID.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: id_ID\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "" -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "" -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "" -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "" -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "" -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "" -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "" -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:184 -#, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." msgstr "" -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." msgstr "" -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." msgstr "" -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." msgstr "" -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." msgstr "" -#: redbot/cogs/streams/streams.py:424 +#: redbot/cogs/streams/streams.py:469 #, docstring msgid "Toggle alert deletion for when streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:427 +#: redbot/cogs/streams/streams.py:472 msgid "The notifications will be deleted once streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:429 +#: redbot/cogs/streams/streams.py:474 msgid "Notifications will no longer be deleted." msgstr "" -#: redbot/cogs/streams/streams.py:437 +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 msgid "I'll now send a notification in this channel when {stream.name} is live." msgstr "" -#: redbot/cogs/streams/streams.py:446 +#: redbot/cogs/streams/streams.py:504 msgid "I won't send notifications about {stream.name} in this channel anymore." msgstr "" -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" - -#: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:549 +#: redbot/cogs/streams/streams.py:590 msgid "{stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/it-IT.po b/redbot/cogs/streams/locales/it-IT.po index 58217f205..ce22cc8c5 100644 --- a/redbot/cogs/streams/locales/it-IT.po +++ b/redbot/cogs/streams/locales/it-IT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: it_IT\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "" -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "" -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "" -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "" -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "" -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "" -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "" -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:184 -#, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." msgstr "" -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." msgstr "" -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." msgstr "" -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." msgstr "" -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." msgstr "" -#: redbot/cogs/streams/streams.py:424 +#: redbot/cogs/streams/streams.py:469 #, docstring msgid "Toggle alert deletion for when streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:427 +#: redbot/cogs/streams/streams.py:472 msgid "The notifications will be deleted once streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:429 +#: redbot/cogs/streams/streams.py:474 msgid "Notifications will no longer be deleted." msgstr "" -#: redbot/cogs/streams/streams.py:437 +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 msgid "I'll now send a notification in this channel when {stream.name} is live." msgstr "" -#: redbot/cogs/streams/streams.py:446 +#: redbot/cogs/streams/streams.py:504 msgid "I won't send notifications about {stream.name} in this channel anymore." msgstr "" -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" - -#: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:549 +#: redbot/cogs/streams/streams.py:590 msgid "{stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/ja-JP.po b/redbot/cogs/streams/locales/ja-JP.po index d6013bbfe..6928e18bd 100644 --- a/redbot/cogs/streams/locales/ja-JP.po +++ b/redbot/cogs/streams/locales/ja-JP.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: ja_JP\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "" -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "" -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "" -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "" -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "" -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "" -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "" -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:184 -#, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." msgstr "" -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." msgstr "" -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." msgstr "" -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." msgstr "" -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." msgstr "" -#: redbot/cogs/streams/streams.py:424 +#: redbot/cogs/streams/streams.py:469 #, docstring msgid "Toggle alert deletion for when streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:427 +#: redbot/cogs/streams/streams.py:472 msgid "The notifications will be deleted once streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:429 +#: redbot/cogs/streams/streams.py:474 msgid "Notifications will no longer be deleted." msgstr "" -#: redbot/cogs/streams/streams.py:437 +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 msgid "I'll now send a notification in this channel when {stream.name} is live." msgstr "" -#: redbot/cogs/streams/streams.py:446 +#: redbot/cogs/streams/streams.py:504 msgid "I won't send notifications about {stream.name} in this channel anymore." msgstr "" -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" - -#: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:549 +#: redbot/cogs/streams/streams.py:590 msgid "{stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/ko-KR.po b/redbot/cogs/streams/locales/ko-KR.po index 806feb3a5..9a7c66978 100644 --- a/redbot/cogs/streams/locales/ko-KR.po +++ b/redbot/cogs/streams/locales/ko-KR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: ko_KR\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "" -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "" -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "" -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "" -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "" -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "" -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "" -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:184 -#, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." msgstr "" -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." msgstr "" -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." msgstr "" -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." msgstr "" -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." msgstr "" -#: redbot/cogs/streams/streams.py:424 +#: redbot/cogs/streams/streams.py:469 #, docstring msgid "Toggle alert deletion for when streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:427 +#: redbot/cogs/streams/streams.py:472 msgid "The notifications will be deleted once streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:429 +#: redbot/cogs/streams/streams.py:474 msgid "Notifications will no longer be deleted." msgstr "" -#: redbot/cogs/streams/streams.py:437 +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 msgid "I'll now send a notification in this channel when {stream.name} is live." msgstr "" -#: redbot/cogs/streams/streams.py:446 +#: redbot/cogs/streams/streams.py:504 msgid "I won't send notifications about {stream.name} in this channel anymore." msgstr "" -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" - -#: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:549 +#: redbot/cogs/streams/streams.py:590 msgid "{stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/lol-US.po b/redbot/cogs/streams/locales/lol-US.po index 657127943..1d283099d 100644 --- a/redbot/cogs/streams/locales/lol-US.po +++ b/redbot/cogs/streams/locales/lol-US.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: LOLCAT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: lol_US\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "" -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "" -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "" -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "" -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "" -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "" -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "" -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:184 -#, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." msgstr "" -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." msgstr "" -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." msgstr "" -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." msgstr "" -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." msgstr "" -#: redbot/cogs/streams/streams.py:424 +#: redbot/cogs/streams/streams.py:469 #, docstring msgid "Toggle alert deletion for when streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:427 +#: redbot/cogs/streams/streams.py:472 msgid "The notifications will be deleted once streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:429 +#: redbot/cogs/streams/streams.py:474 msgid "Notifications will no longer be deleted." msgstr "" -#: redbot/cogs/streams/streams.py:437 +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 msgid "I'll now send a notification in this channel when {stream.name} is live." msgstr "" -#: redbot/cogs/streams/streams.py:446 +#: redbot/cogs/streams/streams.py:504 msgid "I won't send notifications about {stream.name} in this channel anymore." msgstr "" -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" - -#: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:549 +#: redbot/cogs/streams/streams.py:590 msgid "{stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/nl-NL.po b/redbot/cogs/streams/locales/nl-NL.po index 204099713..aeca0f890 100644 --- a/redbot/cogs/streams/locales/nl-NL.po +++ b/redbot/cogs/streams/locales/nl-NL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: nl_NL\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "" -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "" -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "" -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "" -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "" -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "" -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "" -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:184 -#, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." msgstr "" -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." msgstr "" -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." msgstr "" -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." msgstr "" -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." msgstr "" -#: redbot/cogs/streams/streams.py:424 +#: redbot/cogs/streams/streams.py:469 #, docstring msgid "Toggle alert deletion for when streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:427 +#: redbot/cogs/streams/streams.py:472 msgid "The notifications will be deleted once streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:429 +#: redbot/cogs/streams/streams.py:474 msgid "Notifications will no longer be deleted." msgstr "" -#: redbot/cogs/streams/streams.py:437 +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 msgid "I'll now send a notification in this channel when {stream.name} is live." msgstr "" -#: redbot/cogs/streams/streams.py:446 +#: redbot/cogs/streams/streams.py:504 msgid "I won't send notifications about {stream.name} in this channel anymore." msgstr "" -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" - -#: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:549 +#: redbot/cogs/streams/streams.py:590 msgid "{stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "Geen" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/no-NO.po b/redbot/cogs/streams/locales/no-NO.po index 29a67965f..2e5da8f19 100644 --- a/redbot/cogs/streams/locales/no-NO.po +++ b/redbot/cogs/streams/locales/no-NO.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Norwegian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: no_NO\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "" -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "" -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "" -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "" -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "" -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "" -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "" -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:184 -#, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." msgstr "" -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." msgstr "" -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." msgstr "" -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." msgstr "" -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." msgstr "" -#: redbot/cogs/streams/streams.py:424 +#: redbot/cogs/streams/streams.py:469 #, docstring msgid "Toggle alert deletion for when streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:427 +#: redbot/cogs/streams/streams.py:472 msgid "The notifications will be deleted once streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:429 +#: redbot/cogs/streams/streams.py:474 msgid "Notifications will no longer be deleted." msgstr "" -#: redbot/cogs/streams/streams.py:437 +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 msgid "I'll now send a notification in this channel when {stream.name} is live." msgstr "" -#: redbot/cogs/streams/streams.py:446 +#: redbot/cogs/streams/streams.py:504 msgid "I won't send notifications about {stream.name} in this channel anymore." msgstr "" -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" - -#: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:549 +#: redbot/cogs/streams/streams.py:590 msgid "{stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/pl-PL.po b/redbot/cogs/streams/locales/pl-PL.po index 3b1f75cfd..4769b7b7c 100644 --- a/redbot/cogs/streams/locales/pl-PL.po +++ b/redbot/cogs/streams/locales/pl-PL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: pl_PL\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "" -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "" -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "" -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "" -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "" -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "" -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "" -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:184 -#, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." msgstr "" -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." msgstr "" -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." msgstr "" -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." msgstr "" -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." msgstr "" -#: redbot/cogs/streams/streams.py:424 +#: redbot/cogs/streams/streams.py:469 #, docstring msgid "Toggle alert deletion for when streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:427 +#: redbot/cogs/streams/streams.py:472 msgid "The notifications will be deleted once streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:429 +#: redbot/cogs/streams/streams.py:474 msgid "Notifications will no longer be deleted." msgstr "" -#: redbot/cogs/streams/streams.py:437 +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 msgid "I'll now send a notification in this channel when {stream.name} is live." msgstr "" -#: redbot/cogs/streams/streams.py:446 +#: redbot/cogs/streams/streams.py:504 msgid "I won't send notifications about {stream.name} in this channel anymore." msgstr "" -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" - -#: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:549 +#: redbot/cogs/streams/streams.py:590 msgid "{stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "Brak" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/pt-BR.po b/redbot/cogs/streams/locales/pt-BR.po index bb98c34fd..074d14b90 100644 --- a/redbot/cogs/streams/locales/pt-BR.po +++ b/redbot/cogs/streams/locales/pt-BR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese, Brazilian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: pt_BR\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "" -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "" -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "" -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "" -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "" -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "" -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "" -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:184 -#, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." msgstr "" -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." msgstr "" -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." msgstr "" -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." msgstr "" -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." msgstr "" -#: redbot/cogs/streams/streams.py:424 +#: redbot/cogs/streams/streams.py:469 #, docstring msgid "Toggle alert deletion for when streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:427 +#: redbot/cogs/streams/streams.py:472 msgid "The notifications will be deleted once streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:429 +#: redbot/cogs/streams/streams.py:474 msgid "Notifications will no longer be deleted." msgstr "" -#: redbot/cogs/streams/streams.py:437 +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 msgid "I'll now send a notification in this channel when {stream.name} is live." msgstr "" -#: redbot/cogs/streams/streams.py:446 +#: redbot/cogs/streams/streams.py:504 msgid "I won't send notifications about {stream.name} in this channel anymore." msgstr "" -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" - -#: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:549 +#: redbot/cogs/streams/streams.py:590 msgid "{stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/pt-PT.po b/redbot/cogs/streams/locales/pt-PT.po index 35237d5a0..510087fcb 100644 --- a/redbot/cogs/streams/locales/pt-PT.po +++ b/redbot/cogs/streams/locales/pt-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: pt_PT\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "" -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "" -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "" -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "" -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "" -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "" -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "" -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:184 -#, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." msgstr "" -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." msgstr "" -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." msgstr "" -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." msgstr "" -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." msgstr "" -#: redbot/cogs/streams/streams.py:424 +#: redbot/cogs/streams/streams.py:469 #, docstring msgid "Toggle alert deletion for when streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:427 +#: redbot/cogs/streams/streams.py:472 msgid "The notifications will be deleted once streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:429 +#: redbot/cogs/streams/streams.py:474 msgid "Notifications will no longer be deleted." msgstr "" -#: redbot/cogs/streams/streams.py:437 +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 msgid "I'll now send a notification in this channel when {stream.name} is live." msgstr "" -#: redbot/cogs/streams/streams.py:446 +#: redbot/cogs/streams/streams.py:504 msgid "I won't send notifications about {stream.name} in this channel anymore." msgstr "" -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" - -#: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:549 +#: redbot/cogs/streams/streams.py:590 msgid "{stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/ro-RO.po b/redbot/cogs/streams/locales/ro-RO.po new file mode 100644 index 000000000..7c57d5ec9 --- /dev/null +++ b/redbot/cogs/streams/locales/ro-RO.po @@ -0,0 +1,300 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:09\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Romanian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /cogs/streams/locales/messages.pot\n" +"Language: ro_RO\n" + +#: redbot/cogs/streams/streams.py:97 +#, docstring +msgid "Check if a Twitch channel is live." +msgstr "" + +#: redbot/cogs/streams/streams.py:104 +#, docstring +msgid "Check if a YouTube channel is live." +msgstr "" + +#: redbot/cogs/streams/streams.py:115 +#, docstring +msgid "Check if a Hitbox channel is live." +msgstr "" + +#: redbot/cogs/streams/streams.py:121 +#, docstring +msgid "Check if a Mixer channel is live." +msgstr "" + +#: redbot/cogs/streams/streams.py:127 +#, docstring +msgid "Check if a Picarto channel is live." +msgstr "" + +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 +msgid "That user is offline." +msgstr "" + +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 +msgid "That channel doesn't seem to exist." +msgstr "" + +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 +msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." +msgstr "" + +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 +msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." +msgstr "" + +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 +msgid "Something went wrong whilst trying to contact the stream service's API." +msgstr "" + +#: redbot/cogs/streams/streams.py:171 +#, docstring +msgid "Manage automated stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:176 +#, docstring +msgid "Manage Twitch stream notifications." +msgstr "" + +#: redbot/cogs/streams/streams.py:184 +#, docstring +msgid "Toggle alerts in this channel for a Twitch stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." +msgstr "" + +#: redbot/cogs/streams/streams.py:194 +#, docstring +msgid "Toggle alerts in this channel for a YouTube stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 +msgid "All the stream alerts in this server have been disabled." +msgstr "" + +#: redbot/cogs/streams/streams.py:246 +msgid "All the stream alerts in this channel have been disabled." +msgstr "" + +#: redbot/cogs/streams/streams.py:252 +#, docstring +msgid "List all active stream alerts in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" +msgstr "" + +#: redbot/cogs/streams/streams.py:263 +msgid "There are no active alerts in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:315 +#, docstring +msgid "Set tokens for accessing streams." +msgstr "" + +#: redbot/cogs/streams/streams.py:321 +#, docstring +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" +msgstr "" + +#: redbot/cogs/streams/streams.py:341 +#, docstring +msgid "Explain how to set the YouTube token." +msgstr "" + +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" +msgstr "" + +#: redbot/cogs/streams/streams.py:362 +#, docstring +msgid "Manage custom message for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:368 +#, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring +msgid "Toggle the `@​everyone` mention." +msgstr "" + +#: redbot/cogs/streams/streams.py:422 +msgid "`@​everyone` will no longer be mentioned for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." +msgstr "" + +#: redbot/cogs/streams/streams.py:430 +#, docstring +msgid "Toggle the `@​here` mention." +msgstr "" + +#: redbot/cogs/streams/streams.py:435 +msgid "`@​here` will no longer be mentioned for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." +msgstr "" + +#: redbot/cogs/streams/streams.py:443 +#, docstring +msgid "Toggle a role mention." +msgstr "" + +#: redbot/cogs/streams/streams.py:448 +msgid "`@​{role.name}` will no longer be mentioned for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:454 +msgid "When a stream or community is live, `@​{role.name}` will be mentioned." +msgstr "" + +#: redbot/cogs/streams/streams.py:458 +msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." +msgstr "" + +#: redbot/cogs/streams/streams.py:469 +#, docstring +msgid "Toggle alert deletion for when streams go offline." +msgstr "" + +#: redbot/cogs/streams/streams.py:472 +msgid "The notifications will be deleted once streams go offline." +msgstr "" + +#: redbot/cogs/streams/streams.py:474 +msgid "Notifications will no longer be deleted." +msgstr "" + +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 +msgid "I'll now send a notification in this channel when {stream.name} is live." +msgstr "" + +#: redbot/cogs/streams/streams.py:504 +msgid "I won't send notifications about {stream.name} in this channel anymore." +msgstr "" + +#: redbot/cogs/streams/streams.py:582 +msgid "{mention}, {stream.name} is live!" +msgstr "" + +#: redbot/cogs/streams/streams.py:590 +msgid "{stream.name} is live!" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" +msgstr "" + diff --git a/redbot/cogs/streams/locales/ru-RU.po b/redbot/cogs/streams/locales/ru-RU.po index a6ea2b2a6..d8c74c02e 100644 --- a/redbot/cogs/streams/locales/ru-RU.po +++ b/redbot/cogs/streams/locales/ru-RU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 05:52\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: ru_RU\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." -msgstr "" +msgstr "Статус канала Twitch." -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." -msgstr "" +msgstr "Статус канала YouTube." -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." -msgstr "" +msgstr "Статус канала Hitbox." -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." -msgstr "" +msgstr "Статус канала Mixer." -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." -msgstr "" +msgstr "Статус канала Picarto." -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." -msgstr "" +msgstr "Этот пользователь не в сети." -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." -msgstr "" +msgstr "Этот канал, кажется, не существует." -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." -msgstr "" +msgstr "Токен Twitch либо недействителен, либо не был установлен. См. `{prefix}streamset twitchtoken`." -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." -msgstr "" +msgstr "Ключ API YouTube либо недействителен, либо не был установлен. См. `{prefix}streamset youtubekey`." -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." -msgstr "" +msgstr "Что-то пошло не так при попытке связаться с API потокового сервиса." -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." -msgstr "" +msgstr "Управление автоматическими оповещениями транслляций." -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." -msgstr "" - -#: redbot/cogs/streams/streams.py:161 -#, docstring -msgid "Toggle alerts in this channel for a Twitch stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" +msgstr "Управление Twitch уведомлениями." #: redbot/cogs/streams/streams.py:184 #, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" +msgid "Toggle alerts in this channel for a Twitch stream." +msgstr "Переключить оповещения в этом канале для трансляции Twitch." -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." +msgstr "Переключить оповещения на этом канале для трансляции YouTube." + +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "Переключить оповещения на этом канале для трансляции Hitbox." + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "Переключить оповещения на этом канале для трансляции Mixer." + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "Переключить оповещения на этом канале для трансляции Picarto." + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." -msgstr "" +msgstr "Все оповещения о трансляциях на этом сервере были отключены." -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." -msgstr "" +msgstr "Все оповещения о трансляциях в этом канале отключены." -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." +msgstr "Список всех активных оповещений о трансляциях на этом сервере." + +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" -msgstr "" - -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." -msgstr "" +msgstr "На этом сервере нет активных оповещений." -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." +#: redbot/cogs/streams/streams.py:315 +#, docstring +msgid "Set tokens for accessing streams." +msgstr "Установить токены для доступа к трансляциям." + +#: redbot/cogs/streams/streams.py:321 +#, docstring +msgid "Explain how to set the twitch token." msgstr "" #: redbot/cogs/streams/streams.py:323 -#, docstring -msgid "Set tokens for accessing streams." -msgstr "" - -#: redbot/cogs/streams/streams.py:329 -#, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." -msgstr "" +msgid "Manage custom message for stream alerts." +msgstr "Управление пользовательскими сообщениями оповещений о трансляциях." #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "Управление настройками упоминаний для оповещений о трансляциях." + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." -msgstr "" +msgstr "Переключить упоминание `@​everyone`." -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." +msgstr "Упоминание `@​everyone` больше не будет использоваться в оповещениях." + +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." -msgstr "" - -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." -msgstr "" +msgstr "Переключить упоминание `@​here`." -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." +msgstr "Упоминание `@​here` больше не будет использоваться в оповещениях." + +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." -msgstr "" - -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." -msgstr "" +msgstr "Переключить упоминание роли." -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." -msgstr "" +msgstr "Упоминание `@​{role.name}` больше не будет использоваться в оповещениях." -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." -msgstr "" +msgstr "Когда будет транслироваться поток или сообщество, будет использоваться `@​{role.name}`." -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." -msgstr "" - -#: redbot/cogs/streams/streams.py:424 -#, docstring -msgid "Toggle alert deletion for when streams go offline." -msgstr "" - -#: redbot/cogs/streams/streams.py:427 -msgid "The notifications will be deleted once streams go offline." -msgstr "" - -#: redbot/cogs/streams/streams.py:429 -msgid "Notifications will no longer be deleted." -msgstr "" - -#: redbot/cogs/streams/streams.py:437 -msgid "I'll now send a notification in this channel when {stream.name} is live." -msgstr "" - -#: redbot/cogs/streams/streams.py:446 -msgid "I won't send notifications about {stream.name} in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" +msgstr "Поскольку роль не может быть упомянута, она станет на мгновение упоминаемой при оповещении о трансляции. Убедитесь, что у меня есть необходимые разрешения для управления этой ролью, иначе члены этой роли не получат уведомление." #: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." +#, docstring +msgid "Toggle alert deletion for when streams go offline." +msgstr "Переключить удаление оповещений при окончании трансляции." + +#: redbot/cogs/streams/streams.py:472 +msgid "The notifications will be deleted once streams go offline." +msgstr "Уведомления будут удалены при окончании трансляции." + +#: redbot/cogs/streams/streams.py:474 +msgid "Notifications will no longer be deleted." +msgstr "Уведомления больше не будут удаляться." + +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." msgstr "" -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 +msgid "I'll now send a notification in this channel when {stream.name} is live." +msgstr "Теперь я отправлю уведомление на этом канале, когда {stream.name} будет активен." + +#: redbot/cogs/streams/streams.py:504 +msgid "I won't send notifications about {stream.name} in this channel anymore." +msgstr "Я больше не буду отправлять уведомления о {stream.name} на этом канале." + +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" -msgstr "" - -#: redbot/cogs/streams/streams.py:549 -msgid "{stream.name} is live!" -msgstr "" +msgstr "{mention}, {stream.name} начал трансляцию!" #: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +msgid "{stream.name} is live!" +msgstr "{stream.name} начал трансляцию!" + +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "Воспроизводится: " + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "Нет" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/sk-SK.po b/redbot/cogs/streams/locales/sk-SK.po index ab7717241..fb71e4e8e 100644 --- a/redbot/cogs/streams/locales/sk-SK.po +++ b/redbot/cogs/streams/locales/sk-SK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Slovak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: sk_SK\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "" -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "" -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "" -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "" -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "" -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "" -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "" -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:184 -#, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." msgstr "" -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." msgstr "" -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." msgstr "" -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." msgstr "" -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." msgstr "" -#: redbot/cogs/streams/streams.py:424 +#: redbot/cogs/streams/streams.py:469 #, docstring msgid "Toggle alert deletion for when streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:427 +#: redbot/cogs/streams/streams.py:472 msgid "The notifications will be deleted once streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:429 +#: redbot/cogs/streams/streams.py:474 msgid "Notifications will no longer be deleted." msgstr "" -#: redbot/cogs/streams/streams.py:437 +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 msgid "I'll now send a notification in this channel when {stream.name} is live." msgstr "" -#: redbot/cogs/streams/streams.py:446 +#: redbot/cogs/streams/streams.py:504 msgid "I won't send notifications about {stream.name} in this channel anymore." msgstr "" -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" - -#: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:549 +#: redbot/cogs/streams/streams.py:590 msgid "{stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/sv-SE.po b/redbot/cogs/streams/locales/sv-SE.po index 4ac3ce51d..35bbe59bf 100644 --- a/redbot/cogs/streams/locales/sv-SE.po +++ b/redbot/cogs/streams/locales/sv-SE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: sv_SE\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "" -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "" -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "" -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "" -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "" -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "" -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "" -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:184 -#, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." msgstr "" -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." msgstr "" -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." msgstr "" -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." msgstr "" -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." msgstr "" -#: redbot/cogs/streams/streams.py:424 +#: redbot/cogs/streams/streams.py:469 #, docstring msgid "Toggle alert deletion for when streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:427 +#: redbot/cogs/streams/streams.py:472 msgid "The notifications will be deleted once streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:429 +#: redbot/cogs/streams/streams.py:474 msgid "Notifications will no longer be deleted." msgstr "" -#: redbot/cogs/streams/streams.py:437 +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 msgid "I'll now send a notification in this channel when {stream.name} is live." msgstr "" -#: redbot/cogs/streams/streams.py:446 +#: redbot/cogs/streams/streams.py:504 msgid "I won't send notifications about {stream.name} in this channel anymore." msgstr "" -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" - -#: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:549 +#: redbot/cogs/streams/streams.py:590 msgid "{stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/tr-TR.po b/redbot/cogs/streams/locales/tr-TR.po index e48183d3f..4c89679b0 100644 --- a/redbot/cogs/streams/locales/tr-TR.po +++ b/redbot/cogs/streams/locales/tr-TR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: tr_TR\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "" -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "" -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "" -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "" -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "" -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "" -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "" -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:184 -#, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." msgstr "" -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." msgstr "" -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." msgstr "" -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." msgstr "" -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." msgstr "" -#: redbot/cogs/streams/streams.py:424 +#: redbot/cogs/streams/streams.py:469 #, docstring msgid "Toggle alert deletion for when streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:427 +#: redbot/cogs/streams/streams.py:472 msgid "The notifications will be deleted once streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:429 +#: redbot/cogs/streams/streams.py:474 msgid "Notifications will no longer be deleted." msgstr "" -#: redbot/cogs/streams/streams.py:437 +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 msgid "I'll now send a notification in this channel when {stream.name} is live." msgstr "" -#: redbot/cogs/streams/streams.py:446 +#: redbot/cogs/streams/streams.py:504 msgid "I won't send notifications about {stream.name} in this channel anymore." msgstr "" -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" - -#: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:549 +#: redbot/cogs/streams/streams.py:590 msgid "{stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "None" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/zh-CN.po b/redbot/cogs/streams/locales/zh-CN.po index 8def6634b..d1c25b74d 100644 --- a/redbot/cogs/streams/locales/zh-CN.po +++ b/redbot/cogs/streams/locales/zh-CN.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,253 +16,285 @@ msgstr "" "X-Crowdin-File: /cogs/streams/locales/messages.pot\n" "Language: zh_CN\n" -#: redbot/cogs/streams/streams.py:81 +#: redbot/cogs/streams/streams.py:97 #, docstring msgid "Check if a Twitch channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:88 +#: redbot/cogs/streams/streams.py:104 #, docstring msgid "Check if a YouTube channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:99 +#: redbot/cogs/streams/streams.py:115 #, docstring msgid "Check if a Hitbox channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:105 +#: redbot/cogs/streams/streams.py:121 #, docstring msgid "Check if a Mixer channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:111 +#: redbot/cogs/streams/streams.py:127 #, docstring msgid "Check if a Picarto channel is live." msgstr "" -#: redbot/cogs/streams/streams.py:120 +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 msgid "That user is offline." msgstr "" -#: redbot/cogs/streams/streams.py:122 redbot/cogs/streams/streams.py:287 +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 msgid "That channel doesn't seem to exist." msgstr "" -#: redbot/cogs/streams/streams.py:125 redbot/cogs/streams/streams.py:266 -#: redbot/cogs/streams/streams.py:301 +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." msgstr "" -#: redbot/cogs/streams/streams.py:132 redbot/cogs/streams/streams.py:274 +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." msgstr "" -#: redbot/cogs/streams/streams.py:139 redbot/cogs/streams/streams.py:282 -#: redbot/cogs/streams/streams.py:312 +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 msgid "Something went wrong whilst trying to contact the stream service's API." msgstr "" -#: redbot/cogs/streams/streams.py:148 +#: redbot/cogs/streams/streams.py:171 #, docstring msgid "Manage automated stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:153 +#: redbot/cogs/streams/streams.py:176 #, docstring msgid "Manage Twitch stream notifications." msgstr "" -#: redbot/cogs/streams/streams.py:161 +#: redbot/cogs/streams/streams.py:184 #, docstring msgid "Toggle alerts in this channel for a Twitch stream." msgstr "" -#: redbot/cogs/streams/streams.py:169 -#, docstring -msgid "Toggle alerts in this channel for a Twitch community." -msgstr "" - -#: redbot/cogs/streams/streams.py:174 -#, docstring -msgid "Toggle alerts in this channel for a YouTube stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:179 -#, docstring -msgid "Toggle alerts in this channel for a Hitbox stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:184 -#, docstring -msgid "Toggle alerts in this channel for a Mixer stream." -msgstr "" - -#: redbot/cogs/streams/streams.py:189 -#, docstring -msgid "Toggle alerts in this channel for a Picarto stream." +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." msgstr "" #: redbot/cogs/streams/streams.py:194 #, docstring -msgid "Disable all stream alerts in this channel or server.\n\n" -" `[p]streamalert stop` will disable this channel's stream\n" -" alerts.\n\n" -" Do `[p]streamalert stop yes` to disable all stream alerts in\n" -" this server.\n" -" " +msgid "Toggle alerts in this channel for a YouTube stream." msgstr "" -#: redbot/cogs/streams/streams.py:224 +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 msgid "All the stream alerts in this server have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:226 +#: redbot/cogs/streams/streams.py:246 msgid "All the stream alerts in this channel have been disabled." msgstr "" -#: redbot/cogs/streams/streams.py:232 +#: redbot/cogs/streams/streams.py:252 #, docstring msgid "List all active stream alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:235 -msgid "Active alerts:\n\n" +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" msgstr "" -#: redbot/cogs/streams/streams.py:243 +#: redbot/cogs/streams/streams.py:263 msgid "There are no active alerts in this server." msgstr "" -#: redbot/cogs/streams/streams.py:308 -msgid "That community doesn't seem to exist." -msgstr "" - -#: redbot/cogs/streams/streams.py:323 +#: redbot/cogs/streams/streams.py:315 #, docstring msgid "Set tokens for accessing streams." msgstr "" -#: redbot/cogs/streams/streams.py:329 +#: redbot/cogs/streams/streams.py:321 #, docstring -msgid "Set the Client ID for Twitch.\n\n" -" To do this, follow these steps:\n" -" 1. Go to this page: https://dev.twitch.tv/dashboard/apps.\n" -" 2. Click *Register Your Application*\n" -" 3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and\n" -" select an Application Category of your choosing.\n" -" 4. Click *Register*, and on the following page, copy the Client ID.\n" -" 5. Paste the Client ID into this command. Done!\n" -" " +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:341 -msgid "Twitch token set." -msgstr "" - -#: redbot/cogs/streams/streams.py:346 #, docstring -msgid "Set the API key for YouTube.\n\n" -" To get one, do the following:\n" -" 1. Create a project (see https://support.google.com/googleapi/answer/6251787 for details)\n" -" 2. Enable the YouTube Data API v3 (see https://support.google.com/googleapi/answer/6158841\n" -" for instructions)\n" -" 3. Set up your API key (see https://support.google.com/googleapi/answer/6158862 for\n" -" instructions)\n" -" 4. Copy your API key and paste it into this command. Done!\n" -" " +msgid "Explain how to set the YouTube token." msgstr "" -#: redbot/cogs/streams/streams.py:357 -msgid "YouTube key set." +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" msgstr "" #: redbot/cogs/streams/streams.py:362 #, docstring -msgid "Manage mention settings for stream alerts." +msgid "Manage custom message for stream alerts." msgstr "" #: redbot/cogs/streams/streams.py:368 #, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring msgid "Toggle the `@​everyone` mention." msgstr "" -#: redbot/cogs/streams/streams.py:373 +#: redbot/cogs/streams/streams.py:422 msgid "`@​everyone` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:377 -msgid "When a stream or community is live, `@​everyone` will be mentioned." +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:383 +#: redbot/cogs/streams/streams.py:430 #, docstring msgid "Toggle the `@​here` mention." msgstr "" -#: redbot/cogs/streams/streams.py:388 +#: redbot/cogs/streams/streams.py:435 msgid "`@​here` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:392 -msgid "When a stream or community is live, `@​here` will be mentioned." +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:398 +#: redbot/cogs/streams/streams.py:443 #, docstring msgid "Toggle a role mention." msgstr "" -#: redbot/cogs/streams/streams.py:403 +#: redbot/cogs/streams/streams.py:448 msgid "`@​{role.name}` will no longer be mentioned for stream alerts." msgstr "" -#: redbot/cogs/streams/streams.py:409 +#: redbot/cogs/streams/streams.py:454 msgid "When a stream or community is live, `@​{role.name}` will be mentioned." msgstr "" -#: redbot/cogs/streams/streams.py:413 +#: redbot/cogs/streams/streams.py:458 msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." msgstr "" -#: redbot/cogs/streams/streams.py:424 +#: redbot/cogs/streams/streams.py:469 #, docstring msgid "Toggle alert deletion for when streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:427 +#: redbot/cogs/streams/streams.py:472 msgid "The notifications will be deleted once streams go offline." msgstr "" -#: redbot/cogs/streams/streams.py:429 +#: redbot/cogs/streams/streams.py:474 msgid "Notifications will no longer be deleted." msgstr "" -#: redbot/cogs/streams/streams.py:437 +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 msgid "I'll now send a notification in this channel when {stream.name} is live." msgstr "" -#: redbot/cogs/streams/streams.py:446 +#: redbot/cogs/streams/streams.py:504 msgid "I won't send notifications about {stream.name} in this channel anymore." msgstr "" -#: redbot/cogs/streams/streams.py:459 -msgid "I'll send a notification in this channel when a channel is live in the {community.name} community." -msgstr "" - -#: redbot/cogs/streams/streams.py:469 -msgid "I won't send notifications about channels streaming in the {community.name} community in this channel anymore." -msgstr "" - -#: redbot/cogs/streams/streams.py:545 +#: redbot/cogs/streams/streams.py:582 msgid "{mention}, {stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:549 +#: redbot/cogs/streams/streams.py:590 msgid "{stream.name} is live!" msgstr "" -#: redbot/cogs/streams/streams.py:590 -msgid "The Community {community.name} was not found!" +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" msgstr "" diff --git a/redbot/cogs/streams/locales/zh-TW.po b/redbot/cogs/streams/locales/zh-TW.po new file mode 100644 index 000000000..8da763aeb --- /dev/null +++ b/redbot/cogs/streams/locales/zh-TW.po @@ -0,0 +1,300 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Chinese Traditional\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /cogs/streams/locales/messages.pot\n" +"Language: zh_TW\n" + +#: redbot/cogs/streams/streams.py:97 +#, docstring +msgid "Check if a Twitch channel is live." +msgstr "" + +#: redbot/cogs/streams/streams.py:104 +#, docstring +msgid "Check if a YouTube channel is live." +msgstr "" + +#: redbot/cogs/streams/streams.py:115 +#, docstring +msgid "Check if a Hitbox channel is live." +msgstr "" + +#: redbot/cogs/streams/streams.py:121 +#, docstring +msgid "Check if a Mixer channel is live." +msgstr "" + +#: redbot/cogs/streams/streams.py:127 +#, docstring +msgid "Check if a Picarto channel is live." +msgstr "" + +#: redbot/cogs/streams/streams.py:135 redbot/cogs/streams/streams.py:161 +msgid "That user is offline." +msgstr "" + +#: redbot/cogs/streams/streams.py:137 redbot/cogs/streams/streams.py:307 +msgid "That channel doesn't seem to exist." +msgstr "" + +#: redbot/cogs/streams/streams.py:140 redbot/cogs/streams/streams.py:286 +msgid "The Twitch token is either invalid or has not been set. See `{prefix}streamset twitchtoken`." +msgstr "" + +#: redbot/cogs/streams/streams.py:147 redbot/cogs/streams/streams.py:294 +msgid "The YouTube API key is either invalid or has not been set. See `{prefix}streamset youtubekey`." +msgstr "" + +#: redbot/cogs/streams/streams.py:154 redbot/cogs/streams/streams.py:302 +msgid "Something went wrong whilst trying to contact the stream service's API." +msgstr "" + +#: redbot/cogs/streams/streams.py:171 +#, docstring +msgid "Manage automated stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:176 +#, docstring +msgid "Manage Twitch stream notifications." +msgstr "" + +#: redbot/cogs/streams/streams.py:184 +#, docstring +msgid "Toggle alerts in this channel for a Twitch stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:187 +msgid "Please supply the name of a *Twitch* channel, not a Discord channel." +msgstr "" + +#: redbot/cogs/streams/streams.py:194 +#, docstring +msgid "Toggle alerts in this channel for a YouTube stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:199 +#, docstring +msgid "Toggle alerts in this channel for a Hitbox stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:204 +#, docstring +msgid "Toggle alerts in this channel for a Mixer stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:209 +#, docstring +msgid "Toggle alerts in this channel for a Picarto stream." +msgstr "" + +#: redbot/cogs/streams/streams.py:214 +#, docstring +msgid "Disable all stream alerts in this channel or server.\\n\\n `[p]streamalert stop` will disable this channel's stream\\n alerts.\\n\\n Do `[p]streamalert stop yes` to disable all stream alerts in\\n this server.\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:244 +msgid "All the stream alerts in this server have been disabled." +msgstr "" + +#: redbot/cogs/streams/streams.py:246 +msgid "All the stream alerts in this channel have been disabled." +msgstr "" + +#: redbot/cogs/streams/streams.py:252 +#, docstring +msgid "List all active stream alerts in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:255 +msgid "Active alerts:\\n\\n" +msgstr "" + +#: redbot/cogs/streams/streams.py:263 +msgid "There are no active alerts in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:315 +#, docstring +msgid "Set tokens for accessing streams." +msgstr "" + +#: redbot/cogs/streams/streams.py:321 +#, docstring +msgid "Explain how to set the twitch token." +msgstr "" + +#: redbot/cogs/streams/streams.py:323 +msgid "To set the twitch API tokens, follow these steps:\\n1. Go to this page: https://dev.twitch.tv/dashboard/apps.\\n2. Click *Register Your Application*.\\n3. Enter a name, set the OAuth Redirect URI to `http://localhost`, and select an Application Category of your choosing.\\n4. Click *Register*.\\n5. On the following page, copy the Client ID.\\n6. Run the command `{prefix}set api twitch client_id,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" +msgstr "" + +#: redbot/cogs/streams/streams.py:341 +#, docstring +msgid "Explain how to set the YouTube token." +msgstr "" + +#: redbot/cogs/streams/streams.py:343 +msgid "To get one, do the following:\\n1. Create a project\\n(see https://support.google.com/googleapi/answer/6251787 for details)\\n2. Enable the YouTube Data API v3 \\n(see https://support.google.com/googleapi/answer/6158841 for instructions)\\n3. Set up your API key \\n(see https://support.google.com/googleapi/answer/6158862 for instructions)\\n4. Copy your API key and run the command `{prefix}set api youtube api_key,`\\n\\nNote: These tokens are sensitive and should only be used in a private channel\\nor in DM with the bot.\\n" +msgstr "" + +#: redbot/cogs/streams/streams.py:362 +#, docstring +msgid "Manage custom message for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:368 +#, docstring +msgid "Set stream alert message when mentions are enabled.\\n\\n Use `{mention}` in the message to insert the selected mentions.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message mention \\\"{mention}, {stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:379 redbot/cogs/streams/streams.py:395 +msgid "Stream alert message set!" +msgstr "" + +#: redbot/cogs/streams/streams.py:386 +#, docstring +msgid "Set stream alert message when mentions are disabled.\\n\\n Use `{stream.name}` in the message to insert the channel or user name.\\n\\n For example: `[p]streamset message nomention \\\"{stream.name} is live!\\\"`\\n " +msgstr "" + +#: redbot/cogs/streams/streams.py:402 +#, docstring +msgid "Reset the stream alert messages in this server." +msgstr "" + +#: redbot/cogs/streams/streams.py:406 +msgid "Stream alerts in this server will now use the default alert message." +msgstr "" + +#: redbot/cogs/streams/streams.py:411 +#, docstring +msgid "Manage mention settings for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:417 +#, docstring +msgid "Toggle the `@​everyone` mention." +msgstr "" + +#: redbot/cogs/streams/streams.py:422 +msgid "`@​everyone` will no longer be mentioned for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:425 +msgid "When a stream is live, `@​everyone` will be mentioned." +msgstr "" + +#: redbot/cogs/streams/streams.py:430 +#, docstring +msgid "Toggle the `@​here` mention." +msgstr "" + +#: redbot/cogs/streams/streams.py:435 +msgid "`@​here` will no longer be mentioned for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:438 +msgid "When a stream is live, `@​here` will be mentioned." +msgstr "" + +#: redbot/cogs/streams/streams.py:443 +#, docstring +msgid "Toggle a role mention." +msgstr "" + +#: redbot/cogs/streams/streams.py:448 +msgid "`@​{role.name}` will no longer be mentioned for stream alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:454 +msgid "When a stream or community is live, `@​{role.name}` will be mentioned." +msgstr "" + +#: redbot/cogs/streams/streams.py:458 +msgid "Since the role is not mentionable, it will be momentarily made mentionable when announcing a streamalert. Please make sure I have the correct permissions to manage this role, or else members of this role won't receive a notification." +msgstr "" + +#: redbot/cogs/streams/streams.py:469 +#, docstring +msgid "Toggle alert deletion for when streams go offline." +msgstr "" + +#: redbot/cogs/streams/streams.py:472 +msgid "The notifications will be deleted once streams go offline." +msgstr "" + +#: redbot/cogs/streams/streams.py:474 +msgid "Notifications will no longer be deleted." +msgstr "" + +#: redbot/cogs/streams/streams.py:479 +#, docstring +msgid "Toggle excluding rerun streams from alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:484 +msgid "Streams of type 'rerun' will be included in alerts." +msgstr "" + +#: redbot/cogs/streams/streams.py:487 +msgid "Streams of type 'rerun' will no longer send an alert." +msgstr "" + +#: redbot/cogs/streams/streams.py:495 +msgid "I'll now send a notification in this channel when {stream.name} is live." +msgstr "" + +#: redbot/cogs/streams/streams.py:504 +msgid "I won't send notifications about {stream.name} in this channel anymore." +msgstr "" + +#: redbot/cogs/streams/streams.py:582 +msgid "{mention}, {stream.name} is live!" +msgstr "" + +#: redbot/cogs/streams/streams.py:590 +msgid "{stream.name} is live!" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:223 +#: redbot/cogs/streams/streamtypes.py:267 +#: redbot/cogs/streams/streamtypes.py:306 +#: redbot/cogs/streams/streamtypes.py:352 +msgid "Followers" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:224 +#: redbot/cogs/streams/streamtypes.py:307 +#: redbot/cogs/streams/streamtypes.py:353 +msgid "Total views" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:229 +#: redbot/cogs/streams/streamtypes.py:271 +#: redbot/cogs/streams/streamtypes.py:316 +msgid "Playing: " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:358 +msgid "None" +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:361 +msgid "NSFW | " +msgstr "" + +#: redbot/cogs/streams/streamtypes.py:365 +msgid "{adult}Category: {category} | Tags: {tags}" +msgstr "" + diff --git a/redbot/cogs/trivia/locales/ar-SA.po b/redbot/cogs/trivia/locales/ar-SA.po index 7422f0ac5..451969616 100644 --- a/redbot/cogs/trivia/locales/ar-SA.po +++ b/redbot/cogs/trivia/locales/ar-SA.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -87,14 +87,7 @@ msgid "Manage Trivia settings." msgstr "" #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 @@ -151,9 +144,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 @@ -166,10 +157,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 @@ -182,13 +170,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 @@ -205,10 +187,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 @@ -255,22 +234,12 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 @@ -279,14 +248,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 diff --git a/redbot/cogs/trivia/locales/bg-BG.po b/redbot/cogs/trivia/locales/bg-BG.po index 9ec76bf03..53fdc553d 100644 --- a/redbot/cogs/trivia/locales/bg-BG.po +++ b/redbot/cogs/trivia/locales/bg-BG.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Bulgarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -87,14 +87,7 @@ msgid "Manage Trivia settings." msgstr "" #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 @@ -151,9 +144,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 @@ -166,10 +157,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 @@ -182,13 +170,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 @@ -205,10 +187,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 @@ -255,22 +234,12 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 @@ -279,14 +248,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 diff --git a/redbot/cogs/trivia/locales/cs-CZ.po b/redbot/cogs/trivia/locales/cs-CZ.po new file mode 100644 index 000000000..fb446f33a --- /dev/null +++ b/redbot/cogs/trivia/locales/cs-CZ.po @@ -0,0 +1,281 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: cs\n" +"X-Crowdin-File: /cogs/trivia/locales/messages.pot\n" +"Language: cs_CZ\n" + +#: redbot/cogs/trivia/session.py:20 +msgid "I know this one! {answer}!" +msgstr "" + +#: redbot/cogs/trivia/session.py:21 +msgid "Easy: {answer}." +msgstr "" + +#: redbot/cogs/trivia/session.py:22 +msgid "Oh really? It's {answer} of course." +msgstr "" + +#: redbot/cogs/trivia/session.py:25 +msgid "To the next one I guess..." +msgstr "" + +#: redbot/cogs/trivia/session.py:26 +msgid "Moving on..." +msgstr "" + +#: redbot/cogs/trivia/session.py:27 +msgid "I'm sure you'll know the answer of the next one." +msgstr "" + +#: redbot/cogs/trivia/session.py:28 +msgid "😔 Next one." +msgstr "" + +#: redbot/cogs/trivia/session.py:117 +msgid "Question number {num}!" +msgstr "" + +#: redbot/cogs/trivia/session.py:126 +msgid "There are no more questions!" +msgstr "" + +#: redbot/cogs/trivia/session.py:134 +msgid "{trivia_list} (by {author})" +msgstr "" + +#: redbot/cogs/trivia/session.py:139 +msgid "Starting Trivia: {list_names}" +msgstr "" + +#: redbot/cogs/trivia/session.py:185 +msgid "Guys...? Well, I guess I'll stop then." +msgstr "" + +#: redbot/cogs/trivia/session.py:193 +msgid " **+1** for me!" +msgstr "" + +#: redbot/cogs/trivia/session.py:198 +msgid "You got it {user}! **+1** to you!" +msgstr "" + +#: redbot/cogs/trivia/session.py:290 +msgid "Congratulations, {user}, you have received {num} {currency} for coming first." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:31 +#, docstring +msgid "Play trivia with friends!" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:54 +#, docstring +msgid "Manage Trivia settings." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:59 +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:75 +#, docstring +msgid "Set the total points required to win." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:77 +msgid "Score must be greater than 0." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:81 +msgid "Done. Points required to win set to {num}." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:85 +#, docstring +msgid "Set the maximum seconds permitted to answer a question." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:87 +msgid "Must be at least 4 seconds." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:91 +msgid "Done. Maximum seconds to answer set to {num}." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:95 +#, docstring +msgid "Set how long until trivia stops due to no response." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:98 +msgid "Must be larger than the answer time limit." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:102 +msgid "Done. Trivia sessions will now time out after {num} seconds of no responses." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:109 +#, docstring +msgid "Allow/disallow trivia lists to override settings." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:114 +msgid "Done. Trivia lists can now override the trivia settings for this server." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:118 +msgid "Done. Trivia lists can no longer override the trivia settings for this server." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:126 +#, docstring +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " +msgstr "" + +#: redbot/cogs/trivia/trivia.py:133 +msgid "Done. I'll now gain a point if users don't answer in time." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:135 +msgid "Alright, I won't embarass you at trivia anymore." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:139 +#, docstring +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " +msgstr "" + +#: redbot/cogs/trivia/trivia.py:147 +msgid "Done. I'll reveal the answer if no one knows it." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:149 +msgid "Alright, I won't reveal the answer to the questions anymore." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:154 +#, docstring +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " +msgstr "" + +#: redbot/cogs/trivia/trivia.py:165 +msgid "Multiplier must be at least 0." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:169 +msgid "Done. Payout multiplier set to {num}." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:171 +msgid "Done. I will no longer reward the winner with a payout." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:176 +#, docstring +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " +msgstr "" + +#: redbot/cogs/trivia/trivia.py:187 +msgid "There is already an ongoing trivia session in this channel." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:198 +msgid "Invalid category `{name}`. See `{prefix}trivia list` for a list of trivia categories." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:205 +msgid "There was an error parsing the trivia list for the `{name}` category. It may be formatted incorrectly." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:217 +msgid "The trivia list was parsed successfully, however it appears to be empty!" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:231 +#, docstring +msgid "Stop an ongoing trivia session." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:234 +msgid "There is no ongoing trivia session in this channel." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:247 +msgid "Trivia stopped." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:249 +msgid "You are not allowed to do that." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:253 +#, docstring +msgid "List available trivia categories." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:258 redbot/cogs/trivia/trivia.py:264 +msgid "Available trivia lists" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:272 +#, docstring +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " +msgstr "" + +#: redbot/cogs/trivia/trivia.py:288 +#, docstring +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " +msgstr "" + +#: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 +msgid "Unknown field `{field_name}`, see `{prefix}help trivia leaderboard server` for valid fields to sort by." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:317 +#, docstring +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " +msgstr "" + +#: redbot/cogs/trivia/trivia.py:385 +msgid "There are no scores on record!" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:415 +msgid "Rank" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:416 +msgid "Member" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:417 +msgid "Wins" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:418 +msgid "Games Played" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:419 +msgid "Total Score" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:420 +msgid "Average Score" +msgstr "" + diff --git a/redbot/cogs/trivia/locales/da-DK.po b/redbot/cogs/trivia/locales/da-DK.po index 318a3ca40..3f9433e27 100644 --- a/redbot/cogs/trivia/locales/da-DK.po +++ b/redbot/cogs/trivia/locales/da-DK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -87,14 +87,7 @@ msgid "Manage Trivia settings." msgstr "" #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 @@ -151,9 +144,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 @@ -166,10 +157,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 @@ -182,13 +170,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 @@ -205,10 +187,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 @@ -255,22 +234,12 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 @@ -279,14 +248,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 diff --git a/redbot/cogs/trivia/locales/de-DE.po b/redbot/cogs/trivia/locales/de-DE.po index 0c99c0c3d..ea0cc104a 100644 --- a/redbot/cogs/trivia/locales/de-DE.po +++ b/redbot/cogs/trivia/locales/de-DE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -18,302 +18,264 @@ msgstr "" #: redbot/cogs/trivia/session.py:20 msgid "I know this one! {answer}!" -msgstr "" +msgstr "Das weiß ich! {answer}!" #: redbot/cogs/trivia/session.py:21 msgid "Easy: {answer}." -msgstr "" +msgstr "Einfach: {answer}." #: redbot/cogs/trivia/session.py:22 msgid "Oh really? It's {answer} of course." -msgstr "" +msgstr "Ach ja? Es ist natürlich {answer}." #: redbot/cogs/trivia/session.py:25 msgid "To the next one I guess..." -msgstr "" +msgstr "Dann wohl auf zur nächsten Frage..." #: redbot/cogs/trivia/session.py:26 msgid "Moving on..." -msgstr "" +msgstr "Weiter geht's..." #: redbot/cogs/trivia/session.py:27 msgid "I'm sure you'll know the answer of the next one." -msgstr "" +msgstr "Ich bin mir sicher, dass du die nächste Antwort wissen wirst." #: redbot/cogs/trivia/session.py:28 msgid "😔 Next one." -msgstr "" +msgstr "😔 Nächste Frage." #: redbot/cogs/trivia/session.py:117 msgid "Question number {num}!" -msgstr "" +msgstr "Frage Nummer {num}!" #: redbot/cogs/trivia/session.py:126 msgid "There are no more questions!" -msgstr "" +msgstr "Es gibt keine weiteren Fragen!" #: redbot/cogs/trivia/session.py:134 msgid "{trivia_list} (by {author})" -msgstr "" +msgstr "{trivia_list} (von {author})" #: redbot/cogs/trivia/session.py:139 msgid "Starting Trivia: {list_names}" -msgstr "" +msgstr "Starte Trivia: {list_names}" #: redbot/cogs/trivia/session.py:185 msgid "Guys...? Well, I guess I'll stop then." -msgstr "" +msgstr "Leute...? Nun gut, ich denke dann werde ich aufhören." #: redbot/cogs/trivia/session.py:193 msgid " **+1** for me!" -msgstr "" +msgstr " **+1** für mich!" #: redbot/cogs/trivia/session.py:198 msgid "You got it {user}! **+1** to you!" -msgstr "" +msgstr "Du hast es raus, {user}! **+1** für dich!" #: redbot/cogs/trivia/session.py:290 msgid "Congratulations, {user}, you have received {num} {currency} for coming first." -msgstr "" +msgstr "Glückwunsch, {user}. Du erhältst {num} {currency} weil du Erster gewesen bist." #: redbot/cogs/trivia/trivia.py:31 #, docstring msgid "Play trivia with friends!" -msgstr "" +msgstr "Spiele Trivia mit Freunden!" #: redbot/cogs/trivia/trivia.py:54 #, docstring msgid "Manage Trivia settings." -msgstr "" +msgstr "Verwalte Trivia Einstellungen." #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 #, docstring msgid "Set the total points required to win." -msgstr "" +msgstr "Die Gesamtpunktzahl für den Sieg festlegen." #: redbot/cogs/trivia/trivia.py:77 msgid "Score must be greater than 0." -msgstr "" +msgstr "Punkte müssen höher als 0 sein." #: redbot/cogs/trivia/trivia.py:81 msgid "Done. Points required to win set to {num}." -msgstr "" +msgstr "Erledigt. Punkte für den Sieg auf {num} gesetzt." #: redbot/cogs/trivia/trivia.py:85 #, docstring msgid "Set the maximum seconds permitted to answer a question." -msgstr "" +msgstr "Maximal erlaubte Sekunden zum Beantworten einer Frage festlegen." #: redbot/cogs/trivia/trivia.py:87 msgid "Must be at least 4 seconds." -msgstr "" +msgstr "Muss mindestens 4 Sekunden betragen." #: redbot/cogs/trivia/trivia.py:91 msgid "Done. Maximum seconds to answer set to {num}." -msgstr "" +msgstr "Erledigt. Maximale Sekunden zum Beantworten auf {num} gesetzt." #: redbot/cogs/trivia/trivia.py:95 #, docstring msgid "Set how long until trivia stops due to no response." -msgstr "" +msgstr "Festlegen wann Trivia beendet wird wenn keine Teilnahme besteht." #: redbot/cogs/trivia/trivia.py:98 msgid "Must be larger than the answer time limit." -msgstr "" +msgstr "Muss größer sein als das Zeitlimit für Antworten." #: redbot/cogs/trivia/trivia.py:102 msgid "Done. Trivia sessions will now time out after {num} seconds of no responses." -msgstr "" +msgstr "Erledigt. Trivia Runden ohne Teilnahme werden nun nach {num} Sekunden abgeschaltet." #: redbot/cogs/trivia/trivia.py:109 #, docstring msgid "Allow/disallow trivia lists to override settings." -msgstr "" +msgstr "Erlaubt/verbietet Trivia Listen Einstellungen zu überschreiben." #: redbot/cogs/trivia/trivia.py:114 msgid "Done. Trivia lists can now override the trivia settings for this server." -msgstr "" +msgstr "Erledigt. Trivia Listen können nun die Trivia Einstellungen auf diesem Server überschreiben." #: redbot/cogs/trivia/trivia.py:118 msgid "Done. Trivia lists can no longer override the trivia settings for this server." -msgstr "" +msgstr "Erledigt. Trivia Listen können nicht mehr die Trivia Einstellungen auf diesem Server überschreiben." #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 msgid "Done. I'll now gain a point if users don't answer in time." -msgstr "" +msgstr "Erledigt. Ich erhalte jetzt einen Punkt wenn Benutzer nicht rechtzeitig antworten." #: redbot/cogs/trivia/trivia.py:135 msgid "Alright, I won't embarass you at trivia anymore." -msgstr "" +msgstr "Na gut, ich werde euch nicht länger bei Trivia vorführen." #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 msgid "Done. I'll reveal the answer if no one knows it." -msgstr "" +msgstr "Erledigt. Ich werde die Antwort verraten wenn sie keiner wusste." #: redbot/cogs/trivia/trivia.py:149 msgid "Alright, I won't reveal the answer to the questions anymore." -msgstr "" +msgstr "Alles klar. Ich werde die Antworten nicht mehr verraten." #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 msgid "Multiplier must be at least 0." -msgstr "" +msgstr "Multiplikator muss mindestens 0 sein." #: redbot/cogs/trivia/trivia.py:169 msgid "Done. Payout multiplier set to {num}." -msgstr "" +msgstr "Erledigt. Gewinn Multiplikator steht jetzt auf {num}." #: redbot/cogs/trivia/trivia.py:171 msgid "Done. I will no longer reward the winner with a payout." -msgstr "" +msgstr "Erledigt. Ich werde dem Gewinner keinen Gewinn mehr auszahlen." #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 msgid "There is already an ongoing trivia session in this channel." -msgstr "" +msgstr "In diesem Kanal läuft bereits eine Trivia Runde." #: redbot/cogs/trivia/trivia.py:198 msgid "Invalid category `{name}`. See `{prefix}trivia list` for a list of trivia categories." -msgstr "" +msgstr "Ungültige Kategorie `{name}`. Siehe `{prefix}trivia list` für eine Liste der Trivia Kategorien." #: redbot/cogs/trivia/trivia.py:205 msgid "There was an error parsing the trivia list for the `{name}` category. It may be formatted incorrectly." -msgstr "" +msgstr "Beim Analysieren der Trivia Liste für die `{name}` Kategorie trat ein Fehler auf. Möglicherweise wurde sie falsch formatiert." #: redbot/cogs/trivia/trivia.py:217 msgid "The trivia list was parsed successfully, however it appears to be empty!" -msgstr "" +msgstr "Die Trivia Liste wurde erfolgreich analysiert, sie scheint jedoch leer zu sein!" #: redbot/cogs/trivia/trivia.py:231 #, docstring msgid "Stop an ongoing trivia session." -msgstr "" +msgstr "Stoppt eine laufende Trivia Runde." #: redbot/cogs/trivia/trivia.py:234 msgid "There is no ongoing trivia session in this channel." -msgstr "" +msgstr "In diesem Kanal läuft gerade keine Trivia Runde." #: redbot/cogs/trivia/trivia.py:247 msgid "Trivia stopped." -msgstr "" +msgstr "Trivia gestoppt." #: redbot/cogs/trivia/trivia.py:249 msgid "You are not allowed to do that." -msgstr "" +msgstr "Du bist nicht berechtigt das zu tun." #: redbot/cogs/trivia/trivia.py:253 #, docstring msgid "List available trivia categories." -msgstr "" +msgstr "Liste verfügbarer Trivia Kategorien." #: redbot/cogs/trivia/trivia.py:258 redbot/cogs/trivia/trivia.py:264 msgid "Available trivia lists" -msgstr "" +msgstr "Verfügbare Trivia Listen" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 msgid "Unknown field `{field_name}`, see `{prefix}help trivia leaderboard server` for valid fields to sort by." -msgstr "" +msgstr "Unbekannte Angabe `{field_name}`, siehe `{prefix} help trivia leaderboard server` für gültige Angaben nach denen sortiert werden soll." #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 msgid "There are no scores on record!" -msgstr "" +msgstr "Es wurden noch keine Punktzahlen erfasst!" #: redbot/cogs/trivia/trivia.py:415 msgid "Rank" -msgstr "" +msgstr "Rang" #: redbot/cogs/trivia/trivia.py:416 msgid "Member" -msgstr "" +msgstr "Mitglied" #: redbot/cogs/trivia/trivia.py:417 msgid "Wins" -msgstr "" +msgstr "Siege" #: redbot/cogs/trivia/trivia.py:418 msgid "Games Played" -msgstr "" +msgstr "Gespielte Runden" #: redbot/cogs/trivia/trivia.py:419 msgid "Total Score" -msgstr "" +msgstr "Gesamtpunktzahl" #: redbot/cogs/trivia/trivia.py:420 msgid "Average Score" -msgstr "" +msgstr "Durchschnittliche Punktzahl" diff --git a/redbot/cogs/trivia/locales/el-GR.po b/redbot/cogs/trivia/locales/el-GR.po index 537c791de..69087ece4 100644 --- a/redbot/cogs/trivia/locales/el-GR.po +++ b/redbot/cogs/trivia/locales/el-GR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -87,14 +87,7 @@ msgid "Manage Trivia settings." msgstr "" #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 @@ -151,9 +144,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 @@ -166,10 +157,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 @@ -182,13 +170,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 @@ -205,10 +187,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 @@ -255,22 +234,12 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 @@ -279,14 +248,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 diff --git a/redbot/cogs/trivia/locales/en-PT.po b/redbot/cogs/trivia/locales/en-PT.po index 6614ea590..b59065ad6 100644 --- a/redbot/cogs/trivia/locales/en-PT.po +++ b/redbot/cogs/trivia/locales/en-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Pirate English\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -87,14 +87,7 @@ msgid "Manage Trivia settings." msgstr "" #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 @@ -151,9 +144,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 @@ -166,10 +157,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 @@ -182,13 +170,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 @@ -205,10 +187,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 @@ -255,22 +234,12 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 @@ -279,14 +248,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 diff --git a/redbot/cogs/trivia/locales/es-ES.po b/redbot/cogs/trivia/locales/es-ES.po index f009ac82b..8ffba9c07 100644 --- a/redbot/cogs/trivia/locales/es-ES.po +++ b/redbot/cogs/trivia/locales/es-ES.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -87,14 +87,7 @@ msgid "Manage Trivia settings." msgstr "" #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 @@ -151,9 +144,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 @@ -166,10 +157,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 @@ -182,13 +170,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 @@ -205,10 +187,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 @@ -255,22 +234,12 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 @@ -279,14 +248,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 diff --git a/redbot/cogs/trivia/locales/fi-FI.po b/redbot/cogs/trivia/locales/fi-FI.po index 72cc075cb..12d7dbdb6 100644 --- a/redbot/cogs/trivia/locales/fi-FI.po +++ b/redbot/cogs/trivia/locales/fi-FI.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -87,14 +87,7 @@ msgid "Manage Trivia settings." msgstr "" #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 @@ -151,9 +144,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 @@ -166,10 +157,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 @@ -182,13 +170,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 @@ -205,10 +187,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 @@ -255,22 +234,12 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 @@ -279,14 +248,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 diff --git a/redbot/cogs/trivia/locales/fr-FR.po b/redbot/cogs/trivia/locales/fr-FR.po index 09f03de4d..6599ad4b2 100644 --- a/redbot/cogs/trivia/locales/fr-FR.po +++ b/redbot/cogs/trivia/locales/fr-FR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:11\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -87,22 +87,8 @@ msgid "Manage Trivia settings." msgstr "Gérer les paramètres du Trivia." #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" -msgstr "**Paramètres actuels**\n" -"Le bot gagne des points : {bot_plays}\n" -"Délai de réponse : {delay} secondes\n" -"Délai de non-réponse : {timeout} secondes\n" -"Points pour gagner : {max_score}\n" -"Révéler la réponse à la fin du délai : {reveal_answer}\n" -"Multiplicateur des gains : {payout_multiplier}\n" -"Autoriser les listes à remplacer les paramètres : {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" +msgstr "Paramètres actuels**\\nLe bot gagne des points : {bot_plays}\\nDélai de réponse : {delay} secondes\\nDélai de non-réponse : {timeout} secondes\\nPoints pour gagner : {max_score}\\nRévéler la réponse à la fin du délai : {reveal_answer}\\nMultiplicateur des gains : {payout_multiplier}\\nAutoriser les listes à remplacer les paramètres : {allow_override}" #: redbot/cogs/trivia/trivia.py:75 #, docstring @@ -133,7 +119,7 @@ msgstr "Fait. Le nombre de secondes pour répondre est défini à {num}." #: redbot/cogs/trivia/trivia.py:95 #, docstring msgid "Set how long until trivia stops due to no response." -msgstr "Définissez combien de temps avant l'arrêt des quizz en raison de l'absence de réponse." +msgstr "Définissez combien de temps avant l'arrêt du Trivia en raison de l'absence de réponse." #: redbot/cogs/trivia/trivia.py:98 msgid "Must be larger than the answer time limit." @@ -158,11 +144,8 @@ msgstr "Fait. Les listes de trivia ne peuvent maintenant plus substituer les par #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " -msgstr "Définit si le bot gagne ou non des points.\n\n" -"Si cette option est activée, le bot gagnera un point si personne ne devine correctement." +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " +msgstr "Définit si le bot gagne ou non des points.\\n\\n Si cette option est activée, le bot gagnera un point si personne ne devine correctement.\\n " #: redbot/cogs/trivia/trivia.py:133 msgid "Done. I'll now gain a point if users don't answer in time." @@ -174,12 +157,8 @@ msgstr "D'accord, je ne vous dérangerais plus pour les Trivia." #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " -msgstr "Définissez si la réponse est révélée ou non.\n\n" -"S'il est activé, le bot révélera la réponse si personne ne devine correctement à temps." +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " +msgstr "Définissez si la réponse est révélée ou non.\\n\\n Si activé, le bot révélera la réponse si personne ne devine correctement à temps.\\n " #: redbot/cogs/trivia/trivia.py:147 msgid "Done. I'll reveal the answer if no one knows it." @@ -191,21 +170,8 @@ msgstr "D'accord, je ne révélerais plus la réponse aux questions." #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " -msgstr "Définissez le multiplicateur de gains.\n\n" -" Il peut s'agir de n'importe quel nombre décimal positif.\n" -" Si un utilisateur gagne un Trivia alors qu'il y a au moins\n" -" 3 membres qui jouent, ils recevront des crédits. \n" -" Réglez sur 0 pour désactiver.\n\n" -" Le nombre de crédits est déterminé en multipliant leur\n" -" score total par ce multiplicateur.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " +msgstr "Définissez le multiplicateur de gains.\\n\\n Il peut s'agir de n'importe quel nombre décimal positif.\\n Si un utilisateur gagne un Trivia alors qu'il y a au moins\\n 3 membres qui jouent, ils recevront des crédits. \\n Réglez sur 0 pour désactiver.\\n\\n Le nombre de crédits est déterminé en multipliant leur\\n score total par ce multiplicateur.\\n " #: redbot/cogs/trivia/trivia.py:165 msgid "Multiplier must be at least 0." @@ -221,15 +187,8 @@ msgstr "Fait. Je ne récompenserais plus le gagnant avec un gain." #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " -msgstr "Lancez une session de Trivia sur la catégorie spécifiée.\n\n" -" Vous pouvez énumérer plusieurs catégories, auquel cas\n" -" le Trivia comportera les éléments suivants\n" -" des questions de la part de chacun d'eux.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " +msgstr "Lancez une session de Trivia sur la catégorie spécifiée.\\n\\n Vous pouvez énumérer plusieurs catégories, auquel cas\\n le Trivia comportera les éléments suivants\\n des questions de la part de chacun d'eux.\\n " #: redbot/cogs/trivia/trivia.py:187 msgid "There is already an ongoing trivia session in this channel." @@ -275,33 +234,13 @@ msgstr "Listes Trivia disponibles" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " -msgstr "Classements pour Trivia.\n\n" -" Par défaut pour le top 10 de ce serveur, trié par le total des victoires.\n" -" Utilisez les sous-commandes pour un classement\n" -" plus personnaliser.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " +msgstr "Classements pour le Trivia.\\n\\n Par défaut pour le top 10 de ce serveur, trié par le total des victoires.\\n Utilisez les sous-commandes pour un classement\\n plus personnaliser.\\n " #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " -msgstr "Classement pour ce serveur.\n\n" -" `` peut être l'un des champs suivants :\n" -" - `wins` : nombre total de victoires\n" -" - `avg` : score moyen\n" -" - `total` : nombre total de bonnes réponses\n" -" - `games` : nombre total de parties jouées\n\n" -" `` est le nombre de rangs a afficher sur le classement. " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " +msgstr "Classement pour ce serveur.\\n\\n `` peut être l'un des champs suivants :\\n - `wins` : nombre total de victoires\\n - `avg` : score moyen\\n - `total` : nombre total de bonnes réponses\\n - `games` : nombre total de parties jouées\\n\\n `` est le nombre de rangs a afficher sur le classement.\\n " #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 msgid "Unknown field `{field_name}`, see `{prefix}help trivia leaderboard server` for valid fields to sort by." @@ -309,22 +248,8 @@ msgstr "Champ `{field_name}` inconnu, voir `{prefix}help trivia leaderboard serv #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " -msgstr "Classement global Trivia.\n\n" -" `` peut être l'un des champs suivants :\n" -" - `wins` : nombre total de victoires\n" -" - `avg` : score moyen\n" -" - `total` : nombre total de bonnes réponses\n" -" - `games` : nombre total de parties jouées\n\n" -" `` est le nombre de rangs a afficher sur le classement.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " +msgstr "Classement global Trivia.\\n\\n `` peut être l'un des champs suivants :\\n - `wins` : nombre total de victoires\\n - `avg` : score moyen\\n - `total` : nombre total de bonnes réponses\\n - `games` : nombre total de parties jouées\\n\\n `` est le nombre de rangs a afficher sur le classement.\\n " #: redbot/cogs/trivia/trivia.py:385 msgid "There are no scores on record!" diff --git a/redbot/cogs/trivia/locales/hu-HU.po b/redbot/cogs/trivia/locales/hu-HU.po index 73134d776..f0fb47f3b 100644 --- a/redbot/cogs/trivia/locales/hu-HU.po +++ b/redbot/cogs/trivia/locales/hu-HU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -87,14 +87,7 @@ msgid "Manage Trivia settings." msgstr "" #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 @@ -151,9 +144,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 @@ -166,10 +157,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 @@ -182,13 +170,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 @@ -205,10 +187,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 @@ -255,22 +234,12 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 @@ -279,14 +248,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 diff --git a/redbot/cogs/trivia/locales/id-ID.po b/redbot/cogs/trivia/locales/id-ID.po index 905a8bef6..f174b3790 100644 --- a/redbot/cogs/trivia/locales/id-ID.po +++ b/redbot/cogs/trivia/locales/id-ID.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -87,14 +87,7 @@ msgid "Manage Trivia settings." msgstr "" #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 @@ -151,9 +144,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 @@ -166,10 +157,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 @@ -182,13 +170,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 @@ -205,10 +187,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 @@ -255,22 +234,12 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 @@ -279,14 +248,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 diff --git a/redbot/cogs/trivia/locales/it-IT.po b/redbot/cogs/trivia/locales/it-IT.po index 8079548c6..21358a5a0 100644 --- a/redbot/cogs/trivia/locales/it-IT.po +++ b/redbot/cogs/trivia/locales/it-IT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -18,302 +18,264 @@ msgstr "" #: redbot/cogs/trivia/session.py:20 msgid "I know this one! {answer}!" -msgstr "" +msgstr "La so! {answer}!" #: redbot/cogs/trivia/session.py:21 msgid "Easy: {answer}." -msgstr "" +msgstr "Facile: {answer}." #: redbot/cogs/trivia/session.py:22 msgid "Oh really? It's {answer} of course." -msgstr "" +msgstr "Ma davvero? È {answer} naturalmente." #: redbot/cogs/trivia/session.py:25 msgid "To the next one I guess..." -msgstr "" +msgstr "Alla prossima, immagino..." #: redbot/cogs/trivia/session.py:26 msgid "Moving on..." -msgstr "" +msgstr "Andiamo avanti..." #: redbot/cogs/trivia/session.py:27 msgid "I'm sure you'll know the answer of the next one." -msgstr "" +msgstr "Sono sicuro che saprai la risposta della prossima." #: redbot/cogs/trivia/session.py:28 msgid "😔 Next one." -msgstr "" +msgstr "😔 La prossima." #: redbot/cogs/trivia/session.py:117 msgid "Question number {num}!" -msgstr "" +msgstr "Domanda numero {num}!" #: redbot/cogs/trivia/session.py:126 msgid "There are no more questions!" -msgstr "" +msgstr "Non esistono altre domande!" #: redbot/cogs/trivia/session.py:134 msgid "{trivia_list} (by {author})" -msgstr "" +msgstr "{trivia_list} (di {author})" #: redbot/cogs/trivia/session.py:139 msgid "Starting Trivia: {list_names}" -msgstr "" +msgstr "Avvio Quiz: {list_names}" #: redbot/cogs/trivia/session.py:185 msgid "Guys...? Well, I guess I'll stop then." -msgstr "" +msgstr "Ragazzi...? Beh, allora mi fermo." #: redbot/cogs/trivia/session.py:193 msgid " **+1** for me!" -msgstr "" +msgstr " **+1** per me!" #: redbot/cogs/trivia/session.py:198 msgid "You got it {user}! **+1** to you!" -msgstr "" +msgstr "Colpito e affondato {user}! **+1** a te!" #: redbot/cogs/trivia/session.py:290 msgid "Congratulations, {user}, you have received {num} {currency} for coming first." -msgstr "" +msgstr "Congratulazioni, {user}, hai ricevuto {num} {currency} per essere arrivato primo." #: redbot/cogs/trivia/trivia.py:31 #, docstring msgid "Play trivia with friends!" -msgstr "" +msgstr "Fate il quiz con gli amici!" #: redbot/cogs/trivia/trivia.py:54 #, docstring msgid "Manage Trivia settings." -msgstr "" +msgstr "Gestisci le impostazioni Trivia." #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 #, docstring msgid "Set the total points required to win." -msgstr "" +msgstr "Imposta i punti totali necessari per vincere." #: redbot/cogs/trivia/trivia.py:77 msgid "Score must be greater than 0." -msgstr "" +msgstr "Il punteggio deve essere maggiore di 0." #: redbot/cogs/trivia/trivia.py:81 msgid "Done. Points required to win set to {num}." -msgstr "" +msgstr "Fatto. Punti necessari per vincere impostati a {num}." #: redbot/cogs/trivia/trivia.py:85 #, docstring msgid "Set the maximum seconds permitted to answer a question." -msgstr "" +msgstr "Imposta il numero di secondi massimo permessi per rispondere a una domanda." #: redbot/cogs/trivia/trivia.py:87 msgid "Must be at least 4 seconds." -msgstr "" +msgstr "Deve essere di almeno 4 secondi." #: redbot/cogs/trivia/trivia.py:91 msgid "Done. Maximum seconds to answer set to {num}." -msgstr "" +msgstr "Fatto. Secondi massimi per rispondere impostati a {num}." #: redbot/cogs/trivia/trivia.py:95 #, docstring msgid "Set how long until trivia stops due to no response." -msgstr "" +msgstr "Imposta quanto tempo deve trascorrere perché il quiz si ferma per mancanza di risposta." #: redbot/cogs/trivia/trivia.py:98 msgid "Must be larger than the answer time limit." -msgstr "" +msgstr "Deve essere superiore al limite di tempo di risposta." #: redbot/cogs/trivia/trivia.py:102 msgid "Done. Trivia sessions will now time out after {num} seconds of no responses." -msgstr "" +msgstr "Fatto. Le sessioni di Quiz scadranno dopo {num} secondi senza alcuna risposta." #: redbot/cogs/trivia/trivia.py:109 #, docstring msgid "Allow/disallow trivia lists to override settings." -msgstr "" +msgstr "Consenti/proibisci che le liste di Quiz ignoring le impostazioni." #: redbot/cogs/trivia/trivia.py:114 msgid "Done. Trivia lists can now override the trivia settings for this server." -msgstr "" +msgstr "Fatto. Le liste di Quiz adesso possono ignorare le impostazioni dei quiz per questo server." #: redbot/cogs/trivia/trivia.py:118 msgid "Done. Trivia lists can no longer override the trivia settings for this server." -msgstr "" +msgstr "Fatto. Le liste di Quiz adesso non possono più ignorare le impostazioni dei quiz per questo server." #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 msgid "Done. I'll now gain a point if users don't answer in time." -msgstr "" +msgstr "Fatto. Ora otterrò un punto se gli utenti non rispondono in tempo." #: redbot/cogs/trivia/trivia.py:135 msgid "Alright, I won't embarass you at trivia anymore." -msgstr "" +msgstr "E va bene, non vi disturberò più con il mio quiz." #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 msgid "Done. I'll reveal the answer if no one knows it." -msgstr "" +msgstr "Fatto. rivelerò la risposta se nessuno la sa." #: redbot/cogs/trivia/trivia.py:149 msgid "Alright, I won't reveal the answer to the questions anymore." -msgstr "" +msgstr "Bene, non rivelerò più la risposta alle domande." #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 msgid "Multiplier must be at least 0." -msgstr "" +msgstr "Il moltiplicatore deve essere almeno pari a 0." #: redbot/cogs/trivia/trivia.py:169 msgid "Done. Payout multiplier set to {num}." -msgstr "" +msgstr "Fatto. Moltiplicatore impostato a {num}." #: redbot/cogs/trivia/trivia.py:171 msgid "Done. I will no longer reward the winner with a payout." -msgstr "" +msgstr "Fatto. Non ricompenserò più il vincitore con un versamento." #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 msgid "There is already an ongoing trivia session in this channel." -msgstr "" +msgstr "C'è già un quiz in corso in questo canale." #: redbot/cogs/trivia/trivia.py:198 msgid "Invalid category `{name}`. See `{prefix}trivia list` for a list of trivia categories." -msgstr "" +msgstr "La categoria `{name}` non è stata trovata. Vedi `{prefix}trivia list` per una lista di categorie di quiz." #: redbot/cogs/trivia/trivia.py:205 msgid "There was an error parsing the trivia list for the `{name}` category. It may be formatted incorrectly." -msgstr "" +msgstr "Si è verificato un errore nell'analisi della lista delle domande per la categoria `{name}`. Potrebbe contenere errori di formattazione." #: redbot/cogs/trivia/trivia.py:217 msgid "The trivia list was parsed successfully, however it appears to be empty!" -msgstr "" +msgstr "La lista delle domande è stata analizzata con successo, ma sembra essere vuota!" #: redbot/cogs/trivia/trivia.py:231 #, docstring msgid "Stop an ongoing trivia session." -msgstr "" +msgstr "Interrompi una sessione di quiz in corso." #: redbot/cogs/trivia/trivia.py:234 msgid "There is no ongoing trivia session in this channel." -msgstr "" +msgstr "Non c'è un quiz in corso in questo canale." #: redbot/cogs/trivia/trivia.py:247 msgid "Trivia stopped." -msgstr "" +msgstr "Quiz fermato." #: redbot/cogs/trivia/trivia.py:249 msgid "You are not allowed to do that." -msgstr "" +msgstr "Non hai il permesso di farlo." #: redbot/cogs/trivia/trivia.py:253 #, docstring msgid "List available trivia categories." -msgstr "" +msgstr "Elenco categorie di quiz disponibili." #: redbot/cogs/trivia/trivia.py:258 redbot/cogs/trivia/trivia.py:264 msgid "Available trivia lists" -msgstr "" +msgstr "Liste di quiz disponibili" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 msgid "Unknown field `{field_name}`, see `{prefix}help trivia leaderboard server` for valid fields to sort by." -msgstr "" +msgstr "Campo `{field_name}` sconosciuto, vedi `{prefix}help trivia leaderboard server` per i campi validi per cui ordinare i risultati." #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 msgid "There are no scores on record!" -msgstr "" +msgstr "Non ci sono punteggi da registrare!" #: redbot/cogs/trivia/trivia.py:415 msgid "Rank" -msgstr "" +msgstr "Posizione" #: redbot/cogs/trivia/trivia.py:416 msgid "Member" -msgstr "" +msgstr "Membro" #: redbot/cogs/trivia/trivia.py:417 msgid "Wins" -msgstr "" +msgstr "Vittorie" #: redbot/cogs/trivia/trivia.py:418 msgid "Games Played" -msgstr "" +msgstr "Partite giocate" #: redbot/cogs/trivia/trivia.py:419 msgid "Total Score" -msgstr "" +msgstr "Punteggio Totale" #: redbot/cogs/trivia/trivia.py:420 msgid "Average Score" -msgstr "" +msgstr "Punteggio Medio" diff --git a/redbot/cogs/trivia/locales/ja-JP.po b/redbot/cogs/trivia/locales/ja-JP.po index d66ad112f..149e4fb0a 100644 --- a/redbot/cogs/trivia/locales/ja-JP.po +++ b/redbot/cogs/trivia/locales/ja-JP.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -87,14 +87,7 @@ msgid "Manage Trivia settings." msgstr "" #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 @@ -151,9 +144,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 @@ -166,10 +157,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 @@ -182,13 +170,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 @@ -205,10 +187,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 @@ -255,22 +234,12 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 @@ -279,14 +248,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 diff --git a/redbot/cogs/trivia/locales/ko-KR.po b/redbot/cogs/trivia/locales/ko-KR.po index bd4340c85..008cbfa3a 100644 --- a/redbot/cogs/trivia/locales/ko-KR.po +++ b/redbot/cogs/trivia/locales/ko-KR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -87,14 +87,7 @@ msgid "Manage Trivia settings." msgstr "" #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 @@ -151,9 +144,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 @@ -166,10 +157,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 @@ -182,13 +170,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 @@ -205,10 +187,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 @@ -255,22 +234,12 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 @@ -279,14 +248,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 diff --git a/redbot/cogs/trivia/locales/lol-US.po b/redbot/cogs/trivia/locales/lol-US.po index 2c78feb39..d699f8cb6 100644 --- a/redbot/cogs/trivia/locales/lol-US.po +++ b/redbot/cogs/trivia/locales/lol-US.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: LOLCAT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -87,14 +87,7 @@ msgid "Manage Trivia settings." msgstr "" #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 @@ -151,9 +144,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 @@ -166,10 +157,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 @@ -182,13 +170,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 @@ -205,10 +187,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 @@ -255,22 +234,12 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 @@ -279,14 +248,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 diff --git a/redbot/cogs/trivia/locales/nl-NL.po b/redbot/cogs/trivia/locales/nl-NL.po index 774d0c5ce..8b365c6b4 100644 --- a/redbot/cogs/trivia/locales/nl-NL.po +++ b/redbot/cogs/trivia/locales/nl-NL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -87,14 +87,7 @@ msgid "Manage Trivia settings." msgstr "" #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 @@ -151,9 +144,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 @@ -166,10 +157,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 @@ -182,13 +170,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 @@ -205,10 +187,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 @@ -255,22 +234,12 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 @@ -279,14 +248,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 diff --git a/redbot/cogs/trivia/locales/no-NO.po b/redbot/cogs/trivia/locales/no-NO.po index bb7d13a2e..565466f85 100644 --- a/redbot/cogs/trivia/locales/no-NO.po +++ b/redbot/cogs/trivia/locales/no-NO.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Norwegian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -87,14 +87,7 @@ msgid "Manage Trivia settings." msgstr "" #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 @@ -151,9 +144,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 @@ -166,10 +157,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 @@ -182,13 +170,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 @@ -205,10 +187,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 @@ -255,22 +234,12 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 @@ -279,14 +248,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 diff --git a/redbot/cogs/trivia/locales/pl-PL.po b/redbot/cogs/trivia/locales/pl-PL.po index 95a16c2f9..9b918d47a 100644 --- a/redbot/cogs/trivia/locales/pl-PL.po +++ b/redbot/cogs/trivia/locales/pl-PL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -87,14 +87,7 @@ msgid "Manage Trivia settings." msgstr "" #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 @@ -151,9 +144,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 @@ -166,10 +157,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 @@ -182,13 +170,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 @@ -205,10 +187,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 @@ -255,22 +234,12 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 @@ -279,14 +248,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 diff --git a/redbot/cogs/trivia/locales/pt-BR.po b/redbot/cogs/trivia/locales/pt-BR.po index 8689c1dcf..4077da132 100644 --- a/redbot/cogs/trivia/locales/pt-BR.po +++ b/redbot/cogs/trivia/locales/pt-BR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese, Brazilian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -87,14 +87,7 @@ msgid "Manage Trivia settings." msgstr "" #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 @@ -151,9 +144,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 @@ -166,10 +157,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 @@ -182,13 +170,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 @@ -205,10 +187,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 @@ -255,22 +234,12 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 @@ -279,14 +248,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 diff --git a/redbot/cogs/trivia/locales/pt-PT.po b/redbot/cogs/trivia/locales/pt-PT.po index d06aa6553..e9e91040b 100644 --- a/redbot/cogs/trivia/locales/pt-PT.po +++ b/redbot/cogs/trivia/locales/pt-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -87,14 +87,7 @@ msgid "Manage Trivia settings." msgstr "" #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 @@ -151,9 +144,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 @@ -166,10 +157,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 @@ -182,13 +170,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 @@ -205,10 +187,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 @@ -255,22 +234,12 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 @@ -279,14 +248,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 diff --git a/redbot/cogs/trivia/locales/ro-RO.po b/redbot/cogs/trivia/locales/ro-RO.po new file mode 100644 index 000000000..d802ba0b7 --- /dev/null +++ b/redbot/cogs/trivia/locales/ro-RO.po @@ -0,0 +1,281 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:09\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Romanian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /cogs/trivia/locales/messages.pot\n" +"Language: ro_RO\n" + +#: redbot/cogs/trivia/session.py:20 +msgid "I know this one! {answer}!" +msgstr "" + +#: redbot/cogs/trivia/session.py:21 +msgid "Easy: {answer}." +msgstr "" + +#: redbot/cogs/trivia/session.py:22 +msgid "Oh really? It's {answer} of course." +msgstr "" + +#: redbot/cogs/trivia/session.py:25 +msgid "To the next one I guess..." +msgstr "" + +#: redbot/cogs/trivia/session.py:26 +msgid "Moving on..." +msgstr "" + +#: redbot/cogs/trivia/session.py:27 +msgid "I'm sure you'll know the answer of the next one." +msgstr "" + +#: redbot/cogs/trivia/session.py:28 +msgid "😔 Next one." +msgstr "" + +#: redbot/cogs/trivia/session.py:117 +msgid "Question number {num}!" +msgstr "" + +#: redbot/cogs/trivia/session.py:126 +msgid "There are no more questions!" +msgstr "" + +#: redbot/cogs/trivia/session.py:134 +msgid "{trivia_list} (by {author})" +msgstr "" + +#: redbot/cogs/trivia/session.py:139 +msgid "Starting Trivia: {list_names}" +msgstr "" + +#: redbot/cogs/trivia/session.py:185 +msgid "Guys...? Well, I guess I'll stop then." +msgstr "" + +#: redbot/cogs/trivia/session.py:193 +msgid " **+1** for me!" +msgstr "" + +#: redbot/cogs/trivia/session.py:198 +msgid "You got it {user}! **+1** to you!" +msgstr "" + +#: redbot/cogs/trivia/session.py:290 +msgid "Congratulations, {user}, you have received {num} {currency} for coming first." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:31 +#, docstring +msgid "Play trivia with friends!" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:54 +#, docstring +msgid "Manage Trivia settings." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:59 +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:75 +#, docstring +msgid "Set the total points required to win." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:77 +msgid "Score must be greater than 0." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:81 +msgid "Done. Points required to win set to {num}." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:85 +#, docstring +msgid "Set the maximum seconds permitted to answer a question." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:87 +msgid "Must be at least 4 seconds." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:91 +msgid "Done. Maximum seconds to answer set to {num}." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:95 +#, docstring +msgid "Set how long until trivia stops due to no response." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:98 +msgid "Must be larger than the answer time limit." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:102 +msgid "Done. Trivia sessions will now time out after {num} seconds of no responses." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:109 +#, docstring +msgid "Allow/disallow trivia lists to override settings." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:114 +msgid "Done. Trivia lists can now override the trivia settings for this server." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:118 +msgid "Done. Trivia lists can no longer override the trivia settings for this server." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:126 +#, docstring +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " +msgstr "" + +#: redbot/cogs/trivia/trivia.py:133 +msgid "Done. I'll now gain a point if users don't answer in time." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:135 +msgid "Alright, I won't embarass you at trivia anymore." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:139 +#, docstring +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " +msgstr "" + +#: redbot/cogs/trivia/trivia.py:147 +msgid "Done. I'll reveal the answer if no one knows it." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:149 +msgid "Alright, I won't reveal the answer to the questions anymore." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:154 +#, docstring +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " +msgstr "" + +#: redbot/cogs/trivia/trivia.py:165 +msgid "Multiplier must be at least 0." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:169 +msgid "Done. Payout multiplier set to {num}." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:171 +msgid "Done. I will no longer reward the winner with a payout." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:176 +#, docstring +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " +msgstr "" + +#: redbot/cogs/trivia/trivia.py:187 +msgid "There is already an ongoing trivia session in this channel." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:198 +msgid "Invalid category `{name}`. See `{prefix}trivia list` for a list of trivia categories." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:205 +msgid "There was an error parsing the trivia list for the `{name}` category. It may be formatted incorrectly." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:217 +msgid "The trivia list was parsed successfully, however it appears to be empty!" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:231 +#, docstring +msgid "Stop an ongoing trivia session." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:234 +msgid "There is no ongoing trivia session in this channel." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:247 +msgid "Trivia stopped." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:249 +msgid "You are not allowed to do that." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:253 +#, docstring +msgid "List available trivia categories." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:258 redbot/cogs/trivia/trivia.py:264 +msgid "Available trivia lists" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:272 +#, docstring +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " +msgstr "" + +#: redbot/cogs/trivia/trivia.py:288 +#, docstring +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " +msgstr "" + +#: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 +msgid "Unknown field `{field_name}`, see `{prefix}help trivia leaderboard server` for valid fields to sort by." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:317 +#, docstring +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " +msgstr "" + +#: redbot/cogs/trivia/trivia.py:385 +msgid "There are no scores on record!" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:415 +msgid "Rank" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:416 +msgid "Member" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:417 +msgid "Wins" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:418 +msgid "Games Played" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:419 +msgid "Total Score" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:420 +msgid "Average Score" +msgstr "" + diff --git a/redbot/cogs/trivia/locales/ru-RU.po b/redbot/cogs/trivia/locales/ru-RU.po index 4220f5dc9..374bce3ba 100644 --- a/redbot/cogs/trivia/locales/ru-RU.po +++ b/redbot/cogs/trivia/locales/ru-RU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 05:52\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -18,302 +18,264 @@ msgstr "" #: redbot/cogs/trivia/session.py:20 msgid "I know this one! {answer}!" -msgstr "" +msgstr "Я знаю это! {answer}!" #: redbot/cogs/trivia/session.py:21 msgid "Easy: {answer}." -msgstr "" +msgstr "Легко: {answer}." #: redbot/cogs/trivia/session.py:22 msgid "Oh really? It's {answer} of course." -msgstr "" +msgstr "Да неужели? Конечно же это {answer}." #: redbot/cogs/trivia/session.py:25 msgid "To the next one I guess..." -msgstr "" +msgstr "Думаю, в следующий раз повезет..." #: redbot/cogs/trivia/session.py:26 msgid "Moving on..." -msgstr "" +msgstr "Двигаемся дальше..." #: redbot/cogs/trivia/session.py:27 msgid "I'm sure you'll know the answer of the next one." -msgstr "" +msgstr "Я уверена, что вы знаете следующее." #: redbot/cogs/trivia/session.py:28 msgid "😔 Next one." -msgstr "" +msgstr "😔 Следующий." #: redbot/cogs/trivia/session.py:117 msgid "Question number {num}!" -msgstr "" +msgstr "Вопрос №{num}!" #: redbot/cogs/trivia/session.py:126 msgid "There are no more questions!" -msgstr "" +msgstr "Больше нет вопросов!" #: redbot/cogs/trivia/session.py:134 msgid "{trivia_list} (by {author})" -msgstr "" +msgstr "{trivia_list} (автор: {author})" #: redbot/cogs/trivia/session.py:139 msgid "Starting Trivia: {list_names}" -msgstr "" +msgstr "Запуск викторины: {list_names}" #: redbot/cogs/trivia/session.py:185 msgid "Guys...? Well, I guess I'll stop then." -msgstr "" +msgstr "Ребята...? Ну, я думаю, я остановлюсь тогда." #: redbot/cogs/trivia/session.py:193 msgid " **+1** for me!" -msgstr "" +msgstr " **+1** для меня!" #: redbot/cogs/trivia/session.py:198 msgid "You got it {user}! **+1** to you!" -msgstr "" +msgstr "{user}, тебе удалось! **+1** для тебя!" #: redbot/cogs/trivia/session.py:290 msgid "Congratulations, {user}, you have received {num} {currency} for coming first." -msgstr "" +msgstr "Поздравляю, {user}, вы получили {num} {currency} за то, что пришли первыми." #: redbot/cogs/trivia/trivia.py:31 #, docstring msgid "Play trivia with friends!" -msgstr "" +msgstr "Играть в викторину с друзьями!" #: redbot/cogs/trivia/trivia.py:54 #, docstring msgid "Manage Trivia settings." -msgstr "" +msgstr "Управление настройками викторины." #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 #, docstring msgid "Set the total points required to win." -msgstr "" +msgstr "Установить общее количество очков, необходимое для победы." #: redbot/cogs/trivia/trivia.py:77 msgid "Score must be greater than 0." -msgstr "" +msgstr "Счет должен быть больше 0." #: redbot/cogs/trivia/trivia.py:81 msgid "Done. Points required to win set to {num}." -msgstr "" +msgstr "Готово. Очки, необходимые для победы, равны {num}." #: redbot/cogs/trivia/trivia.py:85 #, docstring msgid "Set the maximum seconds permitted to answer a question." -msgstr "" +msgstr "Установить максимально разрешенное количество секунд для ответа на вопрос." #: redbot/cogs/trivia/trivia.py:87 msgid "Must be at least 4 seconds." -msgstr "" +msgstr "Должно быть не менее 4 секунд." #: redbot/cogs/trivia/trivia.py:91 msgid "Done. Maximum seconds to answer set to {num}." -msgstr "" +msgstr "Готово. Максимальное количество секунд на ответ - {num}." #: redbot/cogs/trivia/trivia.py:95 #, docstring msgid "Set how long until trivia stops due to no response." -msgstr "" +msgstr "Установить, через какое время викторина остановится из-за отсутствия ответа." #: redbot/cogs/trivia/trivia.py:98 msgid "Must be larger than the answer time limit." -msgstr "" +msgstr "Должно быть больше, чем время ответа." #: redbot/cogs/trivia/trivia.py:102 msgid "Done. Trivia sessions will now time out after {num} seconds of no responses." -msgstr "" +msgstr "Готово. Сеансы викторины теперь будут иметь время ожидания после {num} секунд отсутствия ответов." #: redbot/cogs/trivia/trivia.py:109 #, docstring msgid "Allow/disallow trivia lists to override settings." -msgstr "" +msgstr "Разрешить/запретить спискам викторины переопределять настройки." #: redbot/cogs/trivia/trivia.py:114 msgid "Done. Trivia lists can now override the trivia settings for this server." -msgstr "" +msgstr "Готово. Списки викторины теперь могут переопределять настройки викторины для этого сервера." #: redbot/cogs/trivia/trivia.py:118 msgid "Done. Trivia lists can no longer override the trivia settings for this server." -msgstr "" +msgstr "Готово. Списки викторины больше не могут переопределять настройки викторины для этого сервера." #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 msgid "Done. I'll now gain a point if users don't answer in time." -msgstr "" +msgstr "Готово. Теперь я получу очко, если пользователи не ответят вовремя." #: redbot/cogs/trivia/trivia.py:135 msgid "Alright, I won't embarass you at trivia anymore." -msgstr "" +msgstr "Хорошо, я не буду больше смущать вас в викторине." #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 msgid "Done. I'll reveal the answer if no one knows it." -msgstr "" +msgstr "Готово. Я раскрою ответ, если никто не знает его." #: redbot/cogs/trivia/trivia.py:149 msgid "Alright, I won't reveal the answer to the questions anymore." -msgstr "" +msgstr "Хорошо, я больше не буду раскрывать ответ на вопросы." #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 msgid "Multiplier must be at least 0." -msgstr "" +msgstr "Множитель должен быть не менее 0." #: redbot/cogs/trivia/trivia.py:169 msgid "Done. Payout multiplier set to {num}." -msgstr "" +msgstr "Готово. Множитель выплат установлен на {num}." #: redbot/cogs/trivia/trivia.py:171 msgid "Done. I will no longer reward the winner with a payout." -msgstr "" +msgstr "Готово. Я больше не буду награждать победителя выплатой." #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 msgid "There is already an ongoing trivia session in this channel." -msgstr "" +msgstr "На этом канале уже идет сессия викторины." #: redbot/cogs/trivia/trivia.py:198 msgid "Invalid category `{name}`. See `{prefix}trivia list` for a list of trivia categories." -msgstr "" +msgstr "Неверная категория `{name}`. См. `{prefix}trivia list` для списка категорий." #: redbot/cogs/trivia/trivia.py:205 msgid "There was an error parsing the trivia list for the `{name}` category. It may be formatted incorrectly." -msgstr "" +msgstr "При анализе списка викторины для категории `{name}` произошла ошибка. Возможно, он отформатирован неправильно." #: redbot/cogs/trivia/trivia.py:217 msgid "The trivia list was parsed successfully, however it appears to be empty!" -msgstr "" +msgstr "Список викторины был успешно проанализирован, однако он, кажется, пустой!" #: redbot/cogs/trivia/trivia.py:231 #, docstring msgid "Stop an ongoing trivia session." -msgstr "" +msgstr "Остановить текущий сеанс викторины." #: redbot/cogs/trivia/trivia.py:234 msgid "There is no ongoing trivia session in this channel." -msgstr "" +msgstr "На этом канале нет текущей сессии викторины." #: redbot/cogs/trivia/trivia.py:247 msgid "Trivia stopped." -msgstr "" +msgstr "Викторина остановлена." #: redbot/cogs/trivia/trivia.py:249 msgid "You are not allowed to do that." -msgstr "" +msgstr "Вам не разрешено это делать." #: redbot/cogs/trivia/trivia.py:253 #, docstring msgid "List available trivia categories." -msgstr "" +msgstr "Список доступных категорий викторины." #: redbot/cogs/trivia/trivia.py:258 redbot/cogs/trivia/trivia.py:264 msgid "Available trivia lists" -msgstr "" +msgstr "Доступные списки викторины" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 msgid "Unknown field `{field_name}`, see `{prefix}help trivia leaderboard server` for valid fields to sort by." -msgstr "" +msgstr "Неизвестное поле `{field_name}`, см. `{prefix}help trivia leaderboard server` действительные поля для сортировки." #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 msgid "There are no scores on record!" -msgstr "" +msgstr "Нет счетов в записи!" #: redbot/cogs/trivia/trivia.py:415 msgid "Rank" -msgstr "" +msgstr "Ранг" #: redbot/cogs/trivia/trivia.py:416 msgid "Member" -msgstr "" +msgstr "Участник" #: redbot/cogs/trivia/trivia.py:417 msgid "Wins" -msgstr "" +msgstr "Побед" #: redbot/cogs/trivia/trivia.py:418 msgid "Games Played" -msgstr "" +msgstr "Игр сыграно" #: redbot/cogs/trivia/trivia.py:419 msgid "Total Score" -msgstr "" +msgstr "Общий счет" #: redbot/cogs/trivia/trivia.py:420 msgid "Average Score" -msgstr "" +msgstr "Средний счет" diff --git a/redbot/cogs/trivia/locales/sk-SK.po b/redbot/cogs/trivia/locales/sk-SK.po index db05c9c02..e529fc3a0 100644 --- a/redbot/cogs/trivia/locales/sk-SK.po +++ b/redbot/cogs/trivia/locales/sk-SK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Slovak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -87,14 +87,7 @@ msgid "Manage Trivia settings." msgstr "" #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 @@ -151,9 +144,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 @@ -166,10 +157,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 @@ -182,13 +170,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 @@ -205,10 +187,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 @@ -255,22 +234,12 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 @@ -279,14 +248,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 diff --git a/redbot/cogs/trivia/locales/sv-SE.po b/redbot/cogs/trivia/locales/sv-SE.po index 6db603f46..7dadc1cfc 100644 --- a/redbot/cogs/trivia/locales/sv-SE.po +++ b/redbot/cogs/trivia/locales/sv-SE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -87,14 +87,7 @@ msgid "Manage Trivia settings." msgstr "" #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 @@ -151,9 +144,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 @@ -166,10 +157,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 @@ -182,13 +170,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 @@ -205,10 +187,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 @@ -255,22 +234,12 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 @@ -279,14 +248,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 diff --git a/redbot/cogs/trivia/locales/tr-TR.po b/redbot/cogs/trivia/locales/tr-TR.po index cfcd5329c..08bb7927d 100644 --- a/redbot/cogs/trivia/locales/tr-TR.po +++ b/redbot/cogs/trivia/locales/tr-TR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -87,14 +87,7 @@ msgid "Manage Trivia settings." msgstr "" #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 @@ -151,9 +144,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 @@ -166,10 +157,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 @@ -182,13 +170,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 @@ -205,10 +187,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 @@ -255,22 +234,12 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 @@ -279,14 +248,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 diff --git a/redbot/cogs/trivia/locales/zh-CN.po b/redbot/cogs/trivia/locales/zh-CN.po index 134de313a..e1b52f33b 100644 --- a/redbot/cogs/trivia/locales/zh-CN.po +++ b/redbot/cogs/trivia/locales/zh-CN.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -87,14 +87,7 @@ msgid "Manage Trivia settings." msgstr "" #: redbot/cogs/trivia/trivia.py:59 -msgid "**Current settings**\n" -"Bot gains points: {bot_plays}\n" -"Answer time limit: {delay} seconds\n" -"Lack of response timeout: {timeout} seconds\n" -"Points to win: {max_score}\n" -"Reveal answer on timeout: {reveal_answer}\n" -"Payout multiplier: {payout_multiplier}\n" -"Allow lists to override settings: {allow_override}" +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" msgstr "" #: redbot/cogs/trivia/trivia.py:75 @@ -151,9 +144,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:126 #, docstring -msgid "Set whether or not the bot gains points.\n\n" -" If enabled, the bot will gain a point if no one guesses correctly.\n" -" " +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:133 @@ -166,10 +157,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:139 #, docstring -msgid "Set whether or not the answer is revealed.\n\n" -" If enabled, the bot will reveal the answer if no one guesses correctly\n" -" in time.\n" -" " +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:147 @@ -182,13 +170,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:154 #, docstring -msgid "Set the payout multiplier.\n\n" -" This can be any positive decimal number. If a user wins trivia when at\n" -" least 3 members are playing, they will receive credits. Set to 0 to\n" -" disable.\n\n" -" The number of credits is determined by multiplying their total score by\n" -" this multiplier.\n" -" " +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:165 @@ -205,10 +187,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:176 #, docstring -msgid "Start trivia session on the specified category.\n\n" -" You may list multiple categories, in which case the trivia will involve\n" -" questions from all of them.\n" -" " +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:187 @@ -255,22 +234,12 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:272 #, docstring -msgid "Leaderboard for trivia.\n\n" -" Defaults to the top 10 of this server, sorted by total wins. Use\n" -" subcommands for a more customised leaderboard.\n" -" " +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:288 #, docstring -msgid "Leaderboard for this server.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 @@ -279,14 +248,7 @@ msgstr "" #: redbot/cogs/trivia/trivia.py:317 #, docstring -msgid "Global trivia leaderboard.\n\n" -" `` can be any of the following fields:\n" -" - `wins` : total wins\n" -" - `avg` : average score\n" -" - `total` : total correct answers from all sessions\n" -" - `games` : total games played\n\n" -" `` is the number of ranks to show on the leaderboard.\n" -" " +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " msgstr "" #: redbot/cogs/trivia/trivia.py:385 diff --git a/redbot/cogs/trivia/locales/zh-TW.po b/redbot/cogs/trivia/locales/zh-TW.po new file mode 100644 index 000000000..b5405f48e --- /dev/null +++ b/redbot/cogs/trivia/locales/zh-TW.po @@ -0,0 +1,281 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Chinese Traditional\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /cogs/trivia/locales/messages.pot\n" +"Language: zh_TW\n" + +#: redbot/cogs/trivia/session.py:20 +msgid "I know this one! {answer}!" +msgstr "" + +#: redbot/cogs/trivia/session.py:21 +msgid "Easy: {answer}." +msgstr "" + +#: redbot/cogs/trivia/session.py:22 +msgid "Oh really? It's {answer} of course." +msgstr "" + +#: redbot/cogs/trivia/session.py:25 +msgid "To the next one I guess..." +msgstr "" + +#: redbot/cogs/trivia/session.py:26 +msgid "Moving on..." +msgstr "" + +#: redbot/cogs/trivia/session.py:27 +msgid "I'm sure you'll know the answer of the next one." +msgstr "" + +#: redbot/cogs/trivia/session.py:28 +msgid "😔 Next one." +msgstr "" + +#: redbot/cogs/trivia/session.py:117 +msgid "Question number {num}!" +msgstr "" + +#: redbot/cogs/trivia/session.py:126 +msgid "There are no more questions!" +msgstr "" + +#: redbot/cogs/trivia/session.py:134 +msgid "{trivia_list} (by {author})" +msgstr "" + +#: redbot/cogs/trivia/session.py:139 +msgid "Starting Trivia: {list_names}" +msgstr "" + +#: redbot/cogs/trivia/session.py:185 +msgid "Guys...? Well, I guess I'll stop then." +msgstr "" + +#: redbot/cogs/trivia/session.py:193 +msgid " **+1** for me!" +msgstr "" + +#: redbot/cogs/trivia/session.py:198 +msgid "You got it {user}! **+1** to you!" +msgstr "" + +#: redbot/cogs/trivia/session.py:290 +msgid "Congratulations, {user}, you have received {num} {currency} for coming first." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:31 +#, docstring +msgid "Play trivia with friends!" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:54 +#, docstring +msgid "Manage Trivia settings." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:59 +msgid "Current settings\\nBot gains points: {bot_plays}\\nAnswer time limit: {delay} seconds\\nLack of response timeout: {timeout} seconds\\nPoints to win: {max_score}\\nReveal answer on timeout: {reveal_answer}\\nPayout multiplier: {payout_multiplier}\\nAllow lists to override settings: {allow_override}" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:75 +#, docstring +msgid "Set the total points required to win." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:77 +msgid "Score must be greater than 0." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:81 +msgid "Done. Points required to win set to {num}." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:85 +#, docstring +msgid "Set the maximum seconds permitted to answer a question." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:87 +msgid "Must be at least 4 seconds." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:91 +msgid "Done. Maximum seconds to answer set to {num}." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:95 +#, docstring +msgid "Set how long until trivia stops due to no response." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:98 +msgid "Must be larger than the answer time limit." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:102 +msgid "Done. Trivia sessions will now time out after {num} seconds of no responses." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:109 +#, docstring +msgid "Allow/disallow trivia lists to override settings." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:114 +msgid "Done. Trivia lists can now override the trivia settings for this server." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:118 +msgid "Done. Trivia lists can no longer override the trivia settings for this server." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:126 +#, docstring +msgid "Set whether or not the bot gains points.\\n\\n If enabled, the bot will gain a point if no one guesses correctly.\\n " +msgstr "" + +#: redbot/cogs/trivia/trivia.py:133 +msgid "Done. I'll now gain a point if users don't answer in time." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:135 +msgid "Alright, I won't embarass you at trivia anymore." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:139 +#, docstring +msgid "Set whether or not the answer is revealed.\\n\\n If enabled, the bot will reveal the answer if no one guesses correctly\\n in time.\\n " +msgstr "" + +#: redbot/cogs/trivia/trivia.py:147 +msgid "Done. I'll reveal the answer if no one knows it." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:149 +msgid "Alright, I won't reveal the answer to the questions anymore." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:154 +#, docstring +msgid "Set the payout multiplier.\\n\\n This can be any positive decimal number. If a user wins trivia when at\\n least 3 members are playing, they will receive credits. Set to 0 to\\n disable.\\n\\n The number of credits is determined by multiplying their total score by\\n this multiplier.\\n " +msgstr "" + +#: redbot/cogs/trivia/trivia.py:165 +msgid "Multiplier must be at least 0." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:169 +msgid "Done. Payout multiplier set to {num}." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:171 +msgid "Done. I will no longer reward the winner with a payout." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:176 +#, docstring +msgid "Start trivia session on the specified category.\\n\\n You may list multiple categories, in which case the trivia will involve\\n questions from all of them.\\n " +msgstr "" + +#: redbot/cogs/trivia/trivia.py:187 +msgid "There is already an ongoing trivia session in this channel." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:198 +msgid "Invalid category `{name}`. See `{prefix}trivia list` for a list of trivia categories." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:205 +msgid "There was an error parsing the trivia list for the `{name}` category. It may be formatted incorrectly." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:217 +msgid "The trivia list was parsed successfully, however it appears to be empty!" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:231 +#, docstring +msgid "Stop an ongoing trivia session." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:234 +msgid "There is no ongoing trivia session in this channel." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:247 +msgid "Trivia stopped." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:249 +msgid "You are not allowed to do that." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:253 +#, docstring +msgid "List available trivia categories." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:258 redbot/cogs/trivia/trivia.py:264 +msgid "Available trivia lists" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:272 +#, docstring +msgid "Leaderboard for trivia.\\n\\n Defaults to the top 10 of this server, sorted by total wins. Use\\n subcommands for a more customised leaderboard.\\n " +msgstr "" + +#: redbot/cogs/trivia/trivia.py:288 +#, docstring +msgid "Leaderboard for this server.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " +msgstr "" + +#: redbot/cogs/trivia/trivia.py:301 redbot/cogs/trivia/trivia.py:330 +msgid "Unknown field `{field_name}`, see `{prefix}help trivia leaderboard server` for valid fields to sort by." +msgstr "" + +#: redbot/cogs/trivia/trivia.py:317 +#, docstring +msgid "Global trivia leaderboard.\\n\\n `` can be any of the following fields:\\n - `wins` : total wins\\n - `avg` : average score\\n - `total` : total correct answers from all sessions\\n - `games` : total games played\\n\\n `` is the number of ranks to show on the leaderboard.\\n " +msgstr "" + +#: redbot/cogs/trivia/trivia.py:385 +msgid "There are no scores on record!" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:415 +msgid "Rank" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:416 +msgid "Member" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:417 +msgid "Wins" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:418 +msgid "Games Played" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:419 +msgid "Total Score" +msgstr "" + +#: redbot/cogs/trivia/trivia.py:420 +msgid "Average Score" +msgstr "" + diff --git a/redbot/cogs/warnings/locales/ar-SA.po b/redbot/cogs/warnings/locales/ar-SA.po index a98d03af3..27fbf1cfa 100644 --- a/redbot/cogs/warnings/locales/ar-SA.po +++ b/redbot/cogs/warnings/locales/ar-SA.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,249 +33,201 @@ msgid "You may enter your response now." msgstr "" #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." msgstr "" -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" msgstr "" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." msgstr "" -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." msgstr "" -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" msgstr "" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:148 +#: redbot/cogs/warnings/warnings.py:162 #, docstring msgid "Create a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:152 +#: redbot/cogs/warnings/warnings.py:166 msgid "*Custom* cannot be used as a reason name!" msgstr "" -#: redbot/cogs/warnings/warnings.py:162 +#: redbot/cogs/warnings/warnings.py:176 msgid "The new reason has been registered." msgstr "" -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:174 +#: redbot/cogs/warnings/warnings.py:188 msgid "That is not a registered reason name." msgstr "" -#: redbot/cogs/warnings/warnings.py:180 +#: redbot/cogs/warnings/warnings.py:194 #, docstring msgid "List all configured reasons for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:188 +#: redbot/cogs/warnings/warnings.py:202 msgid "Reason: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 msgid "Points" msgstr "" -#: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:201 +#: redbot/cogs/warnings/warnings.py:215 msgid "There are no reasons configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:207 +#: redbot/cogs/warnings/warnings.py:221 #, docstring msgid "List all configured automated actions for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:214 +#: redbot/cogs/warnings/warnings.py:228 msgid "Action: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:216 +#: redbot/cogs/warnings/warnings.py:230 msgid "Exceed command" msgstr "" -#: redbot/cogs/warnings/warnings.py:217 +#: redbot/cogs/warnings/warnings.py:231 msgid "Drop command" msgstr "" -#: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:243 msgid "There are no actions configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:235 +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." msgstr "" -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." msgstr "" -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" msgstr "" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." msgstr "" -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" msgstr "" -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" - diff --git a/redbot/cogs/warnings/locales/bg-BG.po b/redbot/cogs/warnings/locales/bg-BG.po index b77585636..d96e19c33 100644 --- a/redbot/cogs/warnings/locales/bg-BG.po +++ b/redbot/cogs/warnings/locales/bg-BG.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Bulgarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,249 +33,201 @@ msgid "You may enter your response now." msgstr "" #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." msgstr "" -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" msgstr "" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." msgstr "" -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." msgstr "" -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" msgstr "" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:148 +#: redbot/cogs/warnings/warnings.py:162 #, docstring msgid "Create a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:152 +#: redbot/cogs/warnings/warnings.py:166 msgid "*Custom* cannot be used as a reason name!" msgstr "" -#: redbot/cogs/warnings/warnings.py:162 +#: redbot/cogs/warnings/warnings.py:176 msgid "The new reason has been registered." msgstr "" -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:174 +#: redbot/cogs/warnings/warnings.py:188 msgid "That is not a registered reason name." msgstr "" -#: redbot/cogs/warnings/warnings.py:180 +#: redbot/cogs/warnings/warnings.py:194 #, docstring msgid "List all configured reasons for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:188 +#: redbot/cogs/warnings/warnings.py:202 msgid "Reason: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 msgid "Points" msgstr "" -#: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:201 +#: redbot/cogs/warnings/warnings.py:215 msgid "There are no reasons configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:207 +#: redbot/cogs/warnings/warnings.py:221 #, docstring msgid "List all configured automated actions for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:214 +#: redbot/cogs/warnings/warnings.py:228 msgid "Action: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:216 +#: redbot/cogs/warnings/warnings.py:230 msgid "Exceed command" msgstr "" -#: redbot/cogs/warnings/warnings.py:217 +#: redbot/cogs/warnings/warnings.py:231 msgid "Drop command" msgstr "" -#: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:243 msgid "There are no actions configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:235 +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." msgstr "" -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." msgstr "" -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" msgstr "" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." msgstr "" -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" msgstr "" -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" - diff --git a/redbot/cogs/warnings/locales/cs-CZ.po b/redbot/cogs/warnings/locales/cs-CZ.po new file mode 100644 index 000000000..5b8d677ee --- /dev/null +++ b/redbot/cogs/warnings/locales/cs-CZ.po @@ -0,0 +1,233 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: cs\n" +"X-Crowdin-File: /cogs/warnings/locales/messages.pot\n" +"Language: cs_CZ\n" + +#: redbot/cogs/warnings/helpers.py:70 +msgid "I could not find a command from that input!" +msgstr "" + +#: redbot/cogs/warnings/helpers.py:77 +msgid "That command requires bot owner. I can't allow you to use that for an action" +msgstr "" + +#: redbot/cogs/warnings/helpers.py:86 +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." +msgstr "" + +#: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 +msgid "You may enter your response now." +msgstr "" + +#: redbot/cogs/warnings/helpers.py:128 +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:25 +#, docstring +msgid "Warn misbehaving users and take automated actions." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:65 +#, docstring +msgid "Manage settings for Warnings." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:71 +#, docstring +msgid "Enable or disable custom reasons for a warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:75 +msgid "Custom reasons have been enabled." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:77 +msgid "Custom reasons have been disabled." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:83 +#, docstring +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " +msgstr "" + +#: redbot/cogs/warnings/warnings.py:98 +#, docstring +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " +msgstr "" + +#: redbot/cogs/warnings/warnings.py:119 +msgid "Duplicate action name found!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:126 +msgid "Action {name} has been added." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:131 +#, docstring +msgid "Delete the action with the specified name." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:144 +msgid "No action named {name} exists!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:150 +#, docstring +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " +msgstr "" + +#: redbot/cogs/warnings/warnings.py:162 +#, docstring +msgid "Create a warning reason." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:166 +msgid "*Custom* cannot be used as a reason name!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:176 +msgid "The new reason has been registered." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:181 +#, docstring +msgid "Delete a warning reason." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:188 +msgid "That is not a registered reason name." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:194 +#, docstring +msgid "List all configured reasons for Warnings." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:202 +msgid "Reason: {name}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 +msgid "Points" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:215 +msgid "There are no reasons configured!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:221 +#, docstring +msgid "List all configured automated actions for Warnings." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:228 +msgid "Action: {name}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:230 +msgid "Exceed command" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:231 +msgid "Drop command" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:243 +msgid "There are no actions configured!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:256 +#, docstring +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " +msgstr "" + +#: redbot/cogs/warnings/warnings.py:264 +msgid "You cannot warn yourself." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:271 +msgid "That is not a registered reason!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:279 +msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:305 +msgid "Warning from {user}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:310 +msgid "You have received a warning in {guild_name}." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 +msgid "User {user} has been warned." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:348 +#, docstring +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " +msgstr "" + +#: redbot/cogs/warnings/warnings.py:360 +msgid "You are not allowed to check warnings for other users!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:374 +msgid "That user has no warnings!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:394 +msgid "Warnings for {user}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:401 +#, docstring +msgid "Remove a warning from a user." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:414 +msgid "You cannot remove warnings from yourself." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:421 +msgid "That warning doesn't exist!" +msgstr "" + diff --git a/redbot/cogs/warnings/locales/da-DK.po b/redbot/cogs/warnings/locales/da-DK.po index f67f4489b..0282c49dd 100644 --- a/redbot/cogs/warnings/locales/da-DK.po +++ b/redbot/cogs/warnings/locales/da-DK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,249 +33,201 @@ msgid "You may enter your response now." msgstr "" #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." msgstr "" -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" msgstr "" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." msgstr "" -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." msgstr "" -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" msgstr "" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:148 +#: redbot/cogs/warnings/warnings.py:162 #, docstring msgid "Create a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:152 +#: redbot/cogs/warnings/warnings.py:166 msgid "*Custom* cannot be used as a reason name!" msgstr "" -#: redbot/cogs/warnings/warnings.py:162 +#: redbot/cogs/warnings/warnings.py:176 msgid "The new reason has been registered." msgstr "" -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:174 +#: redbot/cogs/warnings/warnings.py:188 msgid "That is not a registered reason name." msgstr "" -#: redbot/cogs/warnings/warnings.py:180 +#: redbot/cogs/warnings/warnings.py:194 #, docstring msgid "List all configured reasons for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:188 +#: redbot/cogs/warnings/warnings.py:202 msgid "Reason: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 msgid "Points" msgstr "" -#: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:201 +#: redbot/cogs/warnings/warnings.py:215 msgid "There are no reasons configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:207 +#: redbot/cogs/warnings/warnings.py:221 #, docstring msgid "List all configured automated actions for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:214 +#: redbot/cogs/warnings/warnings.py:228 msgid "Action: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:216 +#: redbot/cogs/warnings/warnings.py:230 msgid "Exceed command" msgstr "" -#: redbot/cogs/warnings/warnings.py:217 +#: redbot/cogs/warnings/warnings.py:231 msgid "Drop command" msgstr "" -#: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:243 msgid "There are no actions configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:235 +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." msgstr "" -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." msgstr "" -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" msgstr "" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." msgstr "" -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" msgstr "" -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" - diff --git a/redbot/cogs/warnings/locales/de-DE.po b/redbot/cogs/warnings/locales/de-DE.po index 18fdc8e51..45bcd7769 100644 --- a/redbot/cogs/warnings/locales/de-DE.po +++ b/redbot/cogs/warnings/locales/de-DE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "Dieser Befehl kann nur vom Bot Besitzer ausgeführt werden. Du darfst diese Aktion nicht ausführen." #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,257 +33,201 @@ msgid "You may enter your response now." msgstr "Du kannst deine Antwort nun eingeben." #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." -msgstr "" +msgstr "Verwarne Fehlverhalten von Benutzern und führe automatisierte Aktionen aus." -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." -msgstr "" +msgstr "Verwalte Einstellungen für Verwarnungen." -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." -msgstr "" +msgstr "Aktiviere oder deaktiviere benutzerdefinierte Gründe für eine Verwarnung." -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." msgstr "Benutzerdefinierte Gründe wurden aktiviert." -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." msgstr "Benutzerdefinierte Gründe wurden deaktiviert." -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" msgstr "Doppelter Aktionsname gefunden!" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." -msgstr "" +msgstr "Aktion {name} wurde hinzugefügt." -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." -msgstr "" +msgstr "Lösche die Aktion mit den angegebenen Namen." -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" -msgstr "" +msgstr "Es gibt keine Aktion mit dem Namen {name}!" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " -msgstr "" - -#: redbot/cogs/warnings/warnings.py:148 -#, docstring -msgid "Create a warning reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:152 -msgid "*Custom* cannot be used as a reason name!" +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" #: redbot/cogs/warnings/warnings.py:162 +#, docstring +msgid "Create a warning reason." +msgstr "Erstelle einen Grund für Verwarnungen." + +#: redbot/cogs/warnings/warnings.py:166 +msgid "*Custom* cannot be used as a reason name!" +msgstr "*Benutzerdefiniert* kann nicht als Name für einen Grund verwendet werden!" + +#: redbot/cogs/warnings/warnings.py:176 msgid "The new reason has been registered." msgstr "Der neue Grund wurde registriert." -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." -msgstr "Lösche einen Warngrund." - -#: redbot/cogs/warnings/warnings.py:174 -msgid "That is not a registered reason name." -msgstr "Das ist kein registrierter Grund." - -#: redbot/cogs/warnings/warnings.py:180 -#, docstring -msgid "List all configured reasons for Warnings." -msgstr "Liste alle konfigurierten Gründe für Warnungen auf." +msgstr "Lösche einen Grund für Verwarnungen." #: redbot/cogs/warnings/warnings.py:188 +msgid "That is not a registered reason name." +msgstr "Das ist kein registrierter Name für einen Grund." + +#: redbot/cogs/warnings/warnings.py:194 +#, docstring +msgid "List all configured reasons for Warnings." +msgstr "Liste alle konfigurierten Gründe für Verwarnungen auf." + +#: redbot/cogs/warnings/warnings.py:202 msgid "Reason: {name}" msgstr "Grund: {name}" -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 msgid "Points" msgstr "Punkte" -#: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" -msgstr "Name: {reason_name}\n" -"Punkte: {points}\n" -"Beschreibung: {description}" +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" +msgstr "" -#: redbot/cogs/warnings/warnings.py:201 +#: redbot/cogs/warnings/warnings.py:215 msgid "There are no reasons configured!" msgstr "Es sind keine Gründe konfiguriert!" -#: redbot/cogs/warnings/warnings.py:207 +#: redbot/cogs/warnings/warnings.py:221 #, docstring msgid "List all configured automated actions for Warnings." -msgstr "Liste alle konfigurierten automatisierten Aktionen für Warnungen auf." +msgstr "Liste alle konfigurierten automatisierten Aktionen für Verwarnungen auf." -#: redbot/cogs/warnings/warnings.py:214 +#: redbot/cogs/warnings/warnings.py:228 msgid "Action: {name}" msgstr "Aktion: {name}" -#: redbot/cogs/warnings/warnings.py:216 +#: redbot/cogs/warnings/warnings.py:230 msgid "Exceed command" msgstr "Befehl überschreiten" -#: redbot/cogs/warnings/warnings.py:217 +#: redbot/cogs/warnings/warnings.py:231 msgid "Drop command" -msgstr "Befehl ablegen" +msgstr "Befehl streichen" -#: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" -msgstr "Name: {action_name}\n" -"Punkte: {points}\n" -"Befehl überschreiten: {exceed_command}\n" -"Befehl ablegen: {drop_command}" +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" +msgstr "" -#: redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:243 msgid "There are no actions configured!" msgstr "Es sind keine Aktionen konfiguriert!" -#: redbot/cogs/warnings/warnings.py:235 +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " -msgstr "Warne den Benutzer aus dem angegebenen Grund.\n\n" -" `` muss ein registrierter Grund-Name sein, oder eine *benutzerdefinierte*, wenn\n" -" benutzerdefinierte Gründe aktiviert sind.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " +msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." msgstr "Du kannst dich selbst nicht verwarnen." -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "Benutzerdefinierte Gründe sind nicht erlaubt! Siehe `{prefix}reasonlist` für eine komplette Liste von gültigen Gründen." - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "Das ist kein registrierter Grund!" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "Nutze `{prefix}warn {user} custom`, um einen benutzerdefinierten Grund anzugeben." - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." msgstr "Nutze `{prefix}warningset allowcustomreasons true`, um benutzerdefinierte Gründe zu aktivieren." -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" -msgstr "Warnung von {user}" +msgstr "Verwarnung von {user}" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." -msgstr "Du hast eine Warnung in {guild_name} erhalten." +msgstr "Du hast eine Verwarnung in {guild_name} erhalten." -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." msgstr "Der Benutzer {user} wurde verwarnt." -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" -msgstr "Du bist nicht berechtigt Warnungen anderer Benutzer zu überprüfen!" +msgstr "Du bist nicht berechtigt Verwarnungen anderer Benutzer zu überprüfen!" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "Dieser Benutzer hat noch keine Verwarnungen!" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" -msgstr "Warnung für {user}" +msgstr "Verwarnung für {user}" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." -msgstr "Entferne eine Warnung von einem Benutzer." +msgstr "Entferne eine Verwarnung von einem Benutzer." -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." -msgstr "Du kannst keine Warnungen von dir selbst entfernen." +msgstr "Du kannst keine Verwarnungen von dir selbst entfernen." -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" msgstr "Diese Warnung existiert nicht!" -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "Wie viele Punkte sollten für diesen Grund gegeben werden?" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "Ok." - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "Wert ist keine Zahl!" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "Der Wert muss größer als 0 sein!" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "Gib eine Beschreibung für diesen Grund an." - diff --git a/redbot/cogs/warnings/locales/el-GR.po b/redbot/cogs/warnings/locales/el-GR.po index 6a8423816..105415248 100644 --- a/redbot/cogs/warnings/locales/el-GR.po +++ b/redbot/cogs/warnings/locales/el-GR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,249 +33,201 @@ msgid "You may enter your response now." msgstr "" #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." msgstr "" -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" msgstr "" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." msgstr "" -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." msgstr "" -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" msgstr "" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:148 +#: redbot/cogs/warnings/warnings.py:162 #, docstring msgid "Create a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:152 +#: redbot/cogs/warnings/warnings.py:166 msgid "*Custom* cannot be used as a reason name!" msgstr "" -#: redbot/cogs/warnings/warnings.py:162 +#: redbot/cogs/warnings/warnings.py:176 msgid "The new reason has been registered." msgstr "" -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:174 +#: redbot/cogs/warnings/warnings.py:188 msgid "That is not a registered reason name." msgstr "" -#: redbot/cogs/warnings/warnings.py:180 +#: redbot/cogs/warnings/warnings.py:194 #, docstring msgid "List all configured reasons for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:188 +#: redbot/cogs/warnings/warnings.py:202 msgid "Reason: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 msgid "Points" msgstr "" -#: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:201 +#: redbot/cogs/warnings/warnings.py:215 msgid "There are no reasons configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:207 +#: redbot/cogs/warnings/warnings.py:221 #, docstring msgid "List all configured automated actions for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:214 +#: redbot/cogs/warnings/warnings.py:228 msgid "Action: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:216 +#: redbot/cogs/warnings/warnings.py:230 msgid "Exceed command" msgstr "" -#: redbot/cogs/warnings/warnings.py:217 +#: redbot/cogs/warnings/warnings.py:231 msgid "Drop command" msgstr "" -#: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:243 msgid "There are no actions configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:235 +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." msgstr "" -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." msgstr "" -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" msgstr "" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." msgstr "" -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" msgstr "" -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" - diff --git a/redbot/cogs/warnings/locales/en-PT.po b/redbot/cogs/warnings/locales/en-PT.po index 0cb5e36b7..510c6c56f 100644 --- a/redbot/cogs/warnings/locales/en-PT.po +++ b/redbot/cogs/warnings/locales/en-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Pirate English\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,249 +33,201 @@ msgid "You may enter your response now." msgstr "" #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." msgstr "" -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" msgstr "" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." msgstr "" -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." msgstr "" -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" msgstr "" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:148 +#: redbot/cogs/warnings/warnings.py:162 #, docstring msgid "Create a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:152 +#: redbot/cogs/warnings/warnings.py:166 msgid "*Custom* cannot be used as a reason name!" msgstr "" -#: redbot/cogs/warnings/warnings.py:162 +#: redbot/cogs/warnings/warnings.py:176 msgid "The new reason has been registered." msgstr "" -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:174 +#: redbot/cogs/warnings/warnings.py:188 msgid "That is not a registered reason name." msgstr "" -#: redbot/cogs/warnings/warnings.py:180 +#: redbot/cogs/warnings/warnings.py:194 #, docstring msgid "List all configured reasons for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:188 +#: redbot/cogs/warnings/warnings.py:202 msgid "Reason: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 msgid "Points" msgstr "" -#: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:201 +#: redbot/cogs/warnings/warnings.py:215 msgid "There are no reasons configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:207 +#: redbot/cogs/warnings/warnings.py:221 #, docstring msgid "List all configured automated actions for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:214 +#: redbot/cogs/warnings/warnings.py:228 msgid "Action: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:216 +#: redbot/cogs/warnings/warnings.py:230 msgid "Exceed command" msgstr "" -#: redbot/cogs/warnings/warnings.py:217 +#: redbot/cogs/warnings/warnings.py:231 msgid "Drop command" msgstr "" -#: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:243 msgid "There are no actions configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:235 +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." msgstr "" -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." msgstr "" -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" msgstr "" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." msgstr "" -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" msgstr "" -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" - diff --git a/redbot/cogs/warnings/locales/es-ES.po b/redbot/cogs/warnings/locales/es-ES.po index 1ae37a107..e7c0bf79f 100644 --- a/redbot/cogs/warnings/locales/es-ES.po +++ b/redbot/cogs/warnings/locales/es-ES.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,249 +33,201 @@ msgid "You may enter your response now." msgstr "Ya puede escribir su respuesta." #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." msgstr "" -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" msgstr "" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." msgstr "" -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." msgstr "" -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" msgstr "" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:148 +#: redbot/cogs/warnings/warnings.py:162 #, docstring msgid "Create a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:152 +#: redbot/cogs/warnings/warnings.py:166 msgid "*Custom* cannot be used as a reason name!" msgstr "" -#: redbot/cogs/warnings/warnings.py:162 +#: redbot/cogs/warnings/warnings.py:176 msgid "The new reason has been registered." msgstr "" -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:174 +#: redbot/cogs/warnings/warnings.py:188 msgid "That is not a registered reason name." msgstr "" -#: redbot/cogs/warnings/warnings.py:180 +#: redbot/cogs/warnings/warnings.py:194 #, docstring msgid "List all configured reasons for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:188 +#: redbot/cogs/warnings/warnings.py:202 msgid "Reason: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 msgid "Points" msgstr "" -#: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:201 +#: redbot/cogs/warnings/warnings.py:215 msgid "There are no reasons configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:207 +#: redbot/cogs/warnings/warnings.py:221 #, docstring msgid "List all configured automated actions for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:214 +#: redbot/cogs/warnings/warnings.py:228 msgid "Action: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:216 +#: redbot/cogs/warnings/warnings.py:230 msgid "Exceed command" msgstr "" -#: redbot/cogs/warnings/warnings.py:217 +#: redbot/cogs/warnings/warnings.py:231 msgid "Drop command" msgstr "" -#: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:243 msgid "There are no actions configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:235 +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." msgstr "" -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." msgstr "" -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" msgstr "" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." msgstr "" -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" msgstr "" -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "Okay." - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "¡Eso no es un número!" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" - diff --git a/redbot/cogs/warnings/locales/fi-FI.po b/redbot/cogs/warnings/locales/fi-FI.po index 9701108c5..0bf6c4e3d 100644 --- a/redbot/cogs/warnings/locales/fi-FI.po +++ b/redbot/cogs/warnings/locales/fi-FI.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,249 +33,201 @@ msgid "You may enter your response now." msgstr "" #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." msgstr "" -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" msgstr "" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." msgstr "" -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." msgstr "" -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" msgstr "" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:148 +#: redbot/cogs/warnings/warnings.py:162 #, docstring msgid "Create a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:152 +#: redbot/cogs/warnings/warnings.py:166 msgid "*Custom* cannot be used as a reason name!" msgstr "" -#: redbot/cogs/warnings/warnings.py:162 +#: redbot/cogs/warnings/warnings.py:176 msgid "The new reason has been registered." msgstr "" -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:174 +#: redbot/cogs/warnings/warnings.py:188 msgid "That is not a registered reason name." msgstr "" -#: redbot/cogs/warnings/warnings.py:180 +#: redbot/cogs/warnings/warnings.py:194 #, docstring msgid "List all configured reasons for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:188 +#: redbot/cogs/warnings/warnings.py:202 msgid "Reason: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 msgid "Points" msgstr "" -#: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:201 +#: redbot/cogs/warnings/warnings.py:215 msgid "There are no reasons configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:207 +#: redbot/cogs/warnings/warnings.py:221 #, docstring msgid "List all configured automated actions for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:214 +#: redbot/cogs/warnings/warnings.py:228 msgid "Action: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:216 +#: redbot/cogs/warnings/warnings.py:230 msgid "Exceed command" msgstr "" -#: redbot/cogs/warnings/warnings.py:217 +#: redbot/cogs/warnings/warnings.py:231 msgid "Drop command" msgstr "" -#: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:243 msgid "There are no actions configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:235 +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." msgstr "" -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." msgstr "" -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" msgstr "" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." msgstr "" -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" msgstr "" -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" - diff --git a/redbot/cogs/warnings/locales/fr-FR.po b/redbot/cogs/warnings/locales/fr-FR.po index 246761041..8f763cc4e 100644 --- a/redbot/cogs/warnings/locales/fr-FR.po +++ b/redbot/cogs/warnings/locales/fr-FR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -18,268 +18,216 @@ msgstr "" #: redbot/cogs/warnings/helpers.py:70 msgid "I could not find a command from that input!" -msgstr "Je n'ai pas pu trouver une commande avec cette entrée!" +msgstr "Je n'ai pas trouvé de commande à partir de cette entrée !" #: redbot/cogs/warnings/helpers.py:77 msgid "That command requires bot owner. I can't allow you to use that for an action" -msgstr "Cette commande nécessite un propriétaire de bot. Je ne peux pas vous permettre de l'utiliser pour une action" +msgstr "Cette commande nécessite d'être le propriétaire du bot. Je ne peux pas vous permettre d'utiliser cela pour une action" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 msgid "You may enter your response now." -msgstr "Vous pouvez entrer votre réponse maintenant." +msgstr "Vous pouvez saisir votre réponse maintenant." #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." -msgstr "" +msgstr "Avertissez les utilisateurs qui se comportent mal et prenez des actions automatisées." -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." -msgstr "" +msgstr "Gérer les paramètres pour Warnings." -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." -msgstr "" +msgstr "Activer ou désactiver les raisons personnalisées pour un avertissement." -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." -msgstr "" +msgstr "Les raisons personnalisées ont été activées." -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." -msgstr "" +msgstr "Les raisons personnalisées ont été désactivées." -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" -msgstr "Nom de l'action dupliquée trouvée!" +msgstr "Nom d'action dupliqué trouvé !" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." -msgstr "" +msgstr "L'action {name} a été ajoutée." -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." -msgstr "" +msgstr "Supprimer l'action avec le nom spécifié." -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" -msgstr "" +msgstr "Aucune action nommée {name} n'existe!" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " -msgstr "" - -#: redbot/cogs/warnings/warnings.py:148 -#, docstring -msgid "Create a warning reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:152 -msgid "*Custom* cannot be used as a reason name!" +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" #: redbot/cogs/warnings/warnings.py:162 -msgid "The new reason has been registered." -msgstr "" +#, docstring +msgid "Create a warning reason." +msgstr "Créer une raison d'avertissement." -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:166 +msgid "*Custom* cannot be used as a reason name!" +msgstr "*Custom* ne peut pas être utilisé comme nom de raison !" + +#: redbot/cogs/warnings/warnings.py:176 +msgid "The new reason has been registered." +msgstr "La nouvelle raison a été enregistrée." + +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:174 -msgid "That is not a registered reason name." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:180 -#, docstring -msgid "List all configured reasons for Warnings." -msgstr "" +msgstr "Supprimer une raison d'avertissement." #: redbot/cogs/warnings/warnings.py:188 -msgid "Reason: {name}" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 -msgid "Points" -msgstr "" +msgid "That is not a registered reason name." +msgstr "Ce n'est pas un nom de raison enregistré." #: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:201 -msgid "There are no reasons configured!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:207 #, docstring -msgid "List all configured automated actions for Warnings." +msgid "List all configured reasons for Warnings." +msgstr "Lister toutes les raisons configurées pour les avertissements." + +#: redbot/cogs/warnings/warnings.py:202 +msgid "Reason: {name}" +msgstr "Raison : {name}" + +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 +msgid "Points" +msgstr "Points" + +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:214 -msgid "Action: {name}" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:216 -msgid "Exceed command" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:217 -msgid "Drop command" -msgstr "" +#: redbot/cogs/warnings/warnings.py:215 +msgid "There are no reasons configured!" +msgstr "Il n'y a pas de raisons configurées !" #: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" -msgstr "" +#, docstring +msgid "List all configured automated actions for Warnings." +msgstr "Lister toutes les actions automatisées configurées pour les avertissements." -#: redbot/cogs/warnings/warnings.py:229 -msgid "There are no actions configured!" -msgstr "" +#: redbot/cogs/warnings/warnings.py:228 +msgid "Action: {name}" +msgstr "Action : {name}" + +#: redbot/cogs/warnings/warnings.py:230 +msgid "Exceed command" +msgstr "Commande dépassée" + +#: redbot/cogs/warnings/warnings.py:231 +msgid "Drop command" +msgstr "Commande de suppression" #: redbot/cogs/warnings/warnings.py:235 -#, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:243 +msgid "There are no actions configured!" +msgstr "Il n'y a aucune action configurée !" + +#: redbot/cogs/warnings/warnings.py:256 +#, docstring +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " +msgstr "" + +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." -msgstr "" +msgstr "Vous ne pouvez pas vous avertir vous-même." -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" -msgstr "Ce n'est pas une raison enregistrée!" +msgstr "Ce n'est pas une raison enregistrée !" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." -msgstr "" +msgstr "Utilisez `{prefix}warningset allowcustomreasons` pour activer les raisons personnalisées." -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" -msgstr "" +msgstr "Avertissement de {user}" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." +msgstr "Vous avez reçu un avertissement dans {guild_name}." + +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." -msgstr "" +msgstr "L'utilisateur {user} a été averti." -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" -msgstr "Vous n'êtes pas autorisé à vérifier les avertissements pour les autres utilisateurs!" +msgstr "Vous n'êtes pas autorisé à vérifier les avertissements pour les autres utilisateurs !" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" -msgstr "Cet utilisateur n'a aucun avertissement!" +msgstr "Cet utilisateur n'a aucun avertissement !" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" -msgstr "" +msgstr "Avertissements pour {user}" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." -msgstr "" +msgstr "Supprimer un avertissement d'un utilisateur." -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." -msgstr "" +msgstr "Vous ne pouvez pas supprimer les avertissements de vous-même." -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "Combien de points faut-il donner pour cette raison?" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "Ok d'accord." - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "Cette valeur n’est pas un nombre!" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "La valeur du point doit être supérieure à 0!" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" +msgstr "Cet avertissement n'existe pas !" diff --git a/redbot/cogs/warnings/locales/hu-HU.po b/redbot/cogs/warnings/locales/hu-HU.po index b5fc634df..daf666f20 100644 --- a/redbot/cogs/warnings/locales/hu-HU.po +++ b/redbot/cogs/warnings/locales/hu-HU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,249 +33,201 @@ msgid "You may enter your response now." msgstr "" #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." msgstr "" -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" msgstr "" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." msgstr "" -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." msgstr "" -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" msgstr "" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:148 +#: redbot/cogs/warnings/warnings.py:162 #, docstring msgid "Create a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:152 +#: redbot/cogs/warnings/warnings.py:166 msgid "*Custom* cannot be used as a reason name!" msgstr "" -#: redbot/cogs/warnings/warnings.py:162 +#: redbot/cogs/warnings/warnings.py:176 msgid "The new reason has been registered." msgstr "" -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:174 +#: redbot/cogs/warnings/warnings.py:188 msgid "That is not a registered reason name." msgstr "" -#: redbot/cogs/warnings/warnings.py:180 +#: redbot/cogs/warnings/warnings.py:194 #, docstring msgid "List all configured reasons for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:188 +#: redbot/cogs/warnings/warnings.py:202 msgid "Reason: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 msgid "Points" msgstr "" -#: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:201 +#: redbot/cogs/warnings/warnings.py:215 msgid "There are no reasons configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:207 +#: redbot/cogs/warnings/warnings.py:221 #, docstring msgid "List all configured automated actions for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:214 +#: redbot/cogs/warnings/warnings.py:228 msgid "Action: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:216 +#: redbot/cogs/warnings/warnings.py:230 msgid "Exceed command" msgstr "" -#: redbot/cogs/warnings/warnings.py:217 +#: redbot/cogs/warnings/warnings.py:231 msgid "Drop command" msgstr "" -#: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:243 msgid "There are no actions configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:235 +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." msgstr "" -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." msgstr "" -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" msgstr "" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." msgstr "" -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" msgstr "" -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" - diff --git a/redbot/cogs/warnings/locales/id-ID.po b/redbot/cogs/warnings/locales/id-ID.po index c3ebb2b31..04606b34b 100644 --- a/redbot/cogs/warnings/locales/id-ID.po +++ b/redbot/cogs/warnings/locales/id-ID.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "Command itu membutuhkan ijin dari pemilik bot. Saya tidak dapat mengizinkan anda untuk menggunakannya" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,249 +33,201 @@ msgid "You may enter your response now." msgstr "" #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." msgstr "" -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" msgstr "" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." msgstr "" -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." msgstr "" -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" msgstr "" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:148 +#: redbot/cogs/warnings/warnings.py:162 #, docstring msgid "Create a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:152 +#: redbot/cogs/warnings/warnings.py:166 msgid "*Custom* cannot be used as a reason name!" msgstr "" -#: redbot/cogs/warnings/warnings.py:162 +#: redbot/cogs/warnings/warnings.py:176 msgid "The new reason has been registered." msgstr "" -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:174 +#: redbot/cogs/warnings/warnings.py:188 msgid "That is not a registered reason name." msgstr "" -#: redbot/cogs/warnings/warnings.py:180 +#: redbot/cogs/warnings/warnings.py:194 #, docstring msgid "List all configured reasons for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:188 +#: redbot/cogs/warnings/warnings.py:202 msgid "Reason: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 msgid "Points" msgstr "" -#: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:201 +#: redbot/cogs/warnings/warnings.py:215 msgid "There are no reasons configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:207 +#: redbot/cogs/warnings/warnings.py:221 #, docstring msgid "List all configured automated actions for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:214 +#: redbot/cogs/warnings/warnings.py:228 msgid "Action: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:216 +#: redbot/cogs/warnings/warnings.py:230 msgid "Exceed command" msgstr "" -#: redbot/cogs/warnings/warnings.py:217 +#: redbot/cogs/warnings/warnings.py:231 msgid "Drop command" msgstr "" -#: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:243 msgid "There are no actions configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:235 +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." msgstr "" -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." msgstr "" -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" msgstr "" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." msgstr "" -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" msgstr "" -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "Baiklah." - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" - diff --git a/redbot/cogs/warnings/locales/it-IT.po b/redbot/cogs/warnings/locales/it-IT.po index ecabba62c..d6b2bbf5d 100644 --- a/redbot/cogs/warnings/locales/it-IT.po +++ b/redbot/cogs/warnings/locales/it-IT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -18,268 +18,216 @@ msgstr "" #: redbot/cogs/warnings/helpers.py:70 msgid "I could not find a command from that input!" -msgstr "" +msgstr "Non riesco a trovare un comando da quanto inserito!" #: redbot/cogs/warnings/helpers.py:77 msgid "That command requires bot owner. I can't allow you to use that for an action" -msgstr "" +msgstr "Questo comando richiede il proprietario del bot. Non posso permetterti di utilizzarlo per un'azione" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 msgid "You may enter your response now." -msgstr "" +msgstr "Puoi inserire la tua risposta ora." #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." -msgstr "" +msgstr "Ammonisce gli utenti che si comportano male e compie azioni automatizzate." -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." -msgstr "" +msgstr "Gestisci le impostazioni per gli avvisi." -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." -msgstr "" +msgstr "Abilita o disabilita i motivi personalizzati per un avviso." -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." -msgstr "" +msgstr "I motivi personalizzati sono stati abilitati." -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." -msgstr "" +msgstr "I motivi personalizzati sono stati disabilitati." -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" -msgstr "" +msgstr "Trovato nome azione duplicato!" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." -msgstr "" +msgstr "L'azione {name} è stata aggiunta." -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." -msgstr "" +msgstr "Elimina l'azione con il nome specificato." -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" -msgstr "" +msgstr "Non esiste alcuna azione chiamata {name}!" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " -msgstr "" - -#: redbot/cogs/warnings/warnings.py:148 -#, docstring -msgid "Create a warning reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:152 -msgid "*Custom* cannot be used as a reason name!" +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" #: redbot/cogs/warnings/warnings.py:162 -msgid "The new reason has been registered." -msgstr "" +#, docstring +msgid "Create a warning reason." +msgstr "Crea un motivo di ammonizione." -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:166 +msgid "*Custom* cannot be used as a reason name!" +msgstr "*Custom* non può essere utilizzato come nome del motivo!" + +#: redbot/cogs/warnings/warnings.py:176 +msgid "The new reason has been registered." +msgstr "Il nuovo motivo è stato registrato." + +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:174 -msgid "That is not a registered reason name." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:180 -#, docstring -msgid "List all configured reasons for Warnings." -msgstr "" +msgstr "Elimina un motivo di ammonizione." #: redbot/cogs/warnings/warnings.py:188 -msgid "Reason: {name}" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 -msgid "Points" -msgstr "" +msgid "That is not a registered reason name." +msgstr "Non è un nome di motivo registrato." #: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:201 -msgid "There are no reasons configured!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:207 #, docstring -msgid "List all configured automated actions for Warnings." +msgid "List all configured reasons for Warnings." +msgstr "Elenca tutti i motivi configurati per le ammonizioni." + +#: redbot/cogs/warnings/warnings.py:202 +msgid "Reason: {name}" +msgstr "Motivo: {name}" + +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 +msgid "Points" +msgstr "Punti" + +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:214 -msgid "Action: {name}" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:216 -msgid "Exceed command" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:217 -msgid "Drop command" -msgstr "" +#: redbot/cogs/warnings/warnings.py:215 +msgid "There are no reasons configured!" +msgstr "Non sono stati configurati motivi!" #: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" -msgstr "" +#, docstring +msgid "List all configured automated actions for Warnings." +msgstr "Elenca tutte le azioni automatizzate configurate per le ammonizioni." -#: redbot/cogs/warnings/warnings.py:229 -msgid "There are no actions configured!" -msgstr "" +#: redbot/cogs/warnings/warnings.py:228 +msgid "Action: {name}" +msgstr "Azione: {name}" + +#: redbot/cogs/warnings/warnings.py:230 +msgid "Exceed command" +msgstr "Comando di superamento in alto" + +#: redbot/cogs/warnings/warnings.py:231 +msgid "Drop command" +msgstr "Comando di superamento in basso" #: redbot/cogs/warnings/warnings.py:235 -#, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:243 +msgid "There are no actions configured!" +msgstr "Non sono state configurate azioni!" + +#: redbot/cogs/warnings/warnings.py:256 +#, docstring +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " +msgstr "" + +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." -msgstr "" +msgstr "Non puoi ammonirti da solo." -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" -msgstr "" +msgstr "Non è un motivo registrato!" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." -msgstr "" +msgstr "Esegui `{prefix}warningset allowcustomreasons true` per abilitare i motivi personalizzati." -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" -msgstr "" +msgstr "Ammonizione da {user}" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." +msgstr "Hai ricevuto un'ammonizione in {guild_name}." + +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." -msgstr "" +msgstr "L'utente {user} è stato ammonito." -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" -msgstr "" +msgstr "Non hai il permesso di controllare le ammonizioni per altri utenti!" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" +msgstr "Questo utente non ha ammonizioni!" + +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" -msgstr "" +msgstr "Ammonizioni per {user}" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." -msgstr "" +msgstr "Rimuovi un'ammonizione da un utente." -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." -msgstr "" +msgstr "Non puoi rimuovere ammonizioni da te stesso." -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" +msgstr "Questa ammonizione non esiste!" diff --git a/redbot/cogs/warnings/locales/ja-JP.po b/redbot/cogs/warnings/locales/ja-JP.po index 323810792..74f610ed2 100644 --- a/redbot/cogs/warnings/locales/ja-JP.po +++ b/redbot/cogs/warnings/locales/ja-JP.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,249 +33,201 @@ msgid "You may enter your response now." msgstr "" #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." msgstr "" -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" msgstr "" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." msgstr "" -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." msgstr "" -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" msgstr "" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:148 +#: redbot/cogs/warnings/warnings.py:162 #, docstring msgid "Create a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:152 +#: redbot/cogs/warnings/warnings.py:166 msgid "*Custom* cannot be used as a reason name!" msgstr "" -#: redbot/cogs/warnings/warnings.py:162 +#: redbot/cogs/warnings/warnings.py:176 msgid "The new reason has been registered." msgstr "" -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:174 +#: redbot/cogs/warnings/warnings.py:188 msgid "That is not a registered reason name." msgstr "" -#: redbot/cogs/warnings/warnings.py:180 +#: redbot/cogs/warnings/warnings.py:194 #, docstring msgid "List all configured reasons for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:188 +#: redbot/cogs/warnings/warnings.py:202 msgid "Reason: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 msgid "Points" msgstr "" -#: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:201 +#: redbot/cogs/warnings/warnings.py:215 msgid "There are no reasons configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:207 +#: redbot/cogs/warnings/warnings.py:221 #, docstring msgid "List all configured automated actions for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:214 +#: redbot/cogs/warnings/warnings.py:228 msgid "Action: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:216 +#: redbot/cogs/warnings/warnings.py:230 msgid "Exceed command" msgstr "" -#: redbot/cogs/warnings/warnings.py:217 +#: redbot/cogs/warnings/warnings.py:231 msgid "Drop command" msgstr "" -#: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:243 msgid "There are no actions configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:235 +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." msgstr "" -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." msgstr "" -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" msgstr "" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." msgstr "" -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" msgstr "" -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" - diff --git a/redbot/cogs/warnings/locales/ko-KR.po b/redbot/cogs/warnings/locales/ko-KR.po index 4521ed774..193d1f87c 100644 --- a/redbot/cogs/warnings/locales/ko-KR.po +++ b/redbot/cogs/warnings/locales/ko-KR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,249 +33,201 @@ msgid "You may enter your response now." msgstr "" #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." msgstr "" -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" msgstr "" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." msgstr "" -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." msgstr "" -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" msgstr "" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:148 +#: redbot/cogs/warnings/warnings.py:162 #, docstring msgid "Create a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:152 +#: redbot/cogs/warnings/warnings.py:166 msgid "*Custom* cannot be used as a reason name!" msgstr "" -#: redbot/cogs/warnings/warnings.py:162 +#: redbot/cogs/warnings/warnings.py:176 msgid "The new reason has been registered." msgstr "" -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:174 +#: redbot/cogs/warnings/warnings.py:188 msgid "That is not a registered reason name." msgstr "" -#: redbot/cogs/warnings/warnings.py:180 +#: redbot/cogs/warnings/warnings.py:194 #, docstring msgid "List all configured reasons for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:188 +#: redbot/cogs/warnings/warnings.py:202 msgid "Reason: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 msgid "Points" msgstr "" -#: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:201 +#: redbot/cogs/warnings/warnings.py:215 msgid "There are no reasons configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:207 +#: redbot/cogs/warnings/warnings.py:221 #, docstring msgid "List all configured automated actions for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:214 +#: redbot/cogs/warnings/warnings.py:228 msgid "Action: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:216 +#: redbot/cogs/warnings/warnings.py:230 msgid "Exceed command" msgstr "" -#: redbot/cogs/warnings/warnings.py:217 +#: redbot/cogs/warnings/warnings.py:231 msgid "Drop command" msgstr "" -#: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:243 msgid "There are no actions configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:235 +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." msgstr "" -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." msgstr "" -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" msgstr "" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." msgstr "" -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" msgstr "" -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" - diff --git a/redbot/cogs/warnings/locales/lol-US.po b/redbot/cogs/warnings/locales/lol-US.po index f6271edfd..ea6d7bfb7 100644 --- a/redbot/cogs/warnings/locales/lol-US.po +++ b/redbot/cogs/warnings/locales/lol-US.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: LOLCAT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,249 +33,201 @@ msgid "You may enter your response now." msgstr "" #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." msgstr "" -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" msgstr "" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." msgstr "" -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." msgstr "" -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" msgstr "" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:148 +#: redbot/cogs/warnings/warnings.py:162 #, docstring msgid "Create a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:152 +#: redbot/cogs/warnings/warnings.py:166 msgid "*Custom* cannot be used as a reason name!" msgstr "" -#: redbot/cogs/warnings/warnings.py:162 +#: redbot/cogs/warnings/warnings.py:176 msgid "The new reason has been registered." msgstr "" -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:174 +#: redbot/cogs/warnings/warnings.py:188 msgid "That is not a registered reason name." msgstr "" -#: redbot/cogs/warnings/warnings.py:180 +#: redbot/cogs/warnings/warnings.py:194 #, docstring msgid "List all configured reasons for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:188 +#: redbot/cogs/warnings/warnings.py:202 msgid "Reason: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 msgid "Points" msgstr "" -#: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:201 +#: redbot/cogs/warnings/warnings.py:215 msgid "There are no reasons configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:207 +#: redbot/cogs/warnings/warnings.py:221 #, docstring msgid "List all configured automated actions for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:214 +#: redbot/cogs/warnings/warnings.py:228 msgid "Action: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:216 +#: redbot/cogs/warnings/warnings.py:230 msgid "Exceed command" msgstr "" -#: redbot/cogs/warnings/warnings.py:217 +#: redbot/cogs/warnings/warnings.py:231 msgid "Drop command" msgstr "" -#: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:243 msgid "There are no actions configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:235 +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." msgstr "" -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." msgstr "" -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" msgstr "" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." msgstr "" -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" msgstr "" -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" - diff --git a/redbot/cogs/warnings/locales/nl-NL.po b/redbot/cogs/warnings/locales/nl-NL.po index 8b05bbc56..f2266742a 100644 --- a/redbot/cogs/warnings/locales/nl-NL.po +++ b/redbot/cogs/warnings/locales/nl-NL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "Deze commando vereist de eigenaar van de bot. Ik kan jou niet toestaan deze te gebruiken voor een actie" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,249 +33,201 @@ msgid "You may enter your response now." msgstr "Je kan nu jouw antwoord invoeren." #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." msgstr "" -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" msgstr "Dubbele actienaam gevonden!" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." msgstr "" -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." msgstr "" -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" msgstr "" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:148 +#: redbot/cogs/warnings/warnings.py:162 #, docstring msgid "Create a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:152 +#: redbot/cogs/warnings/warnings.py:166 msgid "*Custom* cannot be used as a reason name!" msgstr "" -#: redbot/cogs/warnings/warnings.py:162 +#: redbot/cogs/warnings/warnings.py:176 msgid "The new reason has been registered." msgstr "" -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:174 +#: redbot/cogs/warnings/warnings.py:188 msgid "That is not a registered reason name." msgstr "" -#: redbot/cogs/warnings/warnings.py:180 +#: redbot/cogs/warnings/warnings.py:194 #, docstring msgid "List all configured reasons for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:188 +#: redbot/cogs/warnings/warnings.py:202 msgid "Reason: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 msgid "Points" msgstr "" -#: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:201 +#: redbot/cogs/warnings/warnings.py:215 msgid "There are no reasons configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:207 +#: redbot/cogs/warnings/warnings.py:221 #, docstring msgid "List all configured automated actions for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:214 +#: redbot/cogs/warnings/warnings.py:228 msgid "Action: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:216 +#: redbot/cogs/warnings/warnings.py:230 msgid "Exceed command" msgstr "" -#: redbot/cogs/warnings/warnings.py:217 +#: redbot/cogs/warnings/warnings.py:231 msgid "Drop command" msgstr "" -#: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:243 msgid "There are no actions configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:235 +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "Dat is geen geregistreerde reden!" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." msgstr "" -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." msgstr "" -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" msgstr "Jij bent niet bevoegd om waarschuwingen voor andere gebruikers te controleren!" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "Deze gebruiker heeft geen waarschuwingen!" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." msgstr "" -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" msgstr "" -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "Hoeveel punten moeten er gegeven worden voor deze reden?" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "Oké dan." - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "Dat is geen nummer!" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "De puntwaarde moet groter dan 0 zijn!" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" - diff --git a/redbot/cogs/warnings/locales/no-NO.po b/redbot/cogs/warnings/locales/no-NO.po index e347d91cc..1fbca5660 100644 --- a/redbot/cogs/warnings/locales/no-NO.po +++ b/redbot/cogs/warnings/locales/no-NO.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Norwegian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,249 +33,201 @@ msgid "You may enter your response now." msgstr "" #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." msgstr "" -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" msgstr "" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." msgstr "" -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." msgstr "" -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" msgstr "" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:148 +#: redbot/cogs/warnings/warnings.py:162 #, docstring msgid "Create a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:152 +#: redbot/cogs/warnings/warnings.py:166 msgid "*Custom* cannot be used as a reason name!" msgstr "" -#: redbot/cogs/warnings/warnings.py:162 +#: redbot/cogs/warnings/warnings.py:176 msgid "The new reason has been registered." msgstr "" -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:174 +#: redbot/cogs/warnings/warnings.py:188 msgid "That is not a registered reason name." msgstr "" -#: redbot/cogs/warnings/warnings.py:180 +#: redbot/cogs/warnings/warnings.py:194 #, docstring msgid "List all configured reasons for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:188 +#: redbot/cogs/warnings/warnings.py:202 msgid "Reason: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 msgid "Points" msgstr "" -#: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:201 +#: redbot/cogs/warnings/warnings.py:215 msgid "There are no reasons configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:207 +#: redbot/cogs/warnings/warnings.py:221 #, docstring msgid "List all configured automated actions for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:214 +#: redbot/cogs/warnings/warnings.py:228 msgid "Action: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:216 +#: redbot/cogs/warnings/warnings.py:230 msgid "Exceed command" msgstr "" -#: redbot/cogs/warnings/warnings.py:217 +#: redbot/cogs/warnings/warnings.py:231 msgid "Drop command" msgstr "" -#: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:243 msgid "There are no actions configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:235 +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." msgstr "" -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." msgstr "" -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" msgstr "" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." msgstr "" -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" msgstr "" -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" - diff --git a/redbot/cogs/warnings/locales/pl-PL.po b/redbot/cogs/warnings/locales/pl-PL.po index f99370080..a7e4711cf 100644 --- a/redbot/cogs/warnings/locales/pl-PL.po +++ b/redbot/cogs/warnings/locales/pl-PL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,249 +33,201 @@ msgid "You may enter your response now." msgstr "" #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." msgstr "" -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" msgstr "" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." msgstr "" -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." msgstr "" -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" msgstr "" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:148 +#: redbot/cogs/warnings/warnings.py:162 #, docstring msgid "Create a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:152 +#: redbot/cogs/warnings/warnings.py:166 msgid "*Custom* cannot be used as a reason name!" msgstr "" -#: redbot/cogs/warnings/warnings.py:162 +#: redbot/cogs/warnings/warnings.py:176 msgid "The new reason has been registered." msgstr "" -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:174 +#: redbot/cogs/warnings/warnings.py:188 msgid "That is not a registered reason name." msgstr "" -#: redbot/cogs/warnings/warnings.py:180 +#: redbot/cogs/warnings/warnings.py:194 #, docstring msgid "List all configured reasons for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:188 +#: redbot/cogs/warnings/warnings.py:202 msgid "Reason: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 msgid "Points" msgstr "" -#: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:201 +#: redbot/cogs/warnings/warnings.py:215 msgid "There are no reasons configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:207 +#: redbot/cogs/warnings/warnings.py:221 #, docstring msgid "List all configured automated actions for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:214 +#: redbot/cogs/warnings/warnings.py:228 msgid "Action: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:216 +#: redbot/cogs/warnings/warnings.py:230 msgid "Exceed command" msgstr "" -#: redbot/cogs/warnings/warnings.py:217 +#: redbot/cogs/warnings/warnings.py:231 msgid "Drop command" msgstr "" -#: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:243 msgid "There are no actions configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:235 +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." msgstr "" -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." msgstr "" -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" msgstr "" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." msgstr "" -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" msgstr "" -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" - diff --git a/redbot/cogs/warnings/locales/pt-BR.po b/redbot/cogs/warnings/locales/pt-BR.po index 5ed754b3d..edc29f0e4 100644 --- a/redbot/cogs/warnings/locales/pt-BR.po +++ b/redbot/cogs/warnings/locales/pt-BR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese, Brazilian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,249 +33,201 @@ msgid "You may enter your response now." msgstr "" #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." msgstr "" -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" msgstr "" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." msgstr "" -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." msgstr "" -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" msgstr "" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:148 +#: redbot/cogs/warnings/warnings.py:162 #, docstring msgid "Create a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:152 +#: redbot/cogs/warnings/warnings.py:166 msgid "*Custom* cannot be used as a reason name!" msgstr "" -#: redbot/cogs/warnings/warnings.py:162 +#: redbot/cogs/warnings/warnings.py:176 msgid "The new reason has been registered." msgstr "" -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:174 +#: redbot/cogs/warnings/warnings.py:188 msgid "That is not a registered reason name." msgstr "" -#: redbot/cogs/warnings/warnings.py:180 +#: redbot/cogs/warnings/warnings.py:194 #, docstring msgid "List all configured reasons for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:188 +#: redbot/cogs/warnings/warnings.py:202 msgid "Reason: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 msgid "Points" msgstr "" -#: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:201 +#: redbot/cogs/warnings/warnings.py:215 msgid "There are no reasons configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:207 +#: redbot/cogs/warnings/warnings.py:221 #, docstring msgid "List all configured automated actions for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:214 +#: redbot/cogs/warnings/warnings.py:228 msgid "Action: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:216 +#: redbot/cogs/warnings/warnings.py:230 msgid "Exceed command" msgstr "" -#: redbot/cogs/warnings/warnings.py:217 +#: redbot/cogs/warnings/warnings.py:231 msgid "Drop command" msgstr "" -#: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:243 msgid "There are no actions configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:235 +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." msgstr "" -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." msgstr "" -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" msgstr "" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." msgstr "" -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" msgstr "" -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" - diff --git a/redbot/cogs/warnings/locales/pt-PT.po b/redbot/cogs/warnings/locales/pt-PT.po index ec0348f05..c342940bc 100644 --- a/redbot/cogs/warnings/locales/pt-PT.po +++ b/redbot/cogs/warnings/locales/pt-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,249 +33,201 @@ msgid "You may enter your response now." msgstr "" #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." msgstr "" -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" msgstr "" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." msgstr "" -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." msgstr "" -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" msgstr "" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:148 +#: redbot/cogs/warnings/warnings.py:162 #, docstring msgid "Create a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:152 +#: redbot/cogs/warnings/warnings.py:166 msgid "*Custom* cannot be used as a reason name!" msgstr "" -#: redbot/cogs/warnings/warnings.py:162 +#: redbot/cogs/warnings/warnings.py:176 msgid "The new reason has been registered." msgstr "" -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:174 +#: redbot/cogs/warnings/warnings.py:188 msgid "That is not a registered reason name." msgstr "" -#: redbot/cogs/warnings/warnings.py:180 +#: redbot/cogs/warnings/warnings.py:194 #, docstring msgid "List all configured reasons for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:188 +#: redbot/cogs/warnings/warnings.py:202 msgid "Reason: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 msgid "Points" msgstr "" -#: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:201 +#: redbot/cogs/warnings/warnings.py:215 msgid "There are no reasons configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:207 +#: redbot/cogs/warnings/warnings.py:221 #, docstring msgid "List all configured automated actions for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:214 +#: redbot/cogs/warnings/warnings.py:228 msgid "Action: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:216 +#: redbot/cogs/warnings/warnings.py:230 msgid "Exceed command" msgstr "" -#: redbot/cogs/warnings/warnings.py:217 +#: redbot/cogs/warnings/warnings.py:231 msgid "Drop command" msgstr "" -#: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:243 msgid "There are no actions configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:235 +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." msgstr "" -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." msgstr "" -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" msgstr "" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." msgstr "" -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" msgstr "" -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" - diff --git a/redbot/cogs/warnings/locales/ro-RO.po b/redbot/cogs/warnings/locales/ro-RO.po new file mode 100644 index 000000000..6cafe5a73 --- /dev/null +++ b/redbot/cogs/warnings/locales/ro-RO.po @@ -0,0 +1,233 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:09\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Romanian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /cogs/warnings/locales/messages.pot\n" +"Language: ro_RO\n" + +#: redbot/cogs/warnings/helpers.py:70 +msgid "I could not find a command from that input!" +msgstr "" + +#: redbot/cogs/warnings/helpers.py:77 +msgid "That command requires bot owner. I can't allow you to use that for an action" +msgstr "" + +#: redbot/cogs/warnings/helpers.py:86 +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." +msgstr "" + +#: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 +msgid "You may enter your response now." +msgstr "" + +#: redbot/cogs/warnings/helpers.py:128 +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:25 +#, docstring +msgid "Warn misbehaving users and take automated actions." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:65 +#, docstring +msgid "Manage settings for Warnings." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:71 +#, docstring +msgid "Enable or disable custom reasons for a warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:75 +msgid "Custom reasons have been enabled." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:77 +msgid "Custom reasons have been disabled." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:83 +#, docstring +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " +msgstr "" + +#: redbot/cogs/warnings/warnings.py:98 +#, docstring +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " +msgstr "" + +#: redbot/cogs/warnings/warnings.py:119 +msgid "Duplicate action name found!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:126 +msgid "Action {name} has been added." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:131 +#, docstring +msgid "Delete the action with the specified name." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:144 +msgid "No action named {name} exists!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:150 +#, docstring +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " +msgstr "" + +#: redbot/cogs/warnings/warnings.py:162 +#, docstring +msgid "Create a warning reason." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:166 +msgid "*Custom* cannot be used as a reason name!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:176 +msgid "The new reason has been registered." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:181 +#, docstring +msgid "Delete a warning reason." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:188 +msgid "That is not a registered reason name." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:194 +#, docstring +msgid "List all configured reasons for Warnings." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:202 +msgid "Reason: {name}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 +msgid "Points" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:215 +msgid "There are no reasons configured!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:221 +#, docstring +msgid "List all configured automated actions for Warnings." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:228 +msgid "Action: {name}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:230 +msgid "Exceed command" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:231 +msgid "Drop command" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:243 +msgid "There are no actions configured!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:256 +#, docstring +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " +msgstr "" + +#: redbot/cogs/warnings/warnings.py:264 +msgid "You cannot warn yourself." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:271 +msgid "That is not a registered reason!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:279 +msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:305 +msgid "Warning from {user}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:310 +msgid "You have received a warning in {guild_name}." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 +msgid "User {user} has been warned." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:348 +#, docstring +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " +msgstr "" + +#: redbot/cogs/warnings/warnings.py:360 +msgid "You are not allowed to check warnings for other users!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:374 +msgid "That user has no warnings!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:394 +msgid "Warnings for {user}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:401 +#, docstring +msgid "Remove a warning from a user." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:414 +msgid "You cannot remove warnings from yourself." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:421 +msgid "That warning doesn't exist!" +msgstr "" + diff --git a/redbot/cogs/warnings/locales/ru-RU.po b/redbot/cogs/warnings/locales/ru-RU.po index 1ff719de2..6cdee1d03 100644 --- a/redbot/cogs/warnings/locales/ru-RU.po +++ b/redbot/cogs/warnings/locales/ru-RU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 05:52\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "Необходимо быть владельцем бота. Я не могу вам разрешить это действие" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,249 +33,201 @@ msgid "You may enter your response now." msgstr "Вам необходимо написать ответ сейчас." #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." -msgstr "" +msgstr "Предупреждать плохо ведущих себя пользователей и предпринимайте автоматизированные действия." -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." -msgstr "" +msgstr "Управление настройками для предупреждений." -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." -msgstr "" +msgstr "Включить или отключить пользовательские причины для предупреждения." -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." -msgstr "" +msgstr "Пользовательские причины были включены." -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." -msgstr "" +msgstr "Пользовательские причины были отключены." -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" -msgstr "Копия действия найдена!" +msgstr "Найдено повторяющееся имя действия!" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." -msgstr "" +msgstr "Действие {name} было добавлено." -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." -msgstr "" +msgstr "Удалить действие с указанным именем." -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" -msgstr "" +msgstr "Никаких действий с именем {name} не существует!" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " -msgstr "" - -#: redbot/cogs/warnings/warnings.py:148 -#, docstring -msgid "Create a warning reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:152 -msgid "*Custom* cannot be used as a reason name!" +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" #: redbot/cogs/warnings/warnings.py:162 -msgid "The new reason has been registered." -msgstr "" +#, docstring +msgid "Create a warning reason." +msgstr "Создать причину предупреждения." -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:166 +msgid "*Custom* cannot be used as a reason name!" +msgstr "*Custom* нельзя использовать в качестве имени причины!" + +#: redbot/cogs/warnings/warnings.py:176 +msgid "The new reason has been registered." +msgstr "Новая причина была зарегистрирована." + +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:174 -msgid "That is not a registered reason name." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:180 -#, docstring -msgid "List all configured reasons for Warnings." -msgstr "" +msgstr "Удалить причину предупреждения." #: redbot/cogs/warnings/warnings.py:188 -msgid "Reason: {name}" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 -msgid "Points" -msgstr "" +msgid "That is not a registered reason name." +msgstr "Это не зарегистрированное имя причины." #: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:201 -msgid "There are no reasons configured!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:207 #, docstring -msgid "List all configured automated actions for Warnings." +msgid "List all configured reasons for Warnings." +msgstr "Перечислите все настроенные причины для предупреждений." + +#: redbot/cogs/warnings/warnings.py:202 +msgid "Reason: {name}" +msgstr "Причина: {name}" + +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 +msgid "Points" +msgstr "Баллы" + +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:214 -msgid "Action: {name}" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:216 -msgid "Exceed command" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:217 -msgid "Drop command" -msgstr "" +#: redbot/cogs/warnings/warnings.py:215 +msgid "There are no reasons configured!" +msgstr "Нет настроенных причин!" #: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" -msgstr "" +#, docstring +msgid "List all configured automated actions for Warnings." +msgstr "Список всех настроенных автоматических действий для предупреждений." -#: redbot/cogs/warnings/warnings.py:229 -msgid "There are no actions configured!" -msgstr "" +#: redbot/cogs/warnings/warnings.py:228 +msgid "Action: {name}" +msgstr "Действие: {name}" + +#: redbot/cogs/warnings/warnings.py:230 +msgid "Exceed command" +msgstr "Команды превышения" + +#: redbot/cogs/warnings/warnings.py:231 +msgid "Drop command" +msgstr "Команда сброса" #: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:243 +msgid "There are no actions configured!" +msgstr "Нет настроенных действий!" + +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." -msgstr "" +msgstr "Вы не можете предупредить себя." -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "Эта причина не зарегистрированна!" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." -msgstr "" +msgstr "Введите `{prefix}warningset allowcustomreasons true` чтобы включить пользовательские причины." -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" -msgstr "" +msgstr "Предупреждение от {user}" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." +msgstr "Вы получили предупреждение на сервере {guild_name}." + +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." -msgstr "" +msgstr "Пользователь {user} был предупрежден." -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" msgstr "Вам не разрешено проверять предупреждения для других пользователей!" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "У этого пользователя нет предупреждений!" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" -msgstr "" +msgstr "Предупреждения для {user}" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." -msgstr "" +msgstr "Удалить предупреждение пользователя." -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." -msgstr "" +msgstr "Вы не можете удалить предупреждения от себя." -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "Сколько очков выдано для этой причины?" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "Хорошо, позже." - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "Это не число!" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "Значение очков необходимо больше чем 0!" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" +msgstr "Это предупреждение не существует!" diff --git a/redbot/cogs/warnings/locales/sk-SK.po b/redbot/cogs/warnings/locales/sk-SK.po index 82f98a058..a190da6fe 100644 --- a/redbot/cogs/warnings/locales/sk-SK.po +++ b/redbot/cogs/warnings/locales/sk-SK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Slovak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,249 +33,201 @@ msgid "You may enter your response now." msgstr "" #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." msgstr "" -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" msgstr "" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." msgstr "" -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." msgstr "" -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" msgstr "" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:148 +#: redbot/cogs/warnings/warnings.py:162 #, docstring msgid "Create a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:152 +#: redbot/cogs/warnings/warnings.py:166 msgid "*Custom* cannot be used as a reason name!" msgstr "" -#: redbot/cogs/warnings/warnings.py:162 +#: redbot/cogs/warnings/warnings.py:176 msgid "The new reason has been registered." msgstr "" -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:174 +#: redbot/cogs/warnings/warnings.py:188 msgid "That is not a registered reason name." msgstr "" -#: redbot/cogs/warnings/warnings.py:180 +#: redbot/cogs/warnings/warnings.py:194 #, docstring msgid "List all configured reasons for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:188 +#: redbot/cogs/warnings/warnings.py:202 msgid "Reason: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 msgid "Points" msgstr "" -#: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:201 +#: redbot/cogs/warnings/warnings.py:215 msgid "There are no reasons configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:207 +#: redbot/cogs/warnings/warnings.py:221 #, docstring msgid "List all configured automated actions for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:214 +#: redbot/cogs/warnings/warnings.py:228 msgid "Action: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:216 +#: redbot/cogs/warnings/warnings.py:230 msgid "Exceed command" msgstr "" -#: redbot/cogs/warnings/warnings.py:217 +#: redbot/cogs/warnings/warnings.py:231 msgid "Drop command" msgstr "" -#: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:243 msgid "There are no actions configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:235 +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." msgstr "" -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." msgstr "" -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" msgstr "" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." msgstr "" -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" msgstr "" -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" - diff --git a/redbot/cogs/warnings/locales/sv-SE.po b/redbot/cogs/warnings/locales/sv-SE.po index 6d5522e93..cb92bec40 100644 --- a/redbot/cogs/warnings/locales/sv-SE.po +++ b/redbot/cogs/warnings/locales/sv-SE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,249 +33,201 @@ msgid "You may enter your response now." msgstr "" #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." msgstr "" -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" msgstr "" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." msgstr "" -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." msgstr "" -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" msgstr "" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:148 +#: redbot/cogs/warnings/warnings.py:162 #, docstring msgid "Create a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:152 +#: redbot/cogs/warnings/warnings.py:166 msgid "*Custom* cannot be used as a reason name!" msgstr "" -#: redbot/cogs/warnings/warnings.py:162 +#: redbot/cogs/warnings/warnings.py:176 msgid "The new reason has been registered." msgstr "" -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:174 +#: redbot/cogs/warnings/warnings.py:188 msgid "That is not a registered reason name." msgstr "" -#: redbot/cogs/warnings/warnings.py:180 +#: redbot/cogs/warnings/warnings.py:194 #, docstring msgid "List all configured reasons for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:188 +#: redbot/cogs/warnings/warnings.py:202 msgid "Reason: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 msgid "Points" msgstr "" -#: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:201 +#: redbot/cogs/warnings/warnings.py:215 msgid "There are no reasons configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:207 +#: redbot/cogs/warnings/warnings.py:221 #, docstring msgid "List all configured automated actions for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:214 +#: redbot/cogs/warnings/warnings.py:228 msgid "Action: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:216 +#: redbot/cogs/warnings/warnings.py:230 msgid "Exceed command" msgstr "" -#: redbot/cogs/warnings/warnings.py:217 +#: redbot/cogs/warnings/warnings.py:231 msgid "Drop command" msgstr "" -#: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:243 msgid "There are no actions configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:235 +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." msgstr "" -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." msgstr "" -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" msgstr "" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." msgstr "" -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" msgstr "" -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" - diff --git a/redbot/cogs/warnings/locales/tr-TR.po b/redbot/cogs/warnings/locales/tr-TR.po index 1ee10f44b..c6fb345bf 100644 --- a/redbot/cogs/warnings/locales/tr-TR.po +++ b/redbot/cogs/warnings/locales/tr-TR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,249 +33,201 @@ msgid "You may enter your response now." msgstr "" #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." msgstr "" -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" msgstr "" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." msgstr "" -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." msgstr "" -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" msgstr "" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:148 +#: redbot/cogs/warnings/warnings.py:162 #, docstring msgid "Create a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:152 +#: redbot/cogs/warnings/warnings.py:166 msgid "*Custom* cannot be used as a reason name!" msgstr "" -#: redbot/cogs/warnings/warnings.py:162 +#: redbot/cogs/warnings/warnings.py:176 msgid "The new reason has been registered." msgstr "" -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:174 +#: redbot/cogs/warnings/warnings.py:188 msgid "That is not a registered reason name." msgstr "" -#: redbot/cogs/warnings/warnings.py:180 +#: redbot/cogs/warnings/warnings.py:194 #, docstring msgid "List all configured reasons for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:188 +#: redbot/cogs/warnings/warnings.py:202 msgid "Reason: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 msgid "Points" msgstr "Puanlar" -#: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:201 +#: redbot/cogs/warnings/warnings.py:215 msgid "There are no reasons configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:207 +#: redbot/cogs/warnings/warnings.py:221 #, docstring msgid "List all configured automated actions for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:214 +#: redbot/cogs/warnings/warnings.py:228 msgid "Action: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:216 +#: redbot/cogs/warnings/warnings.py:230 msgid "Exceed command" msgstr "" -#: redbot/cogs/warnings/warnings.py:217 +#: redbot/cogs/warnings/warnings.py:231 msgid "Drop command" msgstr "" -#: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:243 msgid "There are no actions configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:235 +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." msgstr "" -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." msgstr "" -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" msgstr "" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "Bu kullanıcının hiç uyarısı yok!" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." msgstr "" -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" msgstr "" -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "Bu bir sayı değil!" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "Puan değeri sıfırdan büyük olmalı!" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "Bu sebep için bir açıklama girin." - diff --git a/redbot/cogs/warnings/locales/zh-CN.po b/redbot/cogs/warnings/locales/zh-CN.po index cbb2a45b3..582d6610c 100644 --- a/redbot/cogs/warnings/locales/zh-CN.po +++ b/redbot/cogs/warnings/locales/zh-CN.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -25,11 +25,7 @@ msgid "That command requires bot owner. I can't allow you to use that for an act msgstr "" #: redbot/cogs/warnings/helpers.py:86 -msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\n" -"**If you do not wish to have a command run, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" #: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 @@ -37,249 +33,201 @@ msgid "You may enter your response now." msgstr "" #: redbot/cogs/warnings/helpers.py:128 -msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\n" -"**If you do not wish to have a command run on dropping points, enter** `none`.\n\n" -"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\n\n" -"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n\n" -"Please wait 15 seconds before entering your response." +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." msgstr "" -#: redbot/cogs/warnings/warnings.py:26 +#: redbot/cogs/warnings/warnings.py:25 #, docstring msgid "Warn misbehaving users and take automated actions." msgstr "" -#: redbot/cogs/warnings/warnings.py:51 +#: redbot/cogs/warnings/warnings.py:65 #, docstring msgid "Manage settings for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:57 +#: redbot/cogs/warnings/warnings.py:71 #, docstring msgid "Enable or disable custom reasons for a warning." msgstr "" -#: redbot/cogs/warnings/warnings.py:61 +#: redbot/cogs/warnings/warnings.py:75 msgid "Custom reasons have been enabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:63 +#: redbot/cogs/warnings/warnings.py:77 msgid "Custom reasons have been disabled." msgstr "" -#: redbot/cogs/warnings/warnings.py:69 +#: redbot/cogs/warnings/warnings.py:83 #, docstring -msgid "Manage automated actions for Warnings.\n\n" -" Actions are essentially command macros. Any command can be run\n" -" when the action is initially triggered, and/or when the action\n" -" is lifted.\n\n" -" Actions must be given a name and a points threshold. When a\n" -" user is warned enough so that their points go over this\n" -" threshold, the action will be executed.\n" -" " +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:84 +#: redbot/cogs/warnings/warnings.py:98 #, docstring -msgid "Create an automated action.\n\n" -" Duplicate action names are not allowed.\n" -" " +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:105 +#: redbot/cogs/warnings/warnings.py:119 msgid "Duplicate action name found!" msgstr "" -#: redbot/cogs/warnings/warnings.py:112 +#: redbot/cogs/warnings/warnings.py:126 msgid "Action {name} has been added." msgstr "" -#: redbot/cogs/warnings/warnings.py:117 +#: redbot/cogs/warnings/warnings.py:131 #, docstring msgid "Delete the action with the specified name." msgstr "" -#: redbot/cogs/warnings/warnings.py:130 +#: redbot/cogs/warnings/warnings.py:144 msgid "No action named {name} exists!" msgstr "" -#: redbot/cogs/warnings/warnings.py:136 +#: redbot/cogs/warnings/warnings.py:150 #, docstring -msgid "Manage warning reasons.\n\n" -" Reasons must be given a name, description and points value. The\n" -" name of the reason must be given when a user is warned.\n" -" " +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:148 +#: redbot/cogs/warnings/warnings.py:162 #, docstring msgid "Create a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:152 +#: redbot/cogs/warnings/warnings.py:166 msgid "*Custom* cannot be used as a reason name!" msgstr "" -#: redbot/cogs/warnings/warnings.py:162 +#: redbot/cogs/warnings/warnings.py:176 msgid "The new reason has been registered." msgstr "" -#: redbot/cogs/warnings/warnings.py:167 +#: redbot/cogs/warnings/warnings.py:181 #, docstring msgid "Delete a warning reason." msgstr "" -#: redbot/cogs/warnings/warnings.py:174 +#: redbot/cogs/warnings/warnings.py:188 msgid "That is not a registered reason name." msgstr "" -#: redbot/cogs/warnings/warnings.py:180 +#: redbot/cogs/warnings/warnings.py:194 #, docstring msgid "List all configured reasons for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:188 +#: redbot/cogs/warnings/warnings.py:202 msgid "Reason: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:190 redbot/cogs/warnings/warnings.py:215 -#: redbot/cogs/warnings/warnings.py:297 +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 msgid "Points" msgstr "" -#: redbot/cogs/warnings/warnings.py:194 -msgid "Name: {reason_name}\n" -"Points: {points}\n" -"Description: {description}" +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" msgstr "" -#: redbot/cogs/warnings/warnings.py:201 +#: redbot/cogs/warnings/warnings.py:215 msgid "There are no reasons configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:207 +#: redbot/cogs/warnings/warnings.py:221 #, docstring msgid "List all configured automated actions for Warnings." msgstr "" -#: redbot/cogs/warnings/warnings.py:214 +#: redbot/cogs/warnings/warnings.py:228 msgid "Action: {name}" msgstr "" -#: redbot/cogs/warnings/warnings.py:216 +#: redbot/cogs/warnings/warnings.py:230 msgid "Exceed command" msgstr "" -#: redbot/cogs/warnings/warnings.py:217 +#: redbot/cogs/warnings/warnings.py:231 msgid "Drop command" msgstr "" -#: redbot/cogs/warnings/warnings.py:221 -msgid "Name: {action_name}\n" -"Points: {points}\n" -"Exceed command: {exceed_command}\n" -"Drop command: {drop_command}" +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" msgstr "" -#: redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:243 msgid "There are no actions configured!" msgstr "" -#: redbot/cogs/warnings/warnings.py:235 +#: redbot/cogs/warnings/warnings.py:256 #, docstring -msgid "Warn the user for the specified reason.\n\n" -" `` must be a registered reason name, or *custom* if\n" -" custom reasons are enabled.\n" -" " +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:241 +#: redbot/cogs/warnings/warnings.py:264 msgid "You cannot warn yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:247 -msgid "Custom reasons are not allowed! Please see `{prefix}reasonlist` for a complete list of valid reasons." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:258 +#: redbot/cogs/warnings/warnings.py:271 msgid "That is not a registered reason!" msgstr "" -#: redbot/cogs/warnings/warnings.py:260 -msgid "Do `{prefix}warn {user} custom` to specify a custom reason." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:268 +#: redbot/cogs/warnings/warnings.py:279 msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." msgstr "" -#: redbot/cogs/warnings/warnings.py:294 +#: redbot/cogs/warnings/warnings.py:305 msgid "Warning from {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:299 +#: redbot/cogs/warnings/warnings.py:310 msgid "You have received a warning in {guild_name}." msgstr "" -#: redbot/cogs/warnings/warnings.py:306 +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 msgid "User {user} has been warned." msgstr "" -#: redbot/cogs/warnings/warnings.py:313 +#: redbot/cogs/warnings/warnings.py:348 #, docstring -msgid "List the warnings for the specified user.\n\n" -" Omit `` to see your own warnings.\n\n" -" Note that showing warnings for users other than yourself requires\n" -" appropriate permissions.\n" -" " +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " msgstr "" -#: redbot/cogs/warnings/warnings.py:325 +#: redbot/cogs/warnings/warnings.py:360 msgid "You are not allowed to check warnings for other users!" msgstr "" -#: redbot/cogs/warnings/warnings.py:339 +#: redbot/cogs/warnings/warnings.py:374 msgid "That user has no warnings!" msgstr "" -#: redbot/cogs/warnings/warnings.py:349 -msgid "{num_points} point warning {reason_name} issued by {user} for {description}\n" +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" msgstr "" -#: redbot/cogs/warnings/warnings.py:359 +#: redbot/cogs/warnings/warnings.py:394 msgid "Warnings for {user}" msgstr "" -#: redbot/cogs/warnings/warnings.py:366 +#: redbot/cogs/warnings/warnings.py:401 #, docstring msgid "Remove a warning from a user." msgstr "" -#: redbot/cogs/warnings/warnings.py:379 +#: redbot/cogs/warnings/warnings.py:414 msgid "You cannot remove warnings from yourself." msgstr "" -#: redbot/cogs/warnings/warnings.py:386 +#: redbot/cogs/warnings/warnings.py:421 msgid "That warning doesn't exist!" msgstr "" -#: redbot/cogs/warnings/warnings.py:398 -msgid "How many points should be given for this reason?" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:404 redbot/cogs/warnings/warnings.py:423 -msgid "Ok then." -msgstr "" - -#: redbot/cogs/warnings/warnings.py:409 -msgid "That isn't a number!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:413 -msgid "The point value needs to be greater than 0!" -msgstr "" - -#: redbot/cogs/warnings/warnings.py:417 -msgid "Enter a description for this reason." -msgstr "" - diff --git a/redbot/cogs/warnings/locales/zh-TW.po b/redbot/cogs/warnings/locales/zh-TW.po new file mode 100644 index 000000000..6595d5f22 --- /dev/null +++ b/redbot/cogs/warnings/locales/zh-TW.po @@ -0,0 +1,233 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Chinese Traditional\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /cogs/warnings/locales/messages.pot\n" +"Language: zh_TW\n" + +#: redbot/cogs/warnings/helpers.py:70 +msgid "I could not find a command from that input!" +msgstr "" + +#: redbot/cogs/warnings/helpers.py:77 +msgid "That command requires bot owner. I can't allow you to use that for an action" +msgstr "" + +#: redbot/cogs/warnings/helpers.py:86 +msgid "Enter the command to be run when the user **exceeds the points for this action to occur.**\\n**If you do not wish to have a command run, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." +msgstr "" + +#: redbot/cogs/warnings/helpers.py:99 redbot/cogs/warnings/helpers.py:143 +msgid "You may enter your response now." +msgstr "" + +#: redbot/cogs/warnings/helpers.py:128 +msgid "Enter the command to be run when the user **returns to a value below the points for this action to occur.** Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value.\\n**If you do not wish to have a command run on dropping points, enter** `none`.\\n\\nEnter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use `{user}` in place of any user/member arguments\\n\\nWARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\\n\\nPlease wait 15 seconds before entering your response." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:25 +#, docstring +msgid "Warn misbehaving users and take automated actions." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:65 +#, docstring +msgid "Manage settings for Warnings." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:71 +#, docstring +msgid "Enable or disable custom reasons for a warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:75 +msgid "Custom reasons have been enabled." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:77 +msgid "Custom reasons have been disabled." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:83 +#, docstring +msgid "Manage automated actions for Warnings.\\n\\n Actions are essentially command macros. Any command can be run\\n when the action is initially triggered, and/or when the action\\n is lifted.\\n\\n Actions must be given a name and a points threshold. When a\\n user is warned enough so that their points go over this\\n threshold, the action will be executed.\\n " +msgstr "" + +#: redbot/cogs/warnings/warnings.py:98 +#, docstring +msgid "Create an automated action.\\n\\n Duplicate action names are not allowed.\\n " +msgstr "" + +#: redbot/cogs/warnings/warnings.py:119 +msgid "Duplicate action name found!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:126 +msgid "Action {name} has been added." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:131 +#, docstring +msgid "Delete the action with the specified name." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:144 +msgid "No action named {name} exists!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:150 +#, docstring +msgid "Manage warning reasons.\\n\\n Reasons must be given a name, description and points value. The\\n name of the reason must be given when a user is warned.\\n " +msgstr "" + +#: redbot/cogs/warnings/warnings.py:162 +#, docstring +msgid "Create a warning reason." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:166 +msgid "*Custom* cannot be used as a reason name!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:176 +msgid "The new reason has been registered." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:181 +#, docstring +msgid "Delete a warning reason." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:188 +msgid "That is not a registered reason name." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:194 +#, docstring +msgid "List all configured reasons for Warnings." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:202 +msgid "Reason: {name}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:204 redbot/cogs/warnings/warnings.py:229 +#: redbot/cogs/warnings/warnings.py:308 +msgid "Points" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:208 +msgid "Name: {reason_name}\\nPoints: {points}\\nDescription: {description}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:215 +msgid "There are no reasons configured!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:221 +#, docstring +msgid "List all configured automated actions for Warnings." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:228 +msgid "Action: {name}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:230 +msgid "Exceed command" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:231 +msgid "Drop command" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:235 +msgid "Name: {action_name}\\nPoints: {points}\\nExceed command: {exceed_command}\\nDrop command: {drop_command}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:243 +msgid "There are no actions configured!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:256 +#, docstring +msgid "Warn the user for the specified reason.\\n\\n `` number of points the warning should be for. If no number is supplied\\n 1 point will be given. Pre-set warnings disregard this.\\n `` can be a registered reason if it exists or a custom one\\n is created by default.\\n " +msgstr "" + +#: redbot/cogs/warnings/warnings.py:264 +msgid "You cannot warn yourself." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:271 +msgid "That is not a registered reason!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:279 +msgid "Do `{prefix}warningset allowcustomreasons true` to enable custom reasons." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:305 +msgid "Warning from {user}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:310 +msgid "You have received a warning in {guild_name}." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:318 +msgid "{reason}\\n\\nUse `{prefix}unwarn {user} {message}` to remove this warning." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:321 +msgid "{description}\\nPoints: {points}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:341 +msgid "User {user} has been warned." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:348 +#, docstring +msgid "List the warnings for the specified user.\\n\\n Omit `` to see your own warnings.\\n\\n Note that showing warnings for users other than yourself requires\\n appropriate permissions.\\n " +msgstr "" + +#: redbot/cogs/warnings/warnings.py:360 +msgid "You are not allowed to check warnings for other users!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:374 +msgid "That user has no warnings!" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:384 +msgid "{num_points} point warning {reason_name} issued by {user} for {description}\\n" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:394 +msgid "Warnings for {user}" +msgstr "" + +#: redbot/cogs/warnings/warnings.py:401 +#, docstring +msgid "Remove a warning from a user." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:414 +msgid "You cannot remove warnings from yourself." +msgstr "" + +#: redbot/cogs/warnings/warnings.py:421 +msgid "That warning doesn't exist!" +msgstr "" + diff --git a/redbot/core/commands/locales/ar-SA.po b/redbot/core/commands/locales/ar-SA.po index 839695813..bae2c8ede 100644 --- a/redbot/core/commands/locales/ar-SA.po +++ b/redbot/core/commands/locales/ar-SA.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: ar_SA\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " msgstr "" diff --git a/redbot/core/commands/locales/bg-BG.po b/redbot/core/commands/locales/bg-BG.po index 365fdf886..677e814b2 100644 --- a/redbot/core/commands/locales/bg-BG.po +++ b/redbot/core/commands/locales/bg-BG.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Bulgarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: bg_BG\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " msgstr "" diff --git a/redbot/core/commands/locales/cs-CZ.po b/redbot/core/commands/locales/cs-CZ.po new file mode 100644 index 000000000..9e567d87a --- /dev/null +++ b/redbot/core/commands/locales/cs-CZ.po @@ -0,0 +1,51 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: cs\n" +"X-Crowdin-File: /core/commands/locales/messages.pot\n" +"Language: cs_CZ\n" + +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." +msgstr "" + +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " +msgstr "" + diff --git a/redbot/core/commands/locales/da-DK.po b/redbot/core/commands/locales/da-DK.po index 3aedd103d..740a4b4f0 100644 --- a/redbot/core/commands/locales/da-DK.po +++ b/redbot/core/commands/locales/da-DK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: da_DK\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " msgstr "" diff --git a/redbot/core/commands/locales/de-DE.po b/redbot/core/commands/locales/de-DE.po index fbb899b26..6b862e655 100644 --- a/redbot/core/commands/locales/de-DE.po +++ b/redbot/core/commands/locales/de-DE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: de_DE\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." -msgstr "\"{argument}\" ist keine Zahl." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." +msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." -msgstr "Server \"{name}\" nicht gefunden." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "Die angegebenen Token sind nicht in einem gültigen Format." + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " +msgstr "" diff --git a/redbot/core/commands/locales/el-GR.po b/redbot/core/commands/locales/el-GR.po index 7cc772cc5..b620678e0 100644 --- a/redbot/core/commands/locales/el-GR.po +++ b/redbot/core/commands/locales/el-GR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: el_GR\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " msgstr "" diff --git a/redbot/core/commands/locales/en-PT.po b/redbot/core/commands/locales/en-PT.po index d3465d7fe..8eddfe70c 100644 --- a/redbot/core/commands/locales/en-PT.po +++ b/redbot/core/commands/locales/en-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Pirate English\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: en_PT\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " msgstr "" diff --git a/redbot/core/commands/locales/es-ES.po b/redbot/core/commands/locales/es-ES.po index a5b94de6c..9584c5b14 100644 --- a/redbot/core/commands/locales/es-ES.po +++ b/redbot/core/commands/locales/es-ES.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: es_ES\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " msgstr "" diff --git a/redbot/core/commands/locales/fi-FI.po b/redbot/core/commands/locales/fi-FI.po index b89aec663..34c7f413f 100644 --- a/redbot/core/commands/locales/fi-FI.po +++ b/redbot/core/commands/locales/fi-FI.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: fi_FI\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " msgstr "" diff --git a/redbot/core/commands/locales/fr-FR.po b/redbot/core/commands/locales/fr-FR.po index 2e11b42d4..6864842b4 100644 --- a/redbot/core/commands/locales/fr-FR.po +++ b/redbot/core/commands/locales/fr-FR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:11\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: fr_FR\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." -msgstr "\"{argument}\" n'est pas un nombre." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." +msgstr "\\\"{argument}\\\" n'est pas un nombre." -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." -msgstr "Serveur «{name}» introuvable." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "`{unit}` n'est pas une unité de temps valide pour cette commande" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "Ce temps est trop grand pour cette commande. (Maximum : {maximum})" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "Ce temps est trop petit pour cette commande. (Minimum : {minimum})" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "Serveur \\\"{name}\\\" introuvable." + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "Les tokens fournis ne sont pas dans un format valide." + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "Clé inattendue {key}" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " +msgstr "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " diff --git a/redbot/core/commands/locales/hu-HU.po b/redbot/core/commands/locales/hu-HU.po index 4b46e1780..695b86ea8 100644 --- a/redbot/core/commands/locales/hu-HU.po +++ b/redbot/core/commands/locales/hu-HU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: hu_HU\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " msgstr "" diff --git a/redbot/core/commands/locales/id-ID.po b/redbot/core/commands/locales/id-ID.po index 34b3ac6b9..0b30c9d0a 100644 --- a/redbot/core/commands/locales/id-ID.po +++ b/redbot/core/commands/locales/id-ID.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: id_ID\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " msgstr "" diff --git a/redbot/core/commands/locales/it-IT.po b/redbot/core/commands/locales/it-IT.po index 2d460697c..f6a221b7d 100644 --- a/redbot/core/commands/locales/it-IT.po +++ b/redbot/core/commands/locales/it-IT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: it_IT\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " msgstr "" diff --git a/redbot/core/commands/locales/ja-JP.po b/redbot/core/commands/locales/ja-JP.po index cc3a03ab4..44afc7125 100644 --- a/redbot/core/commands/locales/ja-JP.po +++ b/redbot/core/commands/locales/ja-JP.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: ja_JP\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " msgstr "" diff --git a/redbot/core/commands/locales/ko-KR.po b/redbot/core/commands/locales/ko-KR.po index f4e3cf220..e9de875d6 100644 --- a/redbot/core/commands/locales/ko-KR.po +++ b/redbot/core/commands/locales/ko-KR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: ko_KR\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " msgstr "" diff --git a/redbot/core/commands/locales/lol-US.po b/redbot/core/commands/locales/lol-US.po index cfd46780c..99f50574e 100644 --- a/redbot/core/commands/locales/lol-US.po +++ b/redbot/core/commands/locales/lol-US.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: LOLCAT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: lol_US\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " msgstr "" diff --git a/redbot/core/commands/locales/nl-NL.po b/redbot/core/commands/locales/nl-NL.po index 147bb159c..f9fd01db5 100644 --- a/redbot/core/commands/locales/nl-NL.po +++ b/redbot/core/commands/locales/nl-NL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: nl_NL\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." -msgstr "\"{argument}\" is geen getal." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." +msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." -msgstr "Server \"{name}\" niet gevonden." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " +msgstr "" diff --git a/redbot/core/commands/locales/no-NO.po b/redbot/core/commands/locales/no-NO.po index 7a677f65b..1088391e7 100644 --- a/redbot/core/commands/locales/no-NO.po +++ b/redbot/core/commands/locales/no-NO.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Norwegian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: no_NO\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " msgstr "" diff --git a/redbot/core/commands/locales/pl-PL.po b/redbot/core/commands/locales/pl-PL.po index fe92bf88d..c28c7b064 100644 --- a/redbot/core/commands/locales/pl-PL.po +++ b/redbot/core/commands/locales/pl-PL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: pl_PL\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "Nieoczekiwany klucz: {key}" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " msgstr "" diff --git a/redbot/core/commands/locales/pt-BR.po b/redbot/core/commands/locales/pt-BR.po index 768d6d9d3..993b4e689 100644 --- a/redbot/core/commands/locales/pt-BR.po +++ b/redbot/core/commands/locales/pt-BR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese, Brazilian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: pt_BR\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " msgstr "" diff --git a/redbot/core/commands/locales/pt-PT.po b/redbot/core/commands/locales/pt-PT.po index e75c1b6e5..3b1e75a51 100644 --- a/redbot/core/commands/locales/pt-PT.po +++ b/redbot/core/commands/locales/pt-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: pt_PT\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." -msgstr "Servidor \"{name}\" não encontrado." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " +msgstr "" diff --git a/redbot/core/commands/locales/ro-RO.po b/redbot/core/commands/locales/ro-RO.po new file mode 100644 index 000000000..1d299477e --- /dev/null +++ b/redbot/core/commands/locales/ro-RO.po @@ -0,0 +1,51 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:09\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Romanian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /core/commands/locales/messages.pot\n" +"Language: ro_RO\n" + +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." +msgstr "" + +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " +msgstr "" + diff --git a/redbot/core/commands/locales/ru-RU.po b/redbot/core/commands/locales/ru-RU.po index 4a57e4e96..42b77bd43 100644 --- a/redbot/core/commands/locales/ru-RU.po +++ b/redbot/core/commands/locales/ru-RU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 05:52\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: ru_RU\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." -msgstr "{argument} не является числом." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." +msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." -msgstr "Серверное {name} не найдено." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " +msgstr "" diff --git a/redbot/core/commands/locales/sk-SK.po b/redbot/core/commands/locales/sk-SK.po index 938514536..82907cc49 100644 --- a/redbot/core/commands/locales/sk-SK.po +++ b/redbot/core/commands/locales/sk-SK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Slovak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: sk_SK\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " msgstr "" diff --git a/redbot/core/commands/locales/sv-SE.po b/redbot/core/commands/locales/sv-SE.po index ebeede534..8670d4d0e 100644 --- a/redbot/core/commands/locales/sv-SE.po +++ b/redbot/core/commands/locales/sv-SE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: sv_SE\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " msgstr "" diff --git a/redbot/core/commands/locales/tr-TR.po b/redbot/core/commands/locales/tr-TR.po index 0a8689a40..0aa0c77a5 100644 --- a/redbot/core/commands/locales/tr-TR.po +++ b/redbot/core/commands/locales/tr-TR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: tr_TR\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " msgstr "" diff --git a/redbot/core/commands/locales/zh-CN.po b/redbot/core/commands/locales/zh-CN.po index 4dd88a95d..67110c97e 100644 --- a/redbot/core/commands/locales/zh-CN.po +++ b/redbot/core/commands/locales/zh-CN.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,11 +16,36 @@ msgstr "" "X-Crowdin-File: /core/commands/locales/messages.pot\n" "Language: zh_CN\n" -#: redbot/core/commands/commands.py:293 -msgid "\"{argument}\" is not a number." +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." msgstr "" -#: redbot/core/commands/converter.py:39 -msgid "Server \"{name}\" not found." +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " msgstr "" diff --git a/redbot/core/commands/locales/zh-TW.po b/redbot/core/commands/locales/zh-TW.po new file mode 100644 index 000000000..089c2550c --- /dev/null +++ b/redbot/core/commands/locales/zh-TW.po @@ -0,0 +1,51 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Chinese Traditional\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /core/commands/locales/messages.pot\n" +"Language: zh_TW\n" + +#: redbot/core/commands/commands.py:301 +msgid "\\\"{argument}\\\" is not a number." +msgstr "" + +#: redbot/core/commands/converter.py:90 +msgid "`{unit}` is not a valid unit of time for this command" +msgstr "" + +#: redbot/core/commands/converter.py:96 +msgid "This amount of time is too large for this command. (Maximum: {maximum})" +msgstr "" + +#: redbot/core/commands/converter.py:102 +msgid "This amount of time is too small for this command. (Minimum: {minimum})" +msgstr "" + +#: redbot/core/commands/converter.py:130 +msgid "Server \\\"{name}\\\" not found." +msgstr "" + +#: redbot/core/commands/converter.py:159 redbot/core/commands/converter.py:161 +msgid "The provided tokens are not in a valid format." +msgstr "" + +#: redbot/core/commands/converter.py:187 +msgid "Unexpected key {key}" +msgstr "" + +#: redbot/core/commands/help.py:571 +#, docstring +msgid "\\n I need somebody\\n (Help) not just anybody\\n (Help) you know I need someone\\n (Help!)\\n " +msgstr "" + diff --git a/redbot/core/locales/ar-SA.po b/redbot/core/locales/ar-SA.po index 1bf7fbdbc..85b0ed039 100644 --- a/redbot/core/locales/ar-SA.po +++ b/redbot/core/locales/ar-SA.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,6 +16,14 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: ar_SA\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." @@ -23,21 +31,16 @@ msgstr "أوامر للتفاعل مع ادارة الترس الأحمر." #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " msgstr "" #: redbot/core/cog_manager.py:343 @@ -50,10 +53,7 @@ msgstr "" #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 @@ -70,9 +70,7 @@ msgstr "" #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " msgstr "" #: redbot/core/cog_manager.py:392 @@ -89,12 +87,7 @@ msgstr "" #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " msgstr "" #: redbot/core/cog_manager.py:420 @@ -107,1028 +100,1312 @@ msgstr "" #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" msgstr "" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." msgstr "" -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" msgstr "" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" msgstr "" -#: redbot/core/core_commands.py:349 -#, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 +#, docstring +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." msgstr "" -#: redbot/core/core_commands.py:388 -#, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" msgstr "" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "" + +#: redbot/core/core_commands.py:375 +#, docstring +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." msgstr "" -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." msgstr "" -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." msgstr "" -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:420 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" msgstr "" -#: redbot/core/core_commands.py:448 +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 #, docstring msgid "Show's Red's invite url" msgstr "" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" +msgstr "" + +#: redbot/core/core_commands.py:448 +#, docstring +msgid "\\n Define if the command should be accessible for the average users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" msgstr "" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "" + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" msgstr "" -#: redbot/core/core_commands.py:520 +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "" + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring msgid "Loads packages" msgstr "" -#: redbot/core/core_commands.py:552 +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring msgid "Unloads packages" msgstr "" -#: redbot/core/core_commands.py:570 +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring msgid "Reloads packages" msgstr "" -#: redbot/core/core_commands.py:594 +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring msgid "Shuts down the bot" msgstr "" -#: redbot/core/core_commands.py:599 +#: redbot/core/core_commands.py:735 msgid "Shutting down... " msgstr "" -#: redbot/core/core_commands.py:605 +#: redbot/core/core_commands.py:741 #, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" msgstr "" -#: redbot/core/core_commands.py:612 +#: redbot/core/core_commands.py:748 msgid "Restarting..." msgstr "" -#: redbot/core/core_commands.py:617 +#: redbot/core/core_commands.py:753 #, docstring msgid "Changes Red's settings" msgstr "" -#: redbot/core/core_commands.py:649 +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" +msgstr "" + +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" +msgstr "" + +#: redbot/core/core_commands.py:795 #, docstring -msgid "Sets the admin role for this server" +msgid "\\n Adds an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." msgstr "" -#: redbot/core/core_commands.py:657 +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 #, docstring -msgid "Sets the mod role for this server" +msgid "\\n Adds a mod role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." msgstr "" -#: redbot/core/core_commands.py:665 +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 #, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " +msgid "\\n Removes an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:674 +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 msgid "The bot {} use its configured color for embeds." msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will not" msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will" msgstr "" -#: redbot/core/core_commands.py:683 +#: redbot/core/core_commands.py:865 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:691 +#: redbot/core/core_commands.py:873 msgid "Fuzzy command search has been {} for this server." msgstr "" -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "" - -#: redbot/core/core_commands.py:699 +#: redbot/core/core_commands.py:881 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:707 +#: redbot/core/core_commands.py:889 msgid "Fuzzy command search has been {} in DMs." msgstr "" -#: redbot/core/core_commands.py:715 +#: redbot/core/core_commands.py:897 #, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " msgstr "" -#: redbot/core/core_commands.py:725 +#: redbot/core/core_commands.py:907 msgid "The color has been reset." msgstr "" -#: redbot/core/core_commands.py:728 +#: redbot/core/core_commands.py:910 msgid "The color has been set." msgstr "" -#: redbot/core/core_commands.py:733 +#: redbot/core/core_commands.py:915 #, docstring msgid "Sets Red's avatar" msgstr "" -#: redbot/core/core_commands.py:742 +#: redbot/core/core_commands.py:924 msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." msgstr "" -#: redbot/core/core_commands.py:749 +#: redbot/core/core_commands.py:931 msgid "JPG / PNG format only." msgstr "" -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 -msgid "Done." -msgstr "" - -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:939 #, docstring msgid "Sets Red's playing status" msgstr "" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "" -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" msgstr "" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." msgstr "" -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" msgstr "" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." msgstr "" -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "" -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" msgstr "" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" msgstr "" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "" -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" msgstr "" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "" -#: redbot/core/core_commands.py:890 -#, docstring -msgid "Sets Red's server prefix(es)" -msgstr "" - -#: redbot/core/core_commands.py:893 -msgid "Guild prefixes have been reset." -msgstr "" - -#: redbot/core/core_commands.py:902 -#, docstring -msgid "Sets Red's main owner" -msgstr "" - -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "" - -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "" - -#: redbot/core/core_commands.py:919 -msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." -msgstr "" - -#: redbot/core/core_commands.py:932 -msgid "The `{prefix}set owner` request has timed out." -msgstr "" - -#: redbot/core/core_commands.py:939 -msgid "You have been set as owner." -msgstr "" - -#: redbot/core/core_commands.py:941 -msgid "Invalid token." -msgstr "" - -#: redbot/core/core_commands.py:946 -#, docstring -msgid "Change bot token." -msgstr "" - -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" -msgstr "" - -#: redbot/core/core_commands.py:971 -#, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:982 -msgid "Locale has been set." -msgstr "" - -#: redbot/core/core_commands.py:987 -#, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." -msgstr "" - -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." -msgstr "" - -#: redbot/core/core_commands.py:1004 -#, docstring -msgid "Manage settings for the help command." -msgstr "" - -#: redbot/core/core_commands.py:1009 -#, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1020 -msgid "You must give a positive value!" -msgstr "" - -#: redbot/core/core_commands.py:1024 -msgid "Done. The character limit per page has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1028 -#, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1039 -msgid "You must give a value of zero or greater!" -msgstr "" - -#: redbot/core/core_commands.py:1043 -msgid "Done. The page limit has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1047 -#, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1055 -msgid "The tagline has been reset." -msgstr "" - -#: redbot/core/core_commands.py:1059 -msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." -msgstr "" - -#: redbot/core/core_commands.py:1067 -msgid "The tagline has been set to {}." -msgstr "" - #: redbot/core/core_commands.py:1072 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " +msgid "Sets Red's server prefix(es)" msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1075 +msgid "Guild prefixes have been reset." +msgstr "" + +#: redbot/core/core_commands.py:1084 +#, docstring +msgid "Sets Red's main owner" +msgstr "" + +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" + +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" + +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 +msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." +msgstr "" + +#: redbot/core/core_commands.py:1120 +msgid "The `{prefix}set owner` request has timed out." +msgstr "" + +#: redbot/core/core_commands.py:1127 +msgid "You have been set as owner." +msgstr "" + +#: redbot/core/core_commands.py:1129 +msgid "Invalid token." +msgstr "" + +#: redbot/core/core_commands.py:1134 +#, docstring +msgid "Change bot token." +msgstr "" + +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" +msgstr "" + +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 +#, docstring +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " +msgstr "" + +#: redbot/core/core_commands.py:1172 +msgid "Locale has been set." +msgstr "" + +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 +#, docstring +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " +msgstr "" + +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." +msgstr "" + +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." +msgstr "" + +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 +#, docstring +msgid "Manage settings for the help command." +msgstr "" + +#: redbot/core/core_commands.py:1228 +#, docstring +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 +msgid "You must give a positive value!" +msgstr "" + +#: redbot/core/core_commands.py:1317 +msgid "Done. The character limit per page has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1321 +#, docstring +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1332 +msgid "You must give a value of zero or greater!" +msgstr "" + +#: redbot/core/core_commands.py:1336 +msgid "Done. The page limit has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1340 +#, docstring +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1348 +msgid "The tagline has been reset." +msgstr "" + +#: redbot/core/core_commands.py:1352 +msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." +msgstr "" + +#: redbot/core/core_commands.py:1360 +msgid "The tagline has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1365 +#, docstring +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " +msgstr "" + +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." msgstr "" -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "" -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" msgstr "" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "" - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" msgstr "" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" msgstr "" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" msgstr "" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." msgstr "" -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." msgstr "" -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." msgstr "" -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" msgstr "" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" msgstr "" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" msgstr "" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "" - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "" -#: redbot/core/core_commands.py:1249 -#, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." msgstr "" -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1589 +#, docstring +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" +msgstr "" + +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "" -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" msgstr "" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" msgstr "" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" msgstr "" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" msgstr "" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " +msgid "Prints the bot's data path." msgstr "" -#: redbot/core/core_commands.py:1309 -#, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1652 +#, docstring +msgid "Shows debug information useful for debugging.." +msgstr "" + +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " +msgid "\\n Lists whitelisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " +msgid "\\n Removes user from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " +msgid "\\n Blacklist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" msgstr "" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " +msgid "\\n Lists blacklisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" msgstr "" -#: redbot/core/core_commands.py:1396 +#: redbot/core/core_commands.py:1799 #, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " +msgid "\\n Removes user from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1432 +#: redbot/core/core_commands.py:1826 #, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " +msgid "\\n Whitelist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" msgstr "" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." msgstr "" -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "" -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." msgstr "" -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "" -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "" -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "" -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." msgstr "" -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." msgstr "" -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." msgstr "" -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." msgstr "" -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." msgstr "" -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." msgstr "" -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 msgid "Not in list." msgstr "" -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" msgstr "" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" msgstr "" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "" -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "" -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/bg-BG.po b/redbot/core/locales/bg-BG.po index c0f4c5ec2..162f353e6 100644 --- a/redbot/core/locales/bg-BG.po +++ b/redbot/core/locales/bg-BG.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Bulgarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,6 +16,14 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: bg_BG\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." @@ -23,21 +31,16 @@ msgstr "" #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " msgstr "" #: redbot/core/cog_manager.py:343 @@ -50,10 +53,7 @@ msgstr "Пътят е добавен успешно." #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 @@ -70,9 +70,7 @@ msgstr "Пътят е успешно премахнат." #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " msgstr "" #: redbot/core/cog_manager.py:392 @@ -89,12 +87,7 @@ msgstr "Пътищата са пренаредени." #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " msgstr "" #: redbot/core/cog_manager.py:420 @@ -107,1029 +100,1312 @@ msgstr "Ботът ще инсталира новите COG-ове в `{}` ди #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" msgstr "" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." msgstr "" -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" msgstr "" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" msgstr "" -#: redbot/core/core_commands.py:349 -#, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 +#, docstring +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." msgstr "" -#: redbot/core/core_commands.py:388 -#, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" msgstr "" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "" + +#: redbot/core/core_commands.py:375 +#, docstring +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." msgstr "" -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." msgstr "" -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." msgstr "" -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:420 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" msgstr "" -#: redbot/core/core_commands.py:448 +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 #, docstring msgid "Show's Red's invite url" msgstr "" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" +msgstr "" + +#: redbot/core/core_commands.py:448 +#, docstring +msgid "\\n Define if the command should be accessible for the average users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" msgstr "" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "" + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" msgstr "" -#: redbot/core/core_commands.py:520 +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "Завършено." + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring msgid "Loads packages" msgstr "" -#: redbot/core/core_commands.py:552 +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring msgid "Unloads packages" msgstr "" -#: redbot/core/core_commands.py:570 +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring msgid "Reloads packages" msgstr "" -#: redbot/core/core_commands.py:594 +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring msgid "Shuts down the bot" msgstr "" -#: redbot/core/core_commands.py:599 +#: redbot/core/core_commands.py:735 msgid "Shutting down... " msgstr "Изключване... " -#: redbot/core/core_commands.py:605 +#: redbot/core/core_commands.py:741 #, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" msgstr "" -#: redbot/core/core_commands.py:612 +#: redbot/core/core_commands.py:748 msgid "Restarting..." msgstr "" -#: redbot/core/core_commands.py:617 +#: redbot/core/core_commands.py:753 #, docstring msgid "Changes Red's settings" msgstr "" -#: redbot/core/core_commands.py:649 -#, docstring -msgid "Sets the admin role for this server" +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" msgstr "" -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." -msgstr "Ролята Администратор е настроена за тази гилдия." - -#: redbot/core/core_commands.py:657 -#, docstring -msgid "Sets the mod role for this server" +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" msgstr "" -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." -msgstr "Ролята Модератор е настроена за тази гилдия." - -#: redbot/core/core_commands.py:665 +#: redbot/core/core_commands.py:795 #, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " +msgid "\\n Adds an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:674 +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." +msgstr "" + +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 +#, docstring +msgid "\\n Adds a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." +msgstr "" + +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 +#, docstring +msgid "\\n Removes an admin role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 msgid "The bot {} use its configured color for embeds." msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will not" msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will" msgstr "" -#: redbot/core/core_commands.py:683 +#: redbot/core/core_commands.py:865 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:691 +#: redbot/core/core_commands.py:873 msgid "Fuzzy command search has been {} for this server." msgstr "" -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "" - -#: redbot/core/core_commands.py:699 +#: redbot/core/core_commands.py:881 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:707 +#: redbot/core/core_commands.py:889 msgid "Fuzzy command search has been {} in DMs." msgstr "" -#: redbot/core/core_commands.py:715 +#: redbot/core/core_commands.py:897 #, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " msgstr "" -#: redbot/core/core_commands.py:725 +#: redbot/core/core_commands.py:907 msgid "The color has been reset." msgstr "" -#: redbot/core/core_commands.py:728 +#: redbot/core/core_commands.py:910 msgid "The color has been set." msgstr "" -#: redbot/core/core_commands.py:733 +#: redbot/core/core_commands.py:915 #, docstring msgid "Sets Red's avatar" msgstr "" -#: redbot/core/core_commands.py:742 +#: redbot/core/core_commands.py:924 msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." msgstr "Неуспешно. Не забравяйте, че можете да редактирате аватар ми до два пъти на час. URL Адресът трябва да бъде директен линк към JPG / PNG." -#: redbot/core/core_commands.py:749 +#: redbot/core/core_commands.py:931 msgid "JPG / PNG format only." msgstr "Поддържа се JPG / PNG формат само." -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 -msgid "Done." -msgstr "Завършено." - -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:939 #, docstring msgid "Sets Red's playing status" msgstr "" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "Играта е зададена." -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" msgstr "" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." msgstr "" -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" msgstr "" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." msgstr "" -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "" -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" msgstr "" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "Не успяхте да промените името. Не забравяйте, че можете да го направите до 2 пъти на час. Използвайте псевдоними, ако ви се налага нужда от чести промени. `{} зададете псевдоним`" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" msgstr "" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "Нямам правомощието да променя псевдонима си." -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" msgstr "" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "Префиксът е зададен." -#: redbot/core/core_commands.py:890 +#: redbot/core/core_commands.py:1072 #, docstring msgid "Sets Red's server prefix(es)" msgstr "" -#: redbot/core/core_commands.py:893 +#: redbot/core/core_commands.py:1075 msgid "Guild prefixes have been reset." msgstr "Префиксите на гилдията са нулирани." -#: redbot/core/core_commands.py:902 +#: redbot/core/core_commands.py:1084 #, docstring msgid "Sets Red's main owner" msgstr "" -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "\n" -"Код за потвърждение:" +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "Запомнете:\n" +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" -#: redbot/core/core_commands.py:919 +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." msgstr "Показах еднократен код за потвърждение в конзолата. Копирайте го и го поставете тук за да потвърдите, че вие сте собственика." -#: redbot/core/core_commands.py:932 +#: redbot/core/core_commands.py:1120 msgid "The `{prefix}set owner` request has timed out." msgstr "" -#: redbot/core/core_commands.py:939 +#: redbot/core/core_commands.py:1127 msgid "You have been set as owner." msgstr "Вие сте зададен като собственик." -#: redbot/core/core_commands.py:941 +#: redbot/core/core_commands.py:1129 msgid "Invalid token." msgstr "Невалиден ключ." -#: redbot/core/core_commands.py:946 +#: redbot/core/core_commands.py:1134 #, docstring msgid "Change bot token." msgstr "" -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" msgstr "" -#: redbot/core/core_commands.py:971 +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 #, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " msgstr "" -#: redbot/core/core_commands.py:982 +#: redbot/core/core_commands.py:1172 msgid "Locale has been set." msgstr "Локализирането е настроено." -#: redbot/core/core_commands.py:987 +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 #, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " msgstr "" -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." msgstr "" -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." msgstr "" -#: redbot/core/core_commands.py:1004 +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 #, docstring msgid "Manage settings for the help command." msgstr "" -#: redbot/core/core_commands.py:1009 +#: redbot/core/core_commands.py:1228 #, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " msgstr "" -#: redbot/core/core_commands.py:1020 +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 msgid "You must give a positive value!" msgstr "" -#: redbot/core/core_commands.py:1024 +#: redbot/core/core_commands.py:1317 msgid "Done. The character limit per page has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1028 +#: redbot/core/core_commands.py:1321 #, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " msgstr "" -#: redbot/core/core_commands.py:1039 +#: redbot/core/core_commands.py:1332 msgid "You must give a value of zero or greater!" msgstr "" -#: redbot/core/core_commands.py:1043 +#: redbot/core/core_commands.py:1336 msgid "Done. The page limit has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1047 +#: redbot/core/core_commands.py:1340 #, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " msgstr "" -#: redbot/core/core_commands.py:1055 +#: redbot/core/core_commands.py:1348 msgid "The tagline has been reset." msgstr "" -#: redbot/core/core_commands.py:1059 +#: redbot/core/core_commands.py:1352 msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." msgstr "" -#: redbot/core/core_commands.py:1067 +#: redbot/core/core_commands.py:1360 msgid "The tagline has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1072 +#: redbot/core/core_commands.py:1365 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." msgstr "" -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "" -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" msgstr "" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "" - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" msgstr "" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" msgstr "" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" msgstr "" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." msgstr "" -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." msgstr "" -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." msgstr "" -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" msgstr "" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" msgstr "" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "чрез ЛС" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "от {}" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" msgstr "" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "Използвайте `{} dm {} `, за да отговорите на този потребител" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "Изпратено от {} {}" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" -msgstr "Не мога да изпратя Вашето съобщение, аз не съм в състояние да намеря собственика си... *въздишка*" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." +msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "Аз не съм в състояние да доставя Вашето съобщение. Съжалявам." - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "Вашето съобщение е изпратено." -#: redbot/core/core_commands.py:1249 +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." +msgstr "Аз не съм в състояние да доставя Вашето съобщение. Съжалявам." + +#: redbot/core/core_commands.py:1589 #, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" msgstr "" -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "Невалиден идентификационен номер или потребителят не е намерен. Можете да изпращате съобщения само до хора, с които споделям общ сървър." -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" msgstr "" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" msgstr "" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" msgstr "" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" msgstr "" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " +msgid "Prints the bot's data path." msgstr "" -#: redbot/core/core_commands.py:1309 -#, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1652 +#, docstring +msgid "Shows debug information useful for debugging.." +msgstr "" + +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " +msgid "\\n Lists whitelisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " +msgid "\\n Removes user from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " +msgid "\\n Blacklist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" msgstr "" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " +msgid "\\n Lists blacklisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" msgstr "" -#: redbot/core/core_commands.py:1396 +#: redbot/core/core_commands.py:1799 #, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " +msgid "\\n Removes user from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1432 +#: redbot/core/core_commands.py:1826 #, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " +msgid "\\n Whitelist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" msgstr "" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." msgstr "" -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "" -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." msgstr "" -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "" -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "" -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "" -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." msgstr "" -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." msgstr "" -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." msgstr "" -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." msgstr "" -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." msgstr "" -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." msgstr "" -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 msgid "Not in list." msgstr "" -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" msgstr "" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" msgstr "" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "Вече се провежда REPL сесия в този канал. Напуснете я с `quit`." -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "Въведете код за изпълнение или оценка. `exit()` или `quit` за да излезете." -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "Неочаквана грешка: `{}`" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/cs-CZ.po b/redbot/core/locales/cs-CZ.po new file mode 100644 index 000000000..c7f401b6b --- /dev/null +++ b/redbot/core/locales/cs-CZ.po @@ -0,0 +1,1411 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: cs\n" +"X-Crowdin-File: /core/locales/messages.pot\n" +"Language: cs_CZ\n" + +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + +#: redbot/core/cog_manager.py:312 +#, docstring +msgid "Commands to interface with Red's cog manager." +msgstr "Příkazy pro rozhraní s Red cog manažerem." + +#: redbot/core/cog_manager.py:317 +#, docstring +msgid "\\n Lists current cog paths in order of priority.\\n " +msgstr "" + +#: redbot/core/cog_manager.py:325 +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" +msgstr "" + +#: redbot/core/cog_manager.py:339 +#, docstring +msgid "\\n Add a path to the list of available cog paths.\\n " +msgstr "" + +#: redbot/core/cog_manager.py:343 +msgid "That path does not exist or does not point to a valid directory." +msgstr "Tato cesta neexistuje nebo neodkazuje na platný adresář." + +#: redbot/core/cog_manager.py:351 +msgid "Path successfully added." +msgstr "Cesta úspěšně přidána." + +#: redbot/core/cog_manager.py:356 +#, docstring +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " +msgstr "" + +#: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 +msgid "Path numbers must be positive." +msgstr "Čísla cest musí být kladná." + +#: redbot/core/cog_manager.py:369 +msgid "That is an invalid path number." +msgstr "To je neplatné číslo cesty." + +#: redbot/core/cog_manager.py:373 +msgid "Path successfully removed." +msgstr "Cesta úspěšně odstraněna." + +#: redbot/core/cog_manager.py:378 +#, docstring +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " +msgstr "" + +#: redbot/core/cog_manager.py:392 +msgid "Invalid 'from' index." +msgstr "" + +#: redbot/core/cog_manager.py:398 +msgid "Invalid 'to' index." +msgstr "" + +#: redbot/core/cog_manager.py:402 +msgid "Paths reordered." +msgstr "" + +#: redbot/core/cog_manager.py:407 +#, docstring +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " +msgstr "" + +#: redbot/core/cog_manager.py:420 +msgid "That path does not exist." +msgstr "Taková cesta neexistuje." + +#: redbot/core/cog_manager.py:425 +msgid "The bot will install new cogs to the `{}` directory." +msgstr "" + +#: redbot/core/cog_manager.py:431 +#, docstring +msgid "\\n Lists all loaded and available cogs.\\n " +msgstr "" + +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 +#, docstring +msgid "Commands related to core functions" +msgstr "" + +#: redbot/core/core_commands.py:268 +#, docstring +msgid "Pong." +msgstr "Pong." + +#: redbot/core/core_commands.py:273 +#, docstring +msgid "Shows info about Red" +msgstr "Zobrazí informace o Red" + +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 +#, docstring +msgid "Shows Red's uptime" +msgstr "" + +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" +msgstr "" + +#: redbot/core/core_commands.py:336 +#, docstring +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 +#, docstring +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:368 +msgid "Embeds are now {} by default." +msgstr "" + +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" +msgstr "" + +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "" + +#: redbot/core/core_commands.py:375 +#, docstring +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 +msgid "Embeds will now fall back to the global setting." +msgstr "" + +#: redbot/core/core_commands.py:391 +msgid "Embeds are now {} for this guild." +msgstr "" + +#: redbot/core/core_commands.py:398 +#, docstring +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " +msgstr "" + +#: redbot/core/core_commands.py:414 +msgid "Embeds are now {} for you." +msgstr "" + +#: redbot/core/core_commands.py:420 +#, docstring +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" +msgstr "" + +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 +#, docstring +msgid "Show's Red's invite url" +msgstr "" + +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" +msgstr "" + +#: redbot/core/core_commands.py:448 +#, docstring +msgid "\\n Define if the command should be accessible for the average users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 +#, docstring +msgid "Leaves server" +msgstr "Opustí server" + +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "" + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 +#, docstring +msgid "Lists and allows to leave servers" +msgstr "" + +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "" + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 +#, docstring +msgid "Loads packages" +msgstr "Načte balíčky" + +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 +#, docstring +msgid "Unloads packages" +msgstr "Odnačte balíčky" + +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 +#, docstring +msgid "Reloads packages" +msgstr "Znovu načte balíčky" + +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 +#, docstring +msgid "Shuts down the bot" +msgstr "Vypne bota" + +#: redbot/core/core_commands.py:735 +msgid "Shutting down... " +msgstr "Vypínání... " + +#: redbot/core/core_commands.py:741 +#, docstring +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" +msgstr "" + +#: redbot/core/core_commands.py:748 +msgid "Restarting..." +msgstr "Restartování..." + +#: redbot/core/core_commands.py:753 +#, docstring +msgid "Changes Red's settings" +msgstr "" + +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" +msgstr "" + +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" +msgstr "" + +#: redbot/core/core_commands.py:795 +#, docstring +msgid "\\n Adds an admin role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." +msgstr "" + +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 +#, docstring +msgid "\\n Adds a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." +msgstr "" + +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 +#, docstring +msgid "\\n Removes an admin role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 +msgid "The bot {} use its configured color for embeds." +msgstr "" + +#: redbot/core/core_commands.py:857 +msgid "will not" +msgstr "" + +#: redbot/core/core_commands.py:857 +msgid "will" +msgstr "" + +#: redbot/core/core_commands.py:865 +#, docstring +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " +msgstr "" + +#: redbot/core/core_commands.py:873 +msgid "Fuzzy command search has been {} for this server." +msgstr "" + +#: redbot/core/core_commands.py:881 +#, docstring +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " +msgstr "" + +#: redbot/core/core_commands.py:889 +msgid "Fuzzy command search has been {} in DMs." +msgstr "" + +#: redbot/core/core_commands.py:897 +#, docstring +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " +msgstr "" + +#: redbot/core/core_commands.py:907 +msgid "The color has been reset." +msgstr "" + +#: redbot/core/core_commands.py:910 +msgid "The color has been set." +msgstr "" + +#: redbot/core/core_commands.py:915 +#, docstring +msgid "Sets Red's avatar" +msgstr "" + +#: redbot/core/core_commands.py:924 +msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." +msgstr "" + +#: redbot/core/core_commands.py:931 +msgid "JPG / PNG format only." +msgstr "" + +#: redbot/core/core_commands.py:939 +#, docstring +msgid "Sets Red's playing status" +msgstr "" + +#: redbot/core/core_commands.py:947 +msgid "Game set." +msgstr "" + +#: redbot/core/core_commands.py:953 +#, docstring +msgid "Sets Red's listening status" +msgstr "" + +#: redbot/core/core_commands.py:961 +msgid "Listening set." +msgstr "" + +#: redbot/core/core_commands.py:967 +#, docstring +msgid "Sets Red's watching status" +msgstr "" + +#: redbot/core/core_commands.py:975 +msgid "Watching set." +msgstr "" + +#: redbot/core/core_commands.py:981 +#, docstring +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " +msgstr "" + +#: redbot/core/core_commands.py:1004 +msgid "Status changed to {}." +msgstr "" + +#: redbot/core/core_commands.py:1010 +#, docstring +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." +msgstr "" + +#: redbot/core/core_commands.py:1031 +#, docstring +msgid "Sets Red's username" +msgstr "" + +#: redbot/core/core_commands.py:1036 +msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" +msgstr "" + +#: redbot/core/core_commands.py:1050 +#, docstring +msgid "Sets Red's nickname" +msgstr "" + +#: redbot/core/core_commands.py:1054 +msgid "I lack the permissions to change my own nickname." +msgstr "" + +#: redbot/core/core_commands.py:1061 +#, docstring +msgid "Sets Red's global prefix(es)" +msgstr "" + +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 +msgid "Prefix set." +msgstr "" + +#: redbot/core/core_commands.py:1072 +#, docstring +msgid "Sets Red's server prefix(es)" +msgstr "" + +#: redbot/core/core_commands.py:1075 +msgid "Guild prefixes have been reset." +msgstr "" + +#: redbot/core/core_commands.py:1084 +#, docstring +msgid "Sets Red's main owner" +msgstr "" + +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" + +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" + +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 +msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." +msgstr "" + +#: redbot/core/core_commands.py:1120 +msgid "The `{prefix}set owner` request has timed out." +msgstr "" + +#: redbot/core/core_commands.py:1127 +msgid "You have been set as owner." +msgstr "" + +#: redbot/core/core_commands.py:1129 +msgid "Invalid token." +msgstr "" + +#: redbot/core/core_commands.py:1134 +#, docstring +msgid "Change bot token." +msgstr "" + +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" +msgstr "" + +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 +#, docstring +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " +msgstr "" + +#: redbot/core/core_commands.py:1172 +msgid "Locale has been set." +msgstr "" + +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 +#, docstring +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " +msgstr "" + +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." +msgstr "" + +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." +msgstr "" + +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 +#, docstring +msgid "Manage settings for the help command." +msgstr "" + +#: redbot/core/core_commands.py:1228 +#, docstring +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 +msgid "You must give a positive value!" +msgstr "" + +#: redbot/core/core_commands.py:1317 +msgid "Done. The character limit per page has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1321 +#, docstring +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1332 +msgid "You must give a value of zero or greater!" +msgstr "" + +#: redbot/core/core_commands.py:1336 +msgid "Done. The page limit has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1340 +#, docstring +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1348 +msgid "The tagline has been reset." +msgstr "" + +#: redbot/core/core_commands.py:1352 +msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." +msgstr "" + +#: redbot/core/core_commands.py:1360 +msgid "The tagline has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1365 +#, docstring +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " +msgstr "" + +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 +#, docstring +msgid "Creates a backup of all data for the instance." +msgstr "" + +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 +msgid "A backup has been made of this instance. It is at {}." +msgstr "" + +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." +msgstr "" + +#: redbot/core/core_commands.py:1458 +msgid "Would you like to receive a copy via DM? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:1467 +msgid "OK, it's on its way!" +msgstr "" + +#: redbot/core/core_commands.py:1471 +msgid "Here's a copy of the backup" +msgstr "" + +#: redbot/core/core_commands.py:1476 +msgid "I don't seem to be able to DM you. Do you have closed DMs?" +msgstr "" + +#: redbot/core/core_commands.py:1479 +msgid "I could not send the backup file." +msgstr "" + +#: redbot/core/core_commands.py:1481 +msgid "OK then." +msgstr "" + +#: redbot/core/core_commands.py:1483 +msgid "That directory doesn't seem to exist..." +msgstr "" + +#: redbot/core/core_commands.py:1488 +#, docstring +msgid "Sends a message to the owner" +msgstr "" + +#: redbot/core/core_commands.py:1491 +msgid "User ID: {}" +msgstr "" + +#: redbot/core/core_commands.py:1494 +msgid "through DM" +msgstr "" + +#: redbot/core/core_commands.py:1496 +msgid "from {}" +msgstr "" + +#: redbot/core/core_commands.py:1497 +msgid " | Server ID: {}" +msgstr "" + +#: redbot/core/core_commands.py:1506 +msgid "Use `{}dm {} ` to reply to this user" +msgstr "" + +#: redbot/core/core_commands.py:1508 +msgid "Sent by {} {}" +msgstr "" + +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." +msgstr "" + +#: redbot/core/core_commands.py:1582 +msgid "Your message has been sent." +msgstr "" + +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." +msgstr "" + +#: redbot/core/core_commands.py:1589 +#, docstring +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" +msgstr "" + +#: redbot/core/core_commands.py:1598 +msgid "Invalid ID or user not found. You can only send messages to people I share a server with." +msgstr "" + +#: redbot/core/core_commands.py:1609 +msgid "Owner of {}" +msgstr "" + +#: redbot/core/core_commands.py:1610 +msgid "You can reply to this message with {}contact" +msgstr "" + +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 +msgid "Sorry, I couldn't deliver your message to {}" +msgstr "" + +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 +msgid "Message delivered to {}" +msgstr "" + +#: redbot/core/core_commands.py:1642 +#, docstring +msgid "Prints the bot's data path." +msgstr "" + +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" +msgstr "" + +#: redbot/core/core_commands.py:1652 +#, docstring +msgid "Shows debug information useful for debugging.." +msgstr "" + +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 +msgid "User added to whitelist." +msgstr "" + +#: redbot/core/core_commands.py:1723 +#, docstring +msgid "\\n Lists whitelisted users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1728 +msgid "Whitelisted Users:" +msgstr "" + +#: redbot/core/core_commands.py:1737 +#, docstring +msgid "\\n Removes user from whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 +msgid "User has been removed from whitelist." +msgstr "" + +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 +msgid "User was not in the whitelist." +msgstr "" + +#: redbot/core/core_commands.py:1754 +#, docstring +msgid "\\n Clears the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 +msgid "Whitelist has been cleared." +msgstr "" + +#: redbot/core/core_commands.py:1763 +#, docstring +msgid "\\n Blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1770 +#, docstring +msgid "\\n Adds a user to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 +msgid "You cannot blacklist an owner!" +msgstr "" + +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 +msgid "User added to blacklist." +msgstr "" + +#: redbot/core/core_commands.py:1785 +#, docstring +msgid "\\n Lists blacklisted users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" +msgstr "" + +#: redbot/core/core_commands.py:1799 +#, docstring +msgid "\\n Removes user from blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 +msgid "User has been removed from blacklist." +msgstr "" + +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 +msgid "User was not in the blacklist." +msgstr "" + +#: redbot/core/core_commands.py:1816 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." +msgstr "" + +#: redbot/core/core_commands.py:1826 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 +msgid "Role added to whitelist." +msgstr "" + +#: redbot/core/core_commands.py:1850 +#, docstring +msgid "\\n Lists whitelisted users and roles.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1855 +msgid "Whitelisted Users and roles:" +msgstr "" + +#: redbot/core/core_commands.py:1866 +#, docstring +msgid "\\n Removes user or role from whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1881 +msgid "Role has been removed from whitelist." +msgstr "" + +#: redbot/core/core_commands.py:1886 +msgid "Role was not in the whitelist." +msgstr "" + +#: redbot/core/core_commands.py:1890 +#, docstring +msgid "\\n Clears the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 +msgid "Role added to blacklist." +msgstr "" + +#: redbot/core/core_commands.py:1929 +#, docstring +msgid "\\n Lists blacklisted users and roles.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" +msgstr "" + +#: redbot/core/core_commands.py:1945 +#, docstring +msgid "\\n Removes user or role from blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1960 +msgid "Role has been removed from blacklist." +msgstr "" + +#: redbot/core/core_commands.py:1965 +msgid "Role was not in the blacklist." +msgstr "" + +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 +#, docstring +msgid "Manage the bot's commands." +msgstr "" + +#: redbot/core/core_commands.py:1983 +#, docstring +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1997 +#, docstring +msgid "Disable a command globally." +msgstr "" + +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 +msgid "I couldn't find that command. Please note that it is case sensitive." +msgstr "" + +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 +msgid "That command is already disabled globally." +msgstr "" + +#: redbot/core/core_commands.py:2025 +#, docstring +msgid "Disable a command in this server only." +msgstr "" + +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 +msgid "That command is already disabled in this server." +msgstr "" + +#: redbot/core/core_commands.py:2056 +#, docstring +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2069 +#, docstring +msgid "Enable a command globally." +msgstr "" + +#: redbot/core/core_commands.py:2082 +msgid "That command is already enabled globally." +msgstr "" + +#: redbot/core/core_commands.py:2091 +#, docstring +msgid "Enable a command in this server." +msgstr "" + +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 +msgid "That command is already enabled in this server." +msgstr "" + +#: redbot/core/core_commands.py:2117 +#, docstring +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2131 +#, docstring +msgid "\\n Server settings for immunity from automated actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2138 +#, docstring +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " +msgstr "" + +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" +msgstr "" + +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" +msgstr "" + +#: redbot/core/core_commands.py:2159 +msgid "No immunty settings here." +msgstr "" + +#: redbot/core/core_commands.py:2168 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2173 +msgid "Already added." +msgstr "" + +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 +msgid "Not in list." +msgstr "" + +#: redbot/core/core_commands.py:2194 +#, docstring +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2199 +msgid "They are immune" +msgstr "" + +#: redbot/core/core_commands.py:2201 +msgid "They are not Immune" +msgstr "" + +#: redbot/core/core_commands.py:2206 +#, docstring +msgid "\\n Commands for configuring owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2213 +#, docstring +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2226 +#, docstring +msgid "\\n Opt-out of recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 +msgid "Already running a REPL session in this channel. Exit it with `quit`." +msgstr "" + +#: redbot/core/dev_commands.py:228 +msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." +msgstr "" + +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 +msgid "Unexpected error: `{}`" +msgstr "" + +#: redbot/core/dev_commands.py:292 +#, docstring +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:305 +#, docstring +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " +msgstr "" + +#: redbot/core/errors.py:49 +msgid "{user}'s balance cannot rise above {max:,} {currency}." +msgstr "" + +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" +msgstr "" + +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" +msgstr "" + +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" +msgstr "" + +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" +msgstr "" + diff --git a/redbot/core/locales/da-DK.po b/redbot/core/locales/da-DK.po index 98396f8ef..b484f9543 100644 --- a/redbot/core/locales/da-DK.po +++ b/redbot/core/locales/da-DK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,6 +16,14 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: da_DK\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." @@ -23,21 +31,16 @@ msgstr "" #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " msgstr "" #: redbot/core/cog_manager.py:343 @@ -50,10 +53,7 @@ msgstr "" #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 @@ -70,9 +70,7 @@ msgstr "" #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " msgstr "" #: redbot/core/cog_manager.py:392 @@ -89,12 +87,7 @@ msgstr "" #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " msgstr "" #: redbot/core/cog_manager.py:420 @@ -107,1028 +100,1312 @@ msgstr "" #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" msgstr "" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." msgstr "" -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" msgstr "" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" msgstr "" -#: redbot/core/core_commands.py:349 -#, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 +#, docstring +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." msgstr "" -#: redbot/core/core_commands.py:388 -#, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" msgstr "" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "" + +#: redbot/core/core_commands.py:375 +#, docstring +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." msgstr "" -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." msgstr "" -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." msgstr "" -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:420 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" msgstr "" -#: redbot/core/core_commands.py:448 +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 #, docstring msgid "Show's Red's invite url" msgstr "" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" +msgstr "" + +#: redbot/core/core_commands.py:448 +#, docstring +msgid "\\n Define if the command should be accessible for the average users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" msgstr "" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "" + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" msgstr "" -#: redbot/core/core_commands.py:520 +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "" + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring msgid "Loads packages" msgstr "" -#: redbot/core/core_commands.py:552 +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring msgid "Unloads packages" msgstr "" -#: redbot/core/core_commands.py:570 +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring msgid "Reloads packages" msgstr "" -#: redbot/core/core_commands.py:594 +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring msgid "Shuts down the bot" msgstr "" -#: redbot/core/core_commands.py:599 +#: redbot/core/core_commands.py:735 msgid "Shutting down... " msgstr "" -#: redbot/core/core_commands.py:605 +#: redbot/core/core_commands.py:741 #, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" msgstr "" -#: redbot/core/core_commands.py:612 +#: redbot/core/core_commands.py:748 msgid "Restarting..." msgstr "" -#: redbot/core/core_commands.py:617 +#: redbot/core/core_commands.py:753 #, docstring msgid "Changes Red's settings" msgstr "" -#: redbot/core/core_commands.py:649 +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" +msgstr "" + +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" +msgstr "" + +#: redbot/core/core_commands.py:795 #, docstring -msgid "Sets the admin role for this server" +msgid "\\n Adds an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." msgstr "" -#: redbot/core/core_commands.py:657 +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 #, docstring -msgid "Sets the mod role for this server" +msgid "\\n Adds a mod role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." msgstr "" -#: redbot/core/core_commands.py:665 +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 #, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " +msgid "\\n Removes an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:674 +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 msgid "The bot {} use its configured color for embeds." msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will not" msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will" msgstr "" -#: redbot/core/core_commands.py:683 +#: redbot/core/core_commands.py:865 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:691 +#: redbot/core/core_commands.py:873 msgid "Fuzzy command search has been {} for this server." msgstr "" -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "" - -#: redbot/core/core_commands.py:699 +#: redbot/core/core_commands.py:881 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:707 +#: redbot/core/core_commands.py:889 msgid "Fuzzy command search has been {} in DMs." msgstr "" -#: redbot/core/core_commands.py:715 +#: redbot/core/core_commands.py:897 #, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " msgstr "" -#: redbot/core/core_commands.py:725 +#: redbot/core/core_commands.py:907 msgid "The color has been reset." msgstr "" -#: redbot/core/core_commands.py:728 +#: redbot/core/core_commands.py:910 msgid "The color has been set." msgstr "" -#: redbot/core/core_commands.py:733 +#: redbot/core/core_commands.py:915 #, docstring msgid "Sets Red's avatar" msgstr "" -#: redbot/core/core_commands.py:742 +#: redbot/core/core_commands.py:924 msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." msgstr "" -#: redbot/core/core_commands.py:749 +#: redbot/core/core_commands.py:931 msgid "JPG / PNG format only." msgstr "" -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 -msgid "Done." -msgstr "" - -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:939 #, docstring msgid "Sets Red's playing status" msgstr "" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "" -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" msgstr "" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." msgstr "" -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" msgstr "" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." msgstr "" -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "" -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" msgstr "" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" msgstr "" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "" -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" msgstr "" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "" -#: redbot/core/core_commands.py:890 -#, docstring -msgid "Sets Red's server prefix(es)" -msgstr "" - -#: redbot/core/core_commands.py:893 -msgid "Guild prefixes have been reset." -msgstr "" - -#: redbot/core/core_commands.py:902 -#, docstring -msgid "Sets Red's main owner" -msgstr "" - -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "" - -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "" - -#: redbot/core/core_commands.py:919 -msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." -msgstr "" - -#: redbot/core/core_commands.py:932 -msgid "The `{prefix}set owner` request has timed out." -msgstr "" - -#: redbot/core/core_commands.py:939 -msgid "You have been set as owner." -msgstr "" - -#: redbot/core/core_commands.py:941 -msgid "Invalid token." -msgstr "" - -#: redbot/core/core_commands.py:946 -#, docstring -msgid "Change bot token." -msgstr "" - -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" -msgstr "" - -#: redbot/core/core_commands.py:971 -#, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:982 -msgid "Locale has been set." -msgstr "" - -#: redbot/core/core_commands.py:987 -#, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." -msgstr "" - -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." -msgstr "" - -#: redbot/core/core_commands.py:1004 -#, docstring -msgid "Manage settings for the help command." -msgstr "" - -#: redbot/core/core_commands.py:1009 -#, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1020 -msgid "You must give a positive value!" -msgstr "" - -#: redbot/core/core_commands.py:1024 -msgid "Done. The character limit per page has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1028 -#, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1039 -msgid "You must give a value of zero or greater!" -msgstr "" - -#: redbot/core/core_commands.py:1043 -msgid "Done. The page limit has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1047 -#, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1055 -msgid "The tagline has been reset." -msgstr "" - -#: redbot/core/core_commands.py:1059 -msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." -msgstr "" - -#: redbot/core/core_commands.py:1067 -msgid "The tagline has been set to {}." -msgstr "" - #: redbot/core/core_commands.py:1072 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " +msgid "Sets Red's server prefix(es)" msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1075 +msgid "Guild prefixes have been reset." +msgstr "" + +#: redbot/core/core_commands.py:1084 +#, docstring +msgid "Sets Red's main owner" +msgstr "" + +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" + +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" + +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 +msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." +msgstr "" + +#: redbot/core/core_commands.py:1120 +msgid "The `{prefix}set owner` request has timed out." +msgstr "" + +#: redbot/core/core_commands.py:1127 +msgid "You have been set as owner." +msgstr "" + +#: redbot/core/core_commands.py:1129 +msgid "Invalid token." +msgstr "" + +#: redbot/core/core_commands.py:1134 +#, docstring +msgid "Change bot token." +msgstr "" + +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" +msgstr "" + +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 +#, docstring +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " +msgstr "" + +#: redbot/core/core_commands.py:1172 +msgid "Locale has been set." +msgstr "" + +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 +#, docstring +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " +msgstr "" + +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." +msgstr "" + +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." +msgstr "" + +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 +#, docstring +msgid "Manage settings for the help command." +msgstr "" + +#: redbot/core/core_commands.py:1228 +#, docstring +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 +msgid "You must give a positive value!" +msgstr "" + +#: redbot/core/core_commands.py:1317 +msgid "Done. The character limit per page has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1321 +#, docstring +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1332 +msgid "You must give a value of zero or greater!" +msgstr "" + +#: redbot/core/core_commands.py:1336 +msgid "Done. The page limit has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1340 +#, docstring +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1348 +msgid "The tagline has been reset." +msgstr "" + +#: redbot/core/core_commands.py:1352 +msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." +msgstr "" + +#: redbot/core/core_commands.py:1360 +msgid "The tagline has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1365 +#, docstring +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " +msgstr "" + +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." msgstr "" -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "" -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" msgstr "" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "" - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" msgstr "" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" msgstr "" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" msgstr "" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." msgstr "" -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." msgstr "" -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." msgstr "" -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" msgstr "" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" msgstr "" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" msgstr "" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "" - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "" -#: redbot/core/core_commands.py:1249 -#, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." msgstr "" -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1589 +#, docstring +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" +msgstr "" + +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "" -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" msgstr "" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" msgstr "" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" msgstr "" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" msgstr "" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " +msgid "Prints the bot's data path." msgstr "" -#: redbot/core/core_commands.py:1309 -#, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1652 +#, docstring +msgid "Shows debug information useful for debugging.." +msgstr "" + +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " +msgid "\\n Lists whitelisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " +msgid "\\n Removes user from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " +msgid "\\n Blacklist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" msgstr "" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " +msgid "\\n Lists blacklisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" msgstr "" -#: redbot/core/core_commands.py:1396 +#: redbot/core/core_commands.py:1799 #, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " +msgid "\\n Removes user from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1432 +#: redbot/core/core_commands.py:1826 #, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " +msgid "\\n Whitelist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" msgstr "" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." msgstr "" -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "" -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." msgstr "" -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "" -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "" -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "" -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." msgstr "" -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." msgstr "" -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." msgstr "" -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." msgstr "" -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." msgstr "" -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." msgstr "" -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 msgid "Not in list." msgstr "" -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" msgstr "" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" msgstr "" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "" -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "" -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/de-DE.po b/redbot/core/locales/de-DE.po index 8715097e0..39aa2850b 100644 --- a/redbot/core/locales/de-DE.po +++ b/redbot/core/locales/de-DE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,28 +16,31 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: de_DE\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." -msgstr "" +msgstr "Befehle um Red's cog Manager zu bedienen." #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " msgstr "" #: redbot/core/cog_manager.py:343 @@ -50,15 +53,12 @@ msgstr "Pfad erfolgreich hinzugefügt." #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 msgid "Path numbers must be positive." -msgstr "" +msgstr "Pfad Nummern müssen positiv sein." #: redbot/core/cog_manager.py:369 msgid "That is an invalid path number." @@ -70,9 +70,7 @@ msgstr "Der Pfad wurde erfolgreich entfernt." #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " msgstr "" #: redbot/core/cog_manager.py:392 @@ -89,12 +87,7 @@ msgstr "Pfade wurden neu geordnet." #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " msgstr "" #: redbot/core/cog_manager.py:420 @@ -107,1032 +100,1314 @@ msgstr "Der bot wird neue cogs in das Verzeichnis {} installieren." #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" -msgstr "" +msgstr "Befehle für die Hauptfunktionen" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." msgstr "Pong." -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" +msgstr "Zeigt Informationen über Red" + +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" msgstr "" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "Diese Instanz gehört" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "Red Version" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "Veraltet" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "Ja, {} ist verfügbar" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "Über diese Instanz" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "Über Red" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "Freude seit 02. Jan 2016 (vor {} Tagen!)" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "Ich benötige die 'Embed links' Berechtigung, um dies zu senden" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" -msgstr "" +msgstr "Zeigt Red's Betriebszeit" -#: redbot/core/core_commands.py:349 +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" +msgstr "Bin Online für: **{}** (seit {} UTC)" + +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "Benutzereinstellungen: {}" + +#: redbot/core/core_commands.py:358 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." msgstr "Einbettungen sind standardmäßig: {} ." -#: redbot/core/core_commands.py:388 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" +msgstr "deaktiviert" + +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "aktiviert" + +#: redbot/core/core_commands.py:375 #, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " msgstr "" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." msgstr "Einbettungen werden jetzt auf die globalen Einstellungen zurückgreifen." -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." msgstr "Einbettungen für diesen Discord Server sind jetzt: {} ." -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." msgstr "Einbettungen sind für Dich jetzt: {}." -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:420 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" +msgstr "" + +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "Keine Ausnahme ist bis jetzt aufgetreten" + +#: redbot/core/core_commands.py:437 +#, docstring +msgid "Show's Red's invite url" +msgstr "Zeigt Red's Einladungs URL" + +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" msgstr "" #: redbot/core/core_commands.py:448 #, docstring -msgid "Show's Red's invite url" +msgid "\\n Define if the command should be accessible for the average users.\\n " msgstr "" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" -msgstr "" +msgstr "Verlässt den Server" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "Bist du sicher das ich den Server verlassen soll? (y/n)" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "Antwortzeitlimit erreicht." + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "Oke. Bye :wave:" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "Gilde verlassen '{}'" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "Oke, dann beilbe ich :)" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" -msgstr "" +msgstr "Listet und erlaubt Server zu verlassen" -#: redbot/core/core_commands.py:520 -#, docstring -msgid "Loads packages" -msgstr "" +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "Um einen Server zu verlassen, gebe einfach seine Nummer an." -#: redbot/core/core_commands.py:552 -#, docstring -msgid "Unloads packages" -msgstr "" +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "Ich kann keine Gilde lassen, von der ich Eigentümer bin." -#: redbot/core/core_commands.py:570 -#, docstring -msgid "Reloads packages" -msgstr "" +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "Bist du sicher das ich gehen soll {}? (yes/no)" -#: redbot/core/core_commands.py:594 -#, docstring -msgid "Shuts down the bot" -msgstr "" - -#: redbot/core/core_commands.py:599 -msgid "Shutting down... " -msgstr "Herunterfahren... " - -#: redbot/core/core_commands.py:605 -#, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" -msgstr "" - -#: redbot/core/core_commands.py:612 -msgid "Restarting..." -msgstr "Neustart..." - -#: redbot/core/core_commands.py:617 -#, docstring -msgid "Changes Red's settings" -msgstr "" - -#: redbot/core/core_commands.py:649 -#, docstring -msgid "Sets the admin role for this server" -msgstr "" - -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." -msgstr "Die Administrator Rolle für diesen Server wurde festgelegt." - -#: redbot/core/core_commands.py:657 -#, docstring -msgid "Sets the mod role for this server" -msgstr "" - -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." -msgstr "Die Moderator Rolle wurde für diesen Server festgestellt." - -#: redbot/core/core_commands.py:665 -#, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:674 -msgid "The bot {} use its configured color for embeds." -msgstr "" - -#: redbot/core/core_commands.py:675 -msgid "will not" -msgstr "" - -#: redbot/core/core_commands.py:675 -msgid "will" -msgstr "" - -#: redbot/core/core_commands.py:683 -#, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:691 -msgid "Fuzzy command search has been {} for this server." -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "" - -#: redbot/core/core_commands.py:699 -#, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:707 -msgid "Fuzzy command search has been {} in DMs." -msgstr "" - -#: redbot/core/core_commands.py:715 -#, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:725 -msgid "The color has been reset." -msgstr "" - -#: redbot/core/core_commands.py:728 -msgid "The color has been set." -msgstr "" - -#: redbot/core/core_commands.py:733 -#, docstring -msgid "Sets Red's avatar" -msgstr "" - -#: redbot/core/core_commands.py:742 -msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." -msgstr "Fehlgeschlagen. Bedenke, dass du bis zu zweimal pro Stunde meinen Avatar ändern kannst. Die URL muss ein direkter Link zu einem JPG oder PNG sein. Öfter möchte ich mich nicht umstylen." - -#: redbot/core/core_commands.py:749 -msgid "JPG / PNG format only." -msgstr "Nur JPG oder PNG Format." - -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 msgid "Done." msgstr "Erledigt." -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "Oke, na dann." + +#: redbot/core/core_commands.py:563 #, docstring -msgid "Sets Red's playing status" +msgid "Loads packages" +msgstr "Läd Pakete" + +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "Lade {packs}." + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" msgstr "" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 +#, docstring +msgid "Unloads packages" +msgstr "Entläd Pakete" + +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 +#, docstring +msgid "Reloads packages" +msgstr "Läd Pakete neu" + +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 +#, docstring +msgid "Shuts down the bot" +msgstr "Fährt den Bot herunter" + +#: redbot/core/core_commands.py:735 +msgid "Shutting down... " +msgstr "Herunterfahren... " + +#: redbot/core/core_commands.py:741 +#, docstring +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" +msgstr "" + +#: redbot/core/core_commands.py:748 +msgid "Restarting..." +msgstr "Neustart..." + +#: redbot/core/core_commands.py:753 +#, docstring +msgid "Changes Red's settings" +msgstr "Ändert Einstellungen von Red" + +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" +msgstr "" + +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" +msgstr "" + +#: redbot/core/core_commands.py:795 +#, docstring +msgid "\\n Adds an admin role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." +msgstr "" + +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 +#, docstring +msgid "\\n Adds a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." +msgstr "" + +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 +#, docstring +msgid "\\n Removes an admin role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 +msgid "The bot {} use its configured color for embeds." +msgstr "Der Bot {} verwendet seine eingestellten Farben für Einbettungen." + +#: redbot/core/core_commands.py:857 +msgid "will not" +msgstr "wird nicht" + +#: redbot/core/core_commands.py:857 +msgid "will" +msgstr "wird" + +#: redbot/core/core_commands.py:865 +#, docstring +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " +msgstr "" + +#: redbot/core/core_commands.py:873 +msgid "Fuzzy command search has been {} for this server." +msgstr "Ungenaue Befehlssuche wurde für diesen Server {}." + +#: redbot/core/core_commands.py:881 +#, docstring +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " +msgstr "" + +#: redbot/core/core_commands.py:889 +msgid "Fuzzy command search has been {} in DMs." +msgstr "Ungenaue Befehlssuche wurde für Direktnachrichten {}." + +#: redbot/core/core_commands.py:897 +#, docstring +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " +msgstr "" + +#: redbot/core/core_commands.py:907 +msgid "The color has been reset." +msgstr "Die Farbe wurde zurückgesetzt." + +#: redbot/core/core_commands.py:910 +msgid "The color has been set." +msgstr "Die Farbe wurde eingestellt." + +#: redbot/core/core_commands.py:915 +#, docstring +msgid "Sets Red's avatar" +msgstr "Legt Red's Avatar fest" + +#: redbot/core/core_commands.py:924 +msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." +msgstr "Fehlgeschlagen. Bedenke, dass du bis zu zweimal pro Stunde meinen Avatar ändern kannst. Die URL muss ein direkter Link zu einem JPG oder PNG sein. Öfter möchte ich mich nicht umstylen." + +#: redbot/core/core_commands.py:931 +msgid "JPG / PNG format only." +msgstr "Nur JPG oder PNG Format." + +#: redbot/core/core_commands.py:939 +#, docstring +msgid "Sets Red's playing status" +msgstr "Legt Red's spielt gerade Status fest" + +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "Spiel wurde erfolgreich festgelegt." -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" -msgstr "" +msgstr "Legt Red's hört gerade Status fest" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." msgstr "Zuhören eingestellt." -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" -msgstr "" +msgstr "Legt Red's schaut gerade Status fest" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." msgstr "Zuschauen eingestellt." -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "Status zu {} geändert." -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" -msgstr "" +msgstr "Legt Red's Benutzernamen fest" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "Fehler beim Ändern des Namens. Denke daran, dass du dies nur einmal pro Stunde machen kannst. Benutze Spitznamen falls du oft Änderungen des Namens benötigst. `{}set nickname`" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" -msgstr "" +msgstr "Legt Red's Nicknamen fest" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "Mir fehlen die Berechtigungen zum Ändern meines eigenen Spitznamen." -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" -msgstr "" +msgstr "Legt Red's globale(n) Prefix(e) fest" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "Der Präfix wurde festgelegt." -#: redbot/core/core_commands.py:890 +#: redbot/core/core_commands.py:1072 #, docstring msgid "Sets Red's server prefix(es)" -msgstr "" +msgstr "Legt Server Präfix(e) von Red fest" -#: redbot/core/core_commands.py:893 +#: redbot/core/core_commands.py:1075 msgid "Guild prefixes have been reset." msgstr "Server Präfixe wurden zurückgesetzt." -#: redbot/core/core_commands.py:902 +#: redbot/core/core_commands.py:1084 #, docstring msgid "Sets Red's main owner" +msgstr "Legt den Hauptbesitzer von Red fest" + +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." msgstr "" -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "\n" -"Überprüfungs Token:" +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "Nicht vergessen:\n" +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" -#: redbot/core/core_commands.py:919 +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." msgstr "Ich habe einen einmaligen Token in die Konsole geschrieben. Kopiere ihn und füge ihn hier ein, um zu bestätigen, dass du der Inhaber bist." -#: redbot/core/core_commands.py:932 +#: redbot/core/core_commands.py:1120 msgid "The `{prefix}set owner` request has timed out." -msgstr "" +msgstr "Die `{prefix} set owner` Anfrage ist abgelaufen." -#: redbot/core/core_commands.py:939 +#: redbot/core/core_commands.py:1127 msgid "You have been set as owner." msgstr "Du wurdest als Besitzer eingetragen." -#: redbot/core/core_commands.py:941 +#: redbot/core/core_commands.py:1129 msgid "Invalid token." msgstr "Ungültiger Token." -#: redbot/core/core_commands.py:946 +#: redbot/core/core_commands.py:1134 #, docstring msgid "Change bot token." +msgstr "Bot Token ändern." + +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" msgstr "" -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" -msgstr "Bitte nutze diesen Befehl in Direktnachrichten. Da Nutzer deinen Token wahrscheinlich gesehen haben, wird empfohlen ihn sofort zurückzusetzen. Gehe auf diesen Link und wähle `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" -#: redbot/core/core_commands.py:971 +#: redbot/core/core_commands.py:1159 #, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " msgstr "" -#: redbot/core/core_commands.py:982 +#: redbot/core/core_commands.py:1172 msgid "Locale has been set." msgstr "Sprache wurde geändert." -#: redbot/core/core_commands.py:987 -#, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." msgstr "" -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." -msgstr "Erledigt. Sentry-Protokollierung ist jetzt aktiviert." +#: redbot/core/core_commands.py:1184 +#, docstring +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " +msgstr "" -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." -msgstr "Erledigt. Sentry-Protokollierung ist jetzt deaktiviert." +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." +msgstr "" -#: redbot/core/core_commands.py:1004 +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." +msgstr "" + +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 #, docstring msgid "Manage settings for the help command." -msgstr "" +msgstr "Verwalte die Einstellungen für den Hilfe-Befehl." -#: redbot/core/core_commands.py:1009 +#: redbot/core/core_commands.py:1228 #, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " msgstr "" -#: redbot/core/core_commands.py:1020 +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 msgid "You must give a positive value!" -msgstr "" +msgstr "Du musst einen positiven Wert angeben!" -#: redbot/core/core_commands.py:1024 +#: redbot/core/core_commands.py:1317 msgid "Done. The character limit per page has been set to {}." -msgstr "" +msgstr "Erledigt. Das Zeichenlimit pro Seite wurde auf {} gesetzt." -#: redbot/core/core_commands.py:1028 +#: redbot/core/core_commands.py:1321 #, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " msgstr "" -#: redbot/core/core_commands.py:1039 +#: redbot/core/core_commands.py:1332 msgid "You must give a value of zero or greater!" -msgstr "" +msgstr "Du musst einen Wert von 0 oder mehr angeben!" -#: redbot/core/core_commands.py:1043 +#: redbot/core/core_commands.py:1336 msgid "Done. The page limit has been set to {}." -msgstr "" +msgstr "Erledigt. Das Seitenlimit wurde auf {} gesetzt." -#: redbot/core/core_commands.py:1047 +#: redbot/core/core_commands.py:1340 #, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " msgstr "" -#: redbot/core/core_commands.py:1055 +#: redbot/core/core_commands.py:1348 msgid "The tagline has been reset." -msgstr "" +msgstr "Der Slogan wurde zurückgesetzt." -#: redbot/core/core_commands.py:1059 +#: redbot/core/core_commands.py:1352 msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." -msgstr "" +msgstr "Dein Slogan ist zu lang! Bitte kürze diesen damit er nicht länger als 2048 Zeichen ist." -#: redbot/core/core_commands.py:1067 +#: redbot/core/core_commands.py:1360 msgid "The tagline has been set to {}." -msgstr "" +msgstr "Der Slogan wurde auf {} gesetzt." -#: redbot/core/core_commands.py:1072 +#: redbot/core/core_commands.py:1365 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." +msgstr "Erstellt eine Sicherung aller Daten dieser Instanz." + +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." msgstr "" -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "Ein Backup wurde von dieser Instanz erstellt. Es befindet sich hier: {}." -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" -msgstr "" +msgstr "Möchtest du eine Kopie via Direktnachricht erhalten? (y/n)" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "" - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" -msgstr "" +msgstr "OK, ist auf dem Weg!" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" -msgstr "" +msgstr "Hier eine Kopie der Sicherung" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" -msgstr "" +msgstr "Ich scheine nicht in der Lage zu sein dir eine Direktnachricht zu senden. Hast du deine Direktnachrichten abgestellt?" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." -msgstr "" +msgstr "Ich konnte die Sicherungsdatei nicht versenden." -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." -msgstr "" +msgstr "Also gut." -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." msgstr "Dieses Verzeichnis scheint nicht zu existieren..." -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" -msgstr "" +msgstr "Sendet eine Nachricht an den Besitzer" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" msgstr "User ID: {}" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "über DM" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "von {}" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" msgstr " | Server ID: {}" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "Nutze `{}dm {} ` um dem Benutzer zu antworten" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "Gesendet von {} {}" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" -msgstr "Ich kann deine Nachricht nicht senden, da ich meinen Inhaber nicht finden kann... *seufz*" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." +msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "Ich bin nicht in der Lage, deine Nachricht zu überbringen. Tut mir Leid." - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "Deine Nachricht wurde gesendet." -#: redbot/core/core_commands.py:1249 +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." +msgstr "Ich bin nicht in der Lage, deine Nachricht zu überbringen. Tut mir Leid." + +#: redbot/core/core_commands.py:1589 #, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" msgstr "" -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "Ungültige ID oder Benutzer nicht gefunden. Du kannst nur Nachrichten an Personen senden, mit denen ich einen Server teile." -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" msgstr "Inhaber von {}" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" msgstr "Du kannst auf diese Nachricht mit {}contact antworten" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" msgstr "Die Nachricht konnte leider nicht an {} gesendet werden." -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" msgstr "Nachricht an {} zugestellt." -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " +msgid "Prints the bot's data path." msgstr "" -#: redbot/core/core_commands.py:1309 -#, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1652 +#, docstring +msgid "Shows debug information useful for debugging.." +msgstr "" + +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." msgstr "Benutzer wurde zur Whitelist hinzugefügt." -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " +msgid "\\n Lists whitelisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "Benutzer auf der Whitelist:" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " +msgid "\\n Removes user from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "Der Benutzer wurde von der Whitelist entfernt." -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "Benutzer war nicht in der Whitelist." -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." msgstr "Die Whitelist wurde gelöscht." -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " +msgid "\\n Blacklist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" msgstr "Sie können keinen Eigentümer auf die schwarze Liste setzen!" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "Benutzer wurde zur schwarzen Liste hinzugefügt." -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " +msgid "\\n Lists blacklisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" -msgstr "Benutzer auf der schwarzen Liste:" - -#: redbot/core/core_commands.py:1396 -#, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1799 +#, docstring +msgid "\\n Removes user from blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "Der Benutzer wurde aus der schwarzen Liste entfernt." -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "Benutzer war nicht in der schwarzen Liste." -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." -msgstr "Die schwarze Liste wurde gelöscht." - -#: redbot/core/core_commands.py:1432 -#, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1826 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." -msgstr "" +msgstr "Rolle zur weißen Liste hinzugefügt." -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" -msgstr "" +msgstr "Benutzer und Rollen auf der weißen Liste:" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." -msgstr "" +msgstr "Rolle wurde von der weißen Liste entfernt." -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." -msgstr "" +msgstr "Rolle befindet sich nicht auf der weißen Liste." -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." -msgstr "" +msgstr "Rolle zur schwarzen Liste hinzugefügt." -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." -msgstr "" +msgstr "Rolle wurde von der schwarzen Liste entfernt." -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." +msgstr "Rolle befindet sich nicht auf der schwarzen Liste." + +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." -msgstr "" +msgstr "Verwalte die Befehle des Bots." -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." -msgstr "" +msgstr "Deaktiviert einen Befehl global." -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." +msgstr "Ich konnte diesen Befehl nicht finden. Bitte achte auf Groß- und Kleinschreibung." + +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." msgstr "" -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." -msgstr "" +msgstr "Dieser Befehl ist bereits global deaktiviert." -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." +msgstr "Deaktiviere einen Befehl nur auf diesem Server." + +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." msgstr "" -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." -msgstr "" +msgstr "Dieser Befehl ist bereits auf diesem Server deaktiviert." -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." -msgstr "" +msgstr "Einen Befehl global aktivieren." -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." -msgstr "" +msgstr "Dieser Befehl ist bereits global aktiviert." -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." +msgstr "Aktiviert einen Befehl auf diesem Server." + +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." msgstr "" -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." -msgstr "" +msgstr "Dieser Befehl ist bereits auf diesem Server aktiviert." -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." -msgstr "" +msgstr "Keine Immunitätseinstellungen hier." -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." +msgstr "Bereits vorhanden." + +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2186 msgid "Not in list." -msgstr "" +msgstr "Nicht in der Liste." -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" -msgstr "" +msgstr "Sie sind immun" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" -msgstr "" +msgstr "Sie sind nicht immun" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "In diesem Kanal ist bereits eine aktive REPL-Sitzung. \n" "Mit `quit` kannst du diese verlassen." -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "Geben sie ihren Code zum Ausführen oder zum bewerten ein. \n" "`exit()` oder `quit` zum beenden." -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "Unerwarteter Fehler: `{}`" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." +msgstr "{user} Guthaben kann nicht über {max:,} {currency} steigen." + +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:176 +msgid "Unknown" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/el-GR.po b/redbot/core/locales/el-GR.po index 4d693569e..fee55c3f3 100644 --- a/redbot/core/locales/el-GR.po +++ b/redbot/core/locales/el-GR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,6 +16,14 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: el_GR\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." @@ -23,21 +31,16 @@ msgstr "" #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " msgstr "" #: redbot/core/cog_manager.py:343 @@ -50,10 +53,7 @@ msgstr "" #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 @@ -70,9 +70,7 @@ msgstr "" #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " msgstr "" #: redbot/core/cog_manager.py:392 @@ -89,12 +87,7 @@ msgstr "" #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " msgstr "" #: redbot/core/cog_manager.py:420 @@ -107,1028 +100,1312 @@ msgstr "" #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" msgstr "" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." msgstr "" -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" msgstr "" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" msgstr "" -#: redbot/core/core_commands.py:349 -#, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 +#, docstring +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." msgstr "" -#: redbot/core/core_commands.py:388 -#, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" msgstr "" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "" + +#: redbot/core/core_commands.py:375 +#, docstring +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." msgstr "" -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." msgstr "" -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." msgstr "" -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:420 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" msgstr "" -#: redbot/core/core_commands.py:448 +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 #, docstring msgid "Show's Red's invite url" msgstr "" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" +msgstr "" + +#: redbot/core/core_commands.py:448 +#, docstring +msgid "\\n Define if the command should be accessible for the average users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" msgstr "" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "" + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" msgstr "" -#: redbot/core/core_commands.py:520 +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "" + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring msgid "Loads packages" msgstr "" -#: redbot/core/core_commands.py:552 +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring msgid "Unloads packages" msgstr "" -#: redbot/core/core_commands.py:570 +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring msgid "Reloads packages" msgstr "" -#: redbot/core/core_commands.py:594 +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring msgid "Shuts down the bot" msgstr "" -#: redbot/core/core_commands.py:599 +#: redbot/core/core_commands.py:735 msgid "Shutting down... " msgstr "" -#: redbot/core/core_commands.py:605 +#: redbot/core/core_commands.py:741 #, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" msgstr "" -#: redbot/core/core_commands.py:612 +#: redbot/core/core_commands.py:748 msgid "Restarting..." msgstr "" -#: redbot/core/core_commands.py:617 +#: redbot/core/core_commands.py:753 #, docstring msgid "Changes Red's settings" msgstr "" -#: redbot/core/core_commands.py:649 +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" +msgstr "" + +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" +msgstr "" + +#: redbot/core/core_commands.py:795 #, docstring -msgid "Sets the admin role for this server" +msgid "\\n Adds an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." msgstr "" -#: redbot/core/core_commands.py:657 +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 #, docstring -msgid "Sets the mod role for this server" +msgid "\\n Adds a mod role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." msgstr "" -#: redbot/core/core_commands.py:665 +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 #, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " +msgid "\\n Removes an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:674 +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 msgid "The bot {} use its configured color for embeds." msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will not" msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will" msgstr "" -#: redbot/core/core_commands.py:683 +#: redbot/core/core_commands.py:865 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:691 +#: redbot/core/core_commands.py:873 msgid "Fuzzy command search has been {} for this server." msgstr "" -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "" - -#: redbot/core/core_commands.py:699 +#: redbot/core/core_commands.py:881 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:707 +#: redbot/core/core_commands.py:889 msgid "Fuzzy command search has been {} in DMs." msgstr "" -#: redbot/core/core_commands.py:715 +#: redbot/core/core_commands.py:897 #, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " msgstr "" -#: redbot/core/core_commands.py:725 +#: redbot/core/core_commands.py:907 msgid "The color has been reset." msgstr "" -#: redbot/core/core_commands.py:728 +#: redbot/core/core_commands.py:910 msgid "The color has been set." msgstr "" -#: redbot/core/core_commands.py:733 +#: redbot/core/core_commands.py:915 #, docstring msgid "Sets Red's avatar" msgstr "" -#: redbot/core/core_commands.py:742 +#: redbot/core/core_commands.py:924 msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." msgstr "" -#: redbot/core/core_commands.py:749 +#: redbot/core/core_commands.py:931 msgid "JPG / PNG format only." msgstr "" -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 -msgid "Done." -msgstr "" - -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:939 #, docstring msgid "Sets Red's playing status" msgstr "" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "" -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" msgstr "" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." msgstr "" -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" msgstr "" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." msgstr "" -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "" -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" msgstr "" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" msgstr "" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "" -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" msgstr "" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "" -#: redbot/core/core_commands.py:890 -#, docstring -msgid "Sets Red's server prefix(es)" -msgstr "" - -#: redbot/core/core_commands.py:893 -msgid "Guild prefixes have been reset." -msgstr "" - -#: redbot/core/core_commands.py:902 -#, docstring -msgid "Sets Red's main owner" -msgstr "" - -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "" - -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "" - -#: redbot/core/core_commands.py:919 -msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." -msgstr "" - -#: redbot/core/core_commands.py:932 -msgid "The `{prefix}set owner` request has timed out." -msgstr "" - -#: redbot/core/core_commands.py:939 -msgid "You have been set as owner." -msgstr "" - -#: redbot/core/core_commands.py:941 -msgid "Invalid token." -msgstr "" - -#: redbot/core/core_commands.py:946 -#, docstring -msgid "Change bot token." -msgstr "" - -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" -msgstr "" - -#: redbot/core/core_commands.py:971 -#, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:982 -msgid "Locale has been set." -msgstr "" - -#: redbot/core/core_commands.py:987 -#, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." -msgstr "" - -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." -msgstr "" - -#: redbot/core/core_commands.py:1004 -#, docstring -msgid "Manage settings for the help command." -msgstr "" - -#: redbot/core/core_commands.py:1009 -#, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1020 -msgid "You must give a positive value!" -msgstr "" - -#: redbot/core/core_commands.py:1024 -msgid "Done. The character limit per page has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1028 -#, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1039 -msgid "You must give a value of zero or greater!" -msgstr "" - -#: redbot/core/core_commands.py:1043 -msgid "Done. The page limit has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1047 -#, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1055 -msgid "The tagline has been reset." -msgstr "" - -#: redbot/core/core_commands.py:1059 -msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." -msgstr "" - -#: redbot/core/core_commands.py:1067 -msgid "The tagline has been set to {}." -msgstr "" - #: redbot/core/core_commands.py:1072 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " +msgid "Sets Red's server prefix(es)" msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1075 +msgid "Guild prefixes have been reset." +msgstr "" + +#: redbot/core/core_commands.py:1084 +#, docstring +msgid "Sets Red's main owner" +msgstr "" + +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" + +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" + +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 +msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." +msgstr "" + +#: redbot/core/core_commands.py:1120 +msgid "The `{prefix}set owner` request has timed out." +msgstr "" + +#: redbot/core/core_commands.py:1127 +msgid "You have been set as owner." +msgstr "" + +#: redbot/core/core_commands.py:1129 +msgid "Invalid token." +msgstr "" + +#: redbot/core/core_commands.py:1134 +#, docstring +msgid "Change bot token." +msgstr "" + +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" +msgstr "" + +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 +#, docstring +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " +msgstr "" + +#: redbot/core/core_commands.py:1172 +msgid "Locale has been set." +msgstr "" + +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 +#, docstring +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " +msgstr "" + +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." +msgstr "" + +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." +msgstr "" + +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 +#, docstring +msgid "Manage settings for the help command." +msgstr "" + +#: redbot/core/core_commands.py:1228 +#, docstring +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 +msgid "You must give a positive value!" +msgstr "" + +#: redbot/core/core_commands.py:1317 +msgid "Done. The character limit per page has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1321 +#, docstring +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1332 +msgid "You must give a value of zero or greater!" +msgstr "" + +#: redbot/core/core_commands.py:1336 +msgid "Done. The page limit has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1340 +#, docstring +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1348 +msgid "The tagline has been reset." +msgstr "" + +#: redbot/core/core_commands.py:1352 +msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." +msgstr "" + +#: redbot/core/core_commands.py:1360 +msgid "The tagline has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1365 +#, docstring +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " +msgstr "" + +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." msgstr "" -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "" -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" msgstr "" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "" - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" msgstr "" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" msgstr "" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" msgstr "" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." msgstr "" -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." msgstr "" -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." msgstr "" -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" msgstr "" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" msgstr "" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" msgstr "" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "" - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "" -#: redbot/core/core_commands.py:1249 -#, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." msgstr "" -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1589 +#, docstring +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" +msgstr "" + +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "" -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" msgstr "" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" msgstr "" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" msgstr "" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" msgstr "" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " +msgid "Prints the bot's data path." msgstr "" -#: redbot/core/core_commands.py:1309 -#, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1652 +#, docstring +msgid "Shows debug information useful for debugging.." +msgstr "" + +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " +msgid "\\n Lists whitelisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " +msgid "\\n Removes user from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " +msgid "\\n Blacklist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" msgstr "" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " +msgid "\\n Lists blacklisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" msgstr "" -#: redbot/core/core_commands.py:1396 +#: redbot/core/core_commands.py:1799 #, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " +msgid "\\n Removes user from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1432 +#: redbot/core/core_commands.py:1826 #, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " +msgid "\\n Whitelist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" msgstr "" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." msgstr "" -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "" -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." msgstr "" -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "" -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "" -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "" -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." msgstr "" -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." msgstr "" -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." msgstr "" -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." msgstr "" -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." msgstr "" -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." msgstr "" -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 msgid "Not in list." msgstr "" -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" msgstr "" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" msgstr "" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "" -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "" -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/en-PT.po b/redbot/core/locales/en-PT.po index cf8939cc9..9c0b625b0 100644 --- a/redbot/core/locales/en-PT.po +++ b/redbot/core/locales/en-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Pirate English\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,6 +16,14 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: en_PT\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." @@ -23,21 +31,16 @@ msgstr "" #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " msgstr "" #: redbot/core/cog_manager.py:343 @@ -50,10 +53,7 @@ msgstr "Yer Path successfully added." #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 @@ -70,9 +70,7 @@ msgstr "Yer path successfully removed." #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " msgstr "" #: redbot/core/cog_manager.py:392 @@ -89,12 +87,7 @@ msgstr "Yer paths reordered." #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " msgstr "" #: redbot/core/cog_manager.py:420 @@ -107,1029 +100,1312 @@ msgstr "Thee bot will install new cogs to thee `{}` directory." #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" msgstr "" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." msgstr "" -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" msgstr "" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" msgstr "" -#: redbot/core/core_commands.py:349 -#, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 +#, docstring +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." msgstr "" -#: redbot/core/core_commands.py:388 -#, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" msgstr "" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "" + +#: redbot/core/core_commands.py:375 +#, docstring +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." msgstr "" -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." msgstr "" -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." msgstr "" -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:420 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" msgstr "" -#: redbot/core/core_commands.py:448 +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 #, docstring msgid "Show's Red's invite url" msgstr "" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" +msgstr "" + +#: redbot/core/core_commands.py:448 +#, docstring +msgid "\\n Define if the command should be accessible for the average users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" msgstr "" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "" + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" msgstr "" -#: redbot/core/core_commands.py:520 +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "Done." + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring msgid "Loads packages" msgstr "" -#: redbot/core/core_commands.py:552 +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring msgid "Unloads packages" msgstr "" -#: redbot/core/core_commands.py:570 +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring msgid "Reloads packages" msgstr "" -#: redbot/core/core_commands.py:594 +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring msgid "Shuts down the bot" msgstr "" -#: redbot/core/core_commands.py:599 +#: redbot/core/core_commands.py:735 msgid "Shutting down... " msgstr "Shutting thee down... " -#: redbot/core/core_commands.py:605 +#: redbot/core/core_commands.py:741 #, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" msgstr "" -#: redbot/core/core_commands.py:612 +#: redbot/core/core_commands.py:748 msgid "Restarting..." msgstr "" -#: redbot/core/core_commands.py:617 +#: redbot/core/core_commands.py:753 #, docstring msgid "Changes Red's settings" msgstr "" -#: redbot/core/core_commands.py:649 -#, docstring -msgid "Sets the admin role for this server" +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" msgstr "" -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." -msgstr "Thee admin role for this guild has been set." - -#: redbot/core/core_commands.py:657 -#, docstring -msgid "Sets the mod role for this server" +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" msgstr "" -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." -msgstr "Thee mod role for this guild has been set." - -#: redbot/core/core_commands.py:665 +#: redbot/core/core_commands.py:795 #, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " +msgid "\\n Adds an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:674 +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." +msgstr "" + +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 +#, docstring +msgid "\\n Adds a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." +msgstr "" + +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 +#, docstring +msgid "\\n Removes an admin role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 msgid "The bot {} use its configured color for embeds." msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will not" msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will" msgstr "" -#: redbot/core/core_commands.py:683 +#: redbot/core/core_commands.py:865 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:691 +#: redbot/core/core_commands.py:873 msgid "Fuzzy command search has been {} for this server." msgstr "" -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "" - -#: redbot/core/core_commands.py:699 +#: redbot/core/core_commands.py:881 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:707 +#: redbot/core/core_commands.py:889 msgid "Fuzzy command search has been {} in DMs." msgstr "" -#: redbot/core/core_commands.py:715 +#: redbot/core/core_commands.py:897 #, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " msgstr "" -#: redbot/core/core_commands.py:725 +#: redbot/core/core_commands.py:907 msgid "The color has been reset." msgstr "" -#: redbot/core/core_commands.py:728 +#: redbot/core/core_commands.py:910 msgid "The color has been set." msgstr "" -#: redbot/core/core_commands.py:733 +#: redbot/core/core_commands.py:915 #, docstring msgid "Sets Red's avatar" msgstr "" -#: redbot/core/core_commands.py:742 +#: redbot/core/core_commands.py:924 msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." msgstr "Failed. Remember that ye can edit my avatar up to two times a hour. Thee URL must be a direct link to a JPG / PNG." -#: redbot/core/core_commands.py:749 +#: redbot/core/core_commands.py:931 msgid "JPG / PNG format only." msgstr "Thee JPG / PNG format only." -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 -msgid "Done." -msgstr "Done." - -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:939 #, docstring msgid "Sets Red's playing status" msgstr "" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "Thee game set." -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" msgstr "" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." msgstr "" -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" msgstr "" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." msgstr "" -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "" -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" msgstr "" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "Failed to change name. Remember that ye can only do it up to 2 times an hour. Use nicknames if ye need frequent changes. `{}set nickname`" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" msgstr "" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "I lack thee permissions to change my own nickname." -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" msgstr "" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "Prefix set." -#: redbot/core/core_commands.py:890 +#: redbot/core/core_commands.py:1072 #, docstring msgid "Sets Red's server prefix(es)" msgstr "" -#: redbot/core/core_commands.py:893 +#: redbot/core/core_commands.py:1075 msgid "Guild prefixes have been reset." msgstr "Yarr! Guild prefixes have been reset." -#: redbot/core/core_commands.py:902 +#: redbot/core/core_commands.py:1084 #, docstring msgid "Sets Red's main owner" msgstr "" -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "\n" -"Yer Verification token:" +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "Thee Remember:\n" +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" -#: redbot/core/core_commands.py:919 +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." msgstr "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." -#: redbot/core/core_commands.py:932 +#: redbot/core/core_commands.py:1120 msgid "The `{prefix}set owner` request has timed out." msgstr "" -#: redbot/core/core_commands.py:939 +#: redbot/core/core_commands.py:1127 msgid "You have been set as owner." msgstr "You have been set as owner." -#: redbot/core/core_commands.py:941 +#: redbot/core/core_commands.py:1129 msgid "Invalid token." msgstr "Invalid token." -#: redbot/core/core_commands.py:946 +#: redbot/core/core_commands.py:1134 #, docstring msgid "Change bot token." msgstr "" -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" msgstr "" -#: redbot/core/core_commands.py:971 +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 #, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " msgstr "" -#: redbot/core/core_commands.py:982 +#: redbot/core/core_commands.py:1172 msgid "Locale has been set." msgstr "Yer Locale has been set." -#: redbot/core/core_commands.py:987 +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 #, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " msgstr "" -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." msgstr "" -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." msgstr "" -#: redbot/core/core_commands.py:1004 +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 #, docstring msgid "Manage settings for the help command." msgstr "" -#: redbot/core/core_commands.py:1009 +#: redbot/core/core_commands.py:1228 #, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " msgstr "" -#: redbot/core/core_commands.py:1020 +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 msgid "You must give a positive value!" msgstr "" -#: redbot/core/core_commands.py:1024 +#: redbot/core/core_commands.py:1317 msgid "Done. The character limit per page has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1028 +#: redbot/core/core_commands.py:1321 #, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " msgstr "" -#: redbot/core/core_commands.py:1039 +#: redbot/core/core_commands.py:1332 msgid "You must give a value of zero or greater!" msgstr "" -#: redbot/core/core_commands.py:1043 +#: redbot/core/core_commands.py:1336 msgid "Done. The page limit has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1047 +#: redbot/core/core_commands.py:1340 #, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " msgstr "" -#: redbot/core/core_commands.py:1055 +#: redbot/core/core_commands.py:1348 msgid "The tagline has been reset." msgstr "" -#: redbot/core/core_commands.py:1059 +#: redbot/core/core_commands.py:1352 msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." msgstr "" -#: redbot/core/core_commands.py:1067 +#: redbot/core/core_commands.py:1360 msgid "The tagline has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1072 +#: redbot/core/core_commands.py:1365 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." msgstr "" -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "" -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" msgstr "" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "" - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" msgstr "" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" msgstr "" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" msgstr "" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." msgstr "" -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." msgstr "" -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." msgstr "" -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" msgstr "" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" msgstr "" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "through DM" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "from {}" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" msgstr "" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "Use `{}dm {} ` to reply to this user" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "Sent by {} {}" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" -msgstr "Yarr, I cannot send your message, I'm unable to find my owner... *sigh*" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." +msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "I be unable to deliver yer message. Sorry." - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "Your message in a bottle has been sent to sea." -#: redbot/core/core_commands.py:1249 +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." +msgstr "I be unable to deliver yer message. Sorry." + +#: redbot/core/core_commands.py:1589 #, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" msgstr "" -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "Invalid ID or user not found. Ye can only send messages to people I share a guild with." -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" msgstr "" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" msgstr "" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" msgstr "" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" msgstr "" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " +msgid "Prints the bot's data path." msgstr "" -#: redbot/core/core_commands.py:1309 -#, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1652 +#, docstring +msgid "Shows debug information useful for debugging.." +msgstr "" + +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " +msgid "\\n Lists whitelisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " +msgid "\\n Removes user from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " +msgid "\\n Blacklist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" msgstr "" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " +msgid "\\n Lists blacklisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" msgstr "" -#: redbot/core/core_commands.py:1396 +#: redbot/core/core_commands.py:1799 #, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " +msgid "\\n Removes user from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1432 +#: redbot/core/core_commands.py:1826 #, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " +msgid "\\n Whitelist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" msgstr "" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." msgstr "" -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "" -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." msgstr "" -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "" -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "" -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "" -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." msgstr "" -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." msgstr "" -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." msgstr "" -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." msgstr "" -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." msgstr "" -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." msgstr "" -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 msgid "Not in list." msgstr "" -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" msgstr "" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" msgstr "" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "Already running a REPL session in this channel, capt'n. Exit it with `quit`." -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "Enter code to execute or evaluate. `exit()` or `quit` to exit." -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "Unexpected error: `{}`" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/es-ES.po b/redbot/core/locales/es-ES.po index a13f5145a..d240cdfe4 100644 --- a/redbot/core/locales/es-ES.po +++ b/redbot/core/locales/es-ES.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,6 +16,14 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: es_ES\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." @@ -23,21 +31,16 @@ msgstr "" #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " msgstr "" #: redbot/core/cog_manager.py:343 @@ -50,10 +53,7 @@ msgstr "Ruta añadida exitósamente." #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 @@ -70,9 +70,7 @@ msgstr "Ruta eliminada exitósamente." #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " msgstr "" #: redbot/core/cog_manager.py:392 @@ -89,12 +87,7 @@ msgstr "Rutas reordenadas." #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " msgstr "" #: redbot/core/cog_manager.py:420 @@ -107,1031 +100,1312 @@ msgstr "El bot instalará nuevos cogs en el directorio '{}'." #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" msgstr "" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." msgstr "" -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" msgstr "" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" msgstr "" -#: redbot/core/core_commands.py:349 -#, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 +#, docstring +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." msgstr "Las inserciones ahora son {} por defecto." -#: redbot/core/core_commands.py:388 -#, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" msgstr "" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "" + +#: redbot/core/core_commands.py:375 +#, docstring +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." msgstr "Inserciones ahora volverá a la configuración global." -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." msgstr "Las inserciones ahora son {} para este gremio." -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." msgstr "Los embeds ahora son {} para ti." -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:420 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" msgstr "" -#: redbot/core/core_commands.py:448 +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 #, docstring msgid "Show's Red's invite url" msgstr "" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" +msgstr "" + +#: redbot/core/core_commands.py:448 +#, docstring +msgid "\\n Define if the command should be accessible for the average users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" msgstr "" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "" + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" msgstr "" -#: redbot/core/core_commands.py:520 +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "Listo." + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring msgid "Loads packages" msgstr "" -#: redbot/core/core_commands.py:552 +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring msgid "Unloads packages" msgstr "" -#: redbot/core/core_commands.py:570 +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring msgid "Reloads packages" msgstr "" -#: redbot/core/core_commands.py:594 +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring msgid "Shuts down the bot" msgstr "" -#: redbot/core/core_commands.py:599 +#: redbot/core/core_commands.py:735 msgid "Shutting down... " msgstr "Apagando... " -#: redbot/core/core_commands.py:605 +#: redbot/core/core_commands.py:741 #, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" msgstr "" -#: redbot/core/core_commands.py:612 +#: redbot/core/core_commands.py:748 msgid "Restarting..." msgstr "Reiniciando..." -#: redbot/core/core_commands.py:617 +#: redbot/core/core_commands.py:753 #, docstring msgid "Changes Red's settings" msgstr "" -#: redbot/core/core_commands.py:649 -#, docstring -msgid "Sets the admin role for this server" +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" msgstr "" -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." -msgstr "El rol de administrador para este gremio ha sido configurado." - -#: redbot/core/core_commands.py:657 -#, docstring -msgid "Sets the mod role for this server" +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" msgstr "" -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." -msgstr "El rol de moderador para este gremio ha sido configurado." - -#: redbot/core/core_commands.py:665 +#: redbot/core/core_commands.py:795 #, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " +msgid "\\n Adds an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:674 +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." +msgstr "" + +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 +#, docstring +msgid "\\n Adds a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." +msgstr "" + +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 +#, docstring +msgid "\\n Removes an admin role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 msgid "The bot {} use its configured color for embeds." msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will not" msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will" msgstr "" -#: redbot/core/core_commands.py:683 +#: redbot/core/core_commands.py:865 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:691 +#: redbot/core/core_commands.py:873 msgid "Fuzzy command search has been {} for this server." msgstr "" -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "" - -#: redbot/core/core_commands.py:699 +#: redbot/core/core_commands.py:881 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:707 +#: redbot/core/core_commands.py:889 msgid "Fuzzy command search has been {} in DMs." msgstr "" -#: redbot/core/core_commands.py:715 +#: redbot/core/core_commands.py:897 #, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " msgstr "" -#: redbot/core/core_commands.py:725 +#: redbot/core/core_commands.py:907 msgid "The color has been reset." msgstr "" -#: redbot/core/core_commands.py:728 +#: redbot/core/core_commands.py:910 msgid "The color has been set." msgstr "" -#: redbot/core/core_commands.py:733 +#: redbot/core/core_commands.py:915 #, docstring msgid "Sets Red's avatar" msgstr "" -#: redbot/core/core_commands.py:742 +#: redbot/core/core_commands.py:924 msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." msgstr "Error. Recuerde que puede editar mi avatar hasta dos veces por hora. La URL debe ser un enlace directo a un JPG o PNG." -#: redbot/core/core_commands.py:749 +#: redbot/core/core_commands.py:931 msgid "JPG / PNG format only." msgstr "Únicamente formatos JPG o PNG." -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 -msgid "Done." -msgstr "Listo." - -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:939 #, docstring msgid "Sets Red's playing status" msgstr "" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "Juego configurado." -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" msgstr "" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." msgstr "Escuchando junto." -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" msgstr "" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." msgstr "Viendo junto." -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "Estado cambiado a {}." -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" msgstr "" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "No se pudo cambiar el nombre. Recuerde que solo se puede hacer hasta 2 veces por hora. Utilice sobrenombres si cambios más frecuentes son necesarios. `{}set nickname`" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" msgstr "" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "No tengo permisos para cambiar mi propio apodo." -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" msgstr "" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "Prefijo establecido." -#: redbot/core/core_commands.py:890 +#: redbot/core/core_commands.py:1072 #, docstring msgid "Sets Red's server prefix(es)" msgstr "" -#: redbot/core/core_commands.py:893 +#: redbot/core/core_commands.py:1075 msgid "Guild prefixes have been reset." msgstr "Los prefijos del servidor han sido restaurados." -#: redbot/core/core_commands.py:902 +#: redbot/core/core_commands.py:1084 #, docstring msgid "Sets Red's main owner" msgstr "" -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "\n" -"Código de verificación:" +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "Recuerda:\n" +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" -#: redbot/core/core_commands.py:919 +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." msgstr "He impreso un código de uso único en la consola. Copie y péguelo acá para confirmar que es el dueño." -#: redbot/core/core_commands.py:932 +#: redbot/core/core_commands.py:1120 msgid "The `{prefix}set owner` request has timed out." msgstr "" -#: redbot/core/core_commands.py:939 +#: redbot/core/core_commands.py:1127 msgid "You have been set as owner." msgstr "Usted ha sido establecido como dueño." -#: redbot/core/core_commands.py:941 +#: redbot/core/core_commands.py:1129 msgid "Invalid token." msgstr "Código inválido." -#: redbot/core/core_commands.py:946 +#: redbot/core/core_commands.py:1134 #, docstring msgid "Change bot token." msgstr "" -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" -msgstr "Por favor usa ese comando en Mensaje Directo. Puesto que los usuarios pueden haber visto tu token, es recomendable que lo reinicies ahora mismo. \n" -"Ve al siguiente enlace y selecciona `Revelar Token` y `¿Generar un nuevo token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" - -#: redbot/core/core_commands.py:971 -#, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" msgstr "" -#: redbot/core/core_commands.py:982 +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 +#, docstring +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " +msgstr "" + +#: redbot/core/core_commands.py:1172 msgid "Locale has been set." msgstr "Configuración regional establecida." -#: redbot/core/core_commands.py:987 -#, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." msgstr "" -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." -msgstr "Hecho. Ya está habilitado el inicio del robot." +#: redbot/core/core_commands.py:1184 +#, docstring +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " +msgstr "" -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." -msgstr "Hecho. Ya está deshabilitado el inicio del robot." +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." +msgstr "" -#: redbot/core/core_commands.py:1004 +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." +msgstr "" + +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 #, docstring msgid "Manage settings for the help command." msgstr "" -#: redbot/core/core_commands.py:1009 +#: redbot/core/core_commands.py:1228 #, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " msgstr "" -#: redbot/core/core_commands.py:1020 +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 msgid "You must give a positive value!" msgstr "" -#: redbot/core/core_commands.py:1024 +#: redbot/core/core_commands.py:1317 msgid "Done. The character limit per page has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1028 +#: redbot/core/core_commands.py:1321 #, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " msgstr "" -#: redbot/core/core_commands.py:1039 +#: redbot/core/core_commands.py:1332 msgid "You must give a value of zero or greater!" msgstr "" -#: redbot/core/core_commands.py:1043 +#: redbot/core/core_commands.py:1336 msgid "Done. The page limit has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1047 +#: redbot/core/core_commands.py:1340 #, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " msgstr "" -#: redbot/core/core_commands.py:1055 +#: redbot/core/core_commands.py:1348 msgid "The tagline has been reset." msgstr "" -#: redbot/core/core_commands.py:1059 +#: redbot/core/core_commands.py:1352 msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." msgstr "" -#: redbot/core/core_commands.py:1067 +#: redbot/core/core_commands.py:1360 msgid "The tagline has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1072 +#: redbot/core/core_commands.py:1365 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." msgstr "" -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "Una copia de seguridad ha sido creada en este instante. Está en {}." -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" msgstr "" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "" - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" msgstr "" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" msgstr "" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" msgstr "" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." msgstr "" -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." msgstr "" -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." msgstr "Ese directorio no parece existir..." -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" msgstr "" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" msgstr "ID de usuario: {}" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "a través de MP" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "de {}" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" msgstr " | ID del servidor: {}" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "Utilice `{}dm {} ` para responder a este usuario" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "Enviado por {} {}" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" -msgstr "No puedo enviar tu mensaje, no consigo encontrar a mi dueño... *suspiro*" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." +msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "No soy capaz de entregar su mensaje. Lo siento." - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "Su mensaje ha sido enviado." -#: redbot/core/core_commands.py:1249 +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." +msgstr "No soy capaz de entregar su mensaje. Lo siento." + +#: redbot/core/core_commands.py:1589 #, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" msgstr "" -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "ID o usuario no encontrado. Sólo puede enviar mensajes a personas con quienes comparto un servidor." -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" msgstr "Dueño de {}" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" msgstr "Puedes responder este mensaje con {}contacto" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" msgstr "Lo siento, no pude enviar su mensaje a {}" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" msgstr "Mensaje enviado a {}" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " +msgid "Prints the bot's data path." msgstr "" -#: redbot/core/core_commands.py:1309 -#, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1652 +#, docstring +msgid "Shows debug information useful for debugging.." +msgstr "" + +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." msgstr "Usuario añadido a la lista blanca." -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " +msgid "\\n Lists whitelisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "Usuarios en lista blanca:" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " +msgid "\\n Removes user from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "El usuario ha sido removido de la lista blanca." -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "El usuario no estaba en la lista blanca." -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." msgstr "La lista blanca ha sido borrada." -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " +msgid "\\n Blacklist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" msgstr "No puedes poner un dueño en la lista negra!" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "Usuario ha añadido a la lista negra." -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " +msgid "\\n Lists blacklisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" -msgstr "usuarios en la lista negra:" - -#: redbot/core/core_commands.py:1396 -#, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1799 +#, docstring +msgid "\\n Removes user from blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "El usuario se ha eliminado de la lista negra." -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "El usuario no estaba en la lista negra." -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." -msgstr "la lista negra ha sido borrada." - -#: redbot/core/core_commands.py:1432 -#, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1826 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" msgstr "" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." msgstr "" -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "" -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." msgstr "" -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "" -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "" -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "" -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." msgstr "" -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." msgstr "" -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." msgstr "" -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." msgstr "" -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." msgstr "" -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." msgstr "" -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 msgid "Not in list." msgstr "" -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" msgstr "" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" msgstr "" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "Este canal ya está ejecutando una sesión REPL. Salga usando `quit`." -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "Ingresar código a ejecutar o evaluar. `exit()` o `quit` para salir." -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "Error inesperado: `{}`" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/fi-FI.po b/redbot/core/locales/fi-FI.po index 3219b8e45..ba1183b96 100644 --- a/redbot/core/locales/fi-FI.po +++ b/redbot/core/locales/fi-FI.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,6 +16,14 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: fi_FI\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." @@ -23,21 +31,16 @@ msgstr "" #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " msgstr "" #: redbot/core/cog_manager.py:343 @@ -50,10 +53,7 @@ msgstr "Polku lisätty onnistuneesti." #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 @@ -70,9 +70,7 @@ msgstr "" #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " msgstr "" #: redbot/core/cog_manager.py:392 @@ -89,12 +87,7 @@ msgstr "" #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " msgstr "" #: redbot/core/cog_manager.py:420 @@ -107,1028 +100,1312 @@ msgstr "" #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" msgstr "" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." msgstr "" -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" msgstr "" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" msgstr "" -#: redbot/core/core_commands.py:349 -#, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 +#, docstring +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." msgstr "" -#: redbot/core/core_commands.py:388 -#, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" msgstr "" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "" + +#: redbot/core/core_commands.py:375 +#, docstring +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." msgstr "" -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." msgstr "" -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." msgstr "" -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:420 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" msgstr "" -#: redbot/core/core_commands.py:448 +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 #, docstring msgid "Show's Red's invite url" msgstr "" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" +msgstr "" + +#: redbot/core/core_commands.py:448 +#, docstring +msgid "\\n Define if the command should be accessible for the average users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" msgstr "" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "" + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" msgstr "" -#: redbot/core/core_commands.py:520 +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "" + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring msgid "Loads packages" msgstr "" -#: redbot/core/core_commands.py:552 +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring msgid "Unloads packages" msgstr "" -#: redbot/core/core_commands.py:570 +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring msgid "Reloads packages" msgstr "" -#: redbot/core/core_commands.py:594 +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring msgid "Shuts down the bot" msgstr "" -#: redbot/core/core_commands.py:599 +#: redbot/core/core_commands.py:735 msgid "Shutting down... " msgstr "" -#: redbot/core/core_commands.py:605 +#: redbot/core/core_commands.py:741 #, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" msgstr "" -#: redbot/core/core_commands.py:612 +#: redbot/core/core_commands.py:748 msgid "Restarting..." msgstr "" -#: redbot/core/core_commands.py:617 +#: redbot/core/core_commands.py:753 #, docstring msgid "Changes Red's settings" msgstr "" -#: redbot/core/core_commands.py:649 +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" +msgstr "" + +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" +msgstr "" + +#: redbot/core/core_commands.py:795 #, docstring -msgid "Sets the admin role for this server" +msgid "\\n Adds an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." msgstr "" -#: redbot/core/core_commands.py:657 +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 #, docstring -msgid "Sets the mod role for this server" +msgid "\\n Adds a mod role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." msgstr "" -#: redbot/core/core_commands.py:665 +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 #, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " +msgid "\\n Removes an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:674 +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 msgid "The bot {} use its configured color for embeds." msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will not" msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will" msgstr "" -#: redbot/core/core_commands.py:683 +#: redbot/core/core_commands.py:865 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:691 +#: redbot/core/core_commands.py:873 msgid "Fuzzy command search has been {} for this server." msgstr "" -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "" - -#: redbot/core/core_commands.py:699 +#: redbot/core/core_commands.py:881 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:707 +#: redbot/core/core_commands.py:889 msgid "Fuzzy command search has been {} in DMs." msgstr "" -#: redbot/core/core_commands.py:715 +#: redbot/core/core_commands.py:897 #, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " msgstr "" -#: redbot/core/core_commands.py:725 +#: redbot/core/core_commands.py:907 msgid "The color has been reset." msgstr "" -#: redbot/core/core_commands.py:728 +#: redbot/core/core_commands.py:910 msgid "The color has been set." msgstr "" -#: redbot/core/core_commands.py:733 +#: redbot/core/core_commands.py:915 #, docstring msgid "Sets Red's avatar" msgstr "" -#: redbot/core/core_commands.py:742 +#: redbot/core/core_commands.py:924 msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." msgstr "" -#: redbot/core/core_commands.py:749 +#: redbot/core/core_commands.py:931 msgid "JPG / PNG format only." msgstr "" -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 -msgid "Done." -msgstr "" - -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:939 #, docstring msgid "Sets Red's playing status" msgstr "" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "" -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" msgstr "" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." msgstr "" -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" msgstr "" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." msgstr "" -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "" -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" msgstr "" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" msgstr "" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "" -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" msgstr "" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "" -#: redbot/core/core_commands.py:890 -#, docstring -msgid "Sets Red's server prefix(es)" -msgstr "" - -#: redbot/core/core_commands.py:893 -msgid "Guild prefixes have been reset." -msgstr "" - -#: redbot/core/core_commands.py:902 -#, docstring -msgid "Sets Red's main owner" -msgstr "" - -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "" - -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "" - -#: redbot/core/core_commands.py:919 -msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." -msgstr "" - -#: redbot/core/core_commands.py:932 -msgid "The `{prefix}set owner` request has timed out." -msgstr "" - -#: redbot/core/core_commands.py:939 -msgid "You have been set as owner." -msgstr "" - -#: redbot/core/core_commands.py:941 -msgid "Invalid token." -msgstr "" - -#: redbot/core/core_commands.py:946 -#, docstring -msgid "Change bot token." -msgstr "" - -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" -msgstr "" - -#: redbot/core/core_commands.py:971 -#, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:982 -msgid "Locale has been set." -msgstr "" - -#: redbot/core/core_commands.py:987 -#, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." -msgstr "" - -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." -msgstr "" - -#: redbot/core/core_commands.py:1004 -#, docstring -msgid "Manage settings for the help command." -msgstr "" - -#: redbot/core/core_commands.py:1009 -#, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1020 -msgid "You must give a positive value!" -msgstr "" - -#: redbot/core/core_commands.py:1024 -msgid "Done. The character limit per page has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1028 -#, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1039 -msgid "You must give a value of zero or greater!" -msgstr "" - -#: redbot/core/core_commands.py:1043 -msgid "Done. The page limit has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1047 -#, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1055 -msgid "The tagline has been reset." -msgstr "" - -#: redbot/core/core_commands.py:1059 -msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." -msgstr "" - -#: redbot/core/core_commands.py:1067 -msgid "The tagline has been set to {}." -msgstr "" - #: redbot/core/core_commands.py:1072 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " +msgid "Sets Red's server prefix(es)" msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1075 +msgid "Guild prefixes have been reset." +msgstr "" + +#: redbot/core/core_commands.py:1084 +#, docstring +msgid "Sets Red's main owner" +msgstr "" + +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" + +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" + +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 +msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." +msgstr "" + +#: redbot/core/core_commands.py:1120 +msgid "The `{prefix}set owner` request has timed out." +msgstr "" + +#: redbot/core/core_commands.py:1127 +msgid "You have been set as owner." +msgstr "" + +#: redbot/core/core_commands.py:1129 +msgid "Invalid token." +msgstr "" + +#: redbot/core/core_commands.py:1134 +#, docstring +msgid "Change bot token." +msgstr "" + +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" +msgstr "" + +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 +#, docstring +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " +msgstr "" + +#: redbot/core/core_commands.py:1172 +msgid "Locale has been set." +msgstr "" + +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 +#, docstring +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " +msgstr "" + +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." +msgstr "" + +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." +msgstr "" + +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 +#, docstring +msgid "Manage settings for the help command." +msgstr "" + +#: redbot/core/core_commands.py:1228 +#, docstring +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 +msgid "You must give a positive value!" +msgstr "" + +#: redbot/core/core_commands.py:1317 +msgid "Done. The character limit per page has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1321 +#, docstring +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1332 +msgid "You must give a value of zero or greater!" +msgstr "" + +#: redbot/core/core_commands.py:1336 +msgid "Done. The page limit has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1340 +#, docstring +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1348 +msgid "The tagline has been reset." +msgstr "" + +#: redbot/core/core_commands.py:1352 +msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." +msgstr "" + +#: redbot/core/core_commands.py:1360 +msgid "The tagline has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1365 +#, docstring +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " +msgstr "" + +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." msgstr "" -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "" -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" msgstr "" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "" - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" msgstr "" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" msgstr "" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" msgstr "" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." msgstr "" -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." msgstr "" -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." msgstr "" -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" msgstr "" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" msgstr "" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" msgstr "" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "" - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "" -#: redbot/core/core_commands.py:1249 -#, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." msgstr "" -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1589 +#, docstring +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" +msgstr "" + +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "" -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" msgstr "" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" msgstr "" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" msgstr "" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" msgstr "" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " +msgid "Prints the bot's data path." msgstr "" -#: redbot/core/core_commands.py:1309 -#, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1652 +#, docstring +msgid "Shows debug information useful for debugging.." +msgstr "" + +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " +msgid "\\n Lists whitelisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " +msgid "\\n Removes user from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " +msgid "\\n Blacklist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" msgstr "" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " +msgid "\\n Lists blacklisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" msgstr "" -#: redbot/core/core_commands.py:1396 +#: redbot/core/core_commands.py:1799 #, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " +msgid "\\n Removes user from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1432 +#: redbot/core/core_commands.py:1826 #, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " +msgid "\\n Whitelist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" msgstr "" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." msgstr "" -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "" -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." msgstr "" -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "" -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "" -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "" -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." msgstr "" -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." msgstr "" -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." msgstr "" -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." msgstr "" -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." msgstr "" -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." msgstr "" -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 msgid "Not in list." msgstr "" -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" msgstr "" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" msgstr "" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "" -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "" -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/fr-FR.po b/redbot/core/locales/fr-FR.po index 8896d1f6d..059b37d6e 100644 --- a/redbot/core/locales/fr-FR.po +++ b/redbot/core/locales/fr-FR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:11\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,31 +16,32 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: fr_FR\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." -msgstr "Commandes pour la gestion des Cogs de Red." +msgstr "Commandes pour la gestion des cogs de Red." #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " -msgstr "Liste les cogs paths actifs par ordre de priorité." +msgid "\\n Lists current cog paths in order of priority.\\n " +msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" -msgstr "Chemin d'installation: {install_path}\n" -"Chemin du Core: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" +msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " -msgstr "\n" -"Ajoute un chemin à la liste des chemins des cogs disponibles. " +msgid "\\n Add a path to the list of available cog paths.\\n " +msgstr "" #: redbot/core/cog_manager.py:343 msgid "That path does not exist or does not point to a valid directory." @@ -48,19 +49,16 @@ msgstr "Ce chemin n'existe pas ou ne pointe pas vers un répertoire valide." #: redbot/core/cog_manager.py:351 msgid "Path successfully added." -msgstr "Dossier ajouté avec succès." +msgstr "Chemin d'accès ajouté avec succès." #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 msgid "Path numbers must be positive." -msgstr "" +msgstr "Les numéros de chemin doivent être positifs." #: redbot/core/cog_manager.py:369 msgid "That is an invalid path number." @@ -72,9 +70,7 @@ msgstr "Le chemin d'accès a été supprimée avec succès." #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " msgstr "" #: redbot/core/cog_manager.py:392 @@ -91,12 +87,7 @@ msgstr "Chemins d'accès réorganisés." #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " msgstr "" #: redbot/core/cog_manager.py:420 @@ -105,1034 +96,1316 @@ msgstr "Ce chemin d'accès n'existe pas." #: redbot/core/cog_manager.py:425 msgid "The bot will install new cogs to the `{}` directory." -msgstr "Ce bot va installer les nouveaux cogs vers le dossier {}." +msgstr "Le bot va installer les nouveaux cogs vers le dossier `{}`." #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" -msgstr "" +msgstr "Commandes liées aux fonctions de base" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." -msgstr "" +msgstr "Pong." -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" +msgstr "Afficher les infos à propos de Red" + +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" msgstr "" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" +msgstr "Affiche l'uptime de Red" + +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" msgstr "" -#: redbot/core/core_commands.py:349 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." -msgstr "Les incorporations sont maintenant {} par défaut." +msgstr "Les embeds sont maintenant {} par défaut." -#: redbot/core/core_commands.py:388 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" +msgstr "désactivé" + +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "activé" + +#: redbot/core/core_commands.py:375 #, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " msgstr "" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." -msgstr "Les intégrations se replieront désormais dans le contexte mondial." +msgstr "Les embeds vont maintenant revenir au paramètre global." -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." -msgstr "Les intégrations sont maintenant {} pour cette guilde." +msgstr "Les embeds sont maintenant {} pour ce serveur." -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." -msgstr "Les intégrations sont maintenant {} pour vous." +msgstr "Les embeds sont maintenant {} pour vous." -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:420 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" +msgstr "" + +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 +#, docstring +msgid "Show's Red's invite url" +msgstr "Afficher le lien d'invitation de Red" + +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" msgstr "" #: redbot/core/core_commands.py:448 #, docstring -msgid "Show's Red's invite url" +msgid "\\n Define if the command should be accessible for the average users.\\n " msgstr "" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" +msgstr "Quitter le serveur" + +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" msgstr "" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "Réponse expirée." + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" +msgstr "Liste et permet de quitter les serveurs" + +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." msgstr "" -#: redbot/core/core_commands.py:520 -#, docstring -msgid "Loads packages" +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." msgstr "" -#: redbot/core/core_commands.py:552 -#, docstring -msgid "Unloads packages" +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" msgstr "" -#: redbot/core/core_commands.py:570 -#, docstring -msgid "Reloads packages" -msgstr "" - -#: redbot/core/core_commands.py:594 -#, docstring -msgid "Shuts down the bot" -msgstr "" - -#: redbot/core/core_commands.py:599 -msgid "Shutting down... " -msgstr "Arrêt... " - -#: redbot/core/core_commands.py:605 -#, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" -msgstr "" - -#: redbot/core/core_commands.py:612 -msgid "Restarting..." -msgstr "Redémarrage..." - -#: redbot/core/core_commands.py:617 -#, docstring -msgid "Changes Red's settings" -msgstr "" - -#: redbot/core/core_commands.py:649 -#, docstring -msgid "Sets the admin role for this server" -msgstr "" - -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." -msgstr "Le rôle Admin pour cette guilde a bien été réglé." - -#: redbot/core/core_commands.py:657 -#, docstring -msgid "Sets the mod role for this server" -msgstr "" - -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." -msgstr "Le rôle Modo pour cette guilde a bien été réglé." - -#: redbot/core/core_commands.py:665 -#, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:674 -msgid "The bot {} use its configured color for embeds." -msgstr "" - -#: redbot/core/core_commands.py:675 -msgid "will not" -msgstr "" - -#: redbot/core/core_commands.py:675 -msgid "will" -msgstr "" - -#: redbot/core/core_commands.py:683 -#, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:691 -msgid "Fuzzy command search has been {} for this server." -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "" - -#: redbot/core/core_commands.py:699 -#, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:707 -msgid "Fuzzy command search has been {} in DMs." -msgstr "" - -#: redbot/core/core_commands.py:715 -#, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:725 -msgid "The color has been reset." -msgstr "" - -#: redbot/core/core_commands.py:728 -msgid "The color has been set." -msgstr "" - -#: redbot/core/core_commands.py:733 -#, docstring -msgid "Sets Red's avatar" -msgstr "" - -#: redbot/core/core_commands.py:742 -msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." -msgstr "Echec. N'oubliez pas que vous pouvez changer ma photo de profil jusqu'à 2 fois par heure. L'URL doit être un lien direct vers un JPG/PNG." - -#: redbot/core/core_commands.py:749 -msgid "JPG / PNG format only." -msgstr "Format JPG/PNG uniquement." - -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 msgid "Done." msgstr "Terminé." -#: redbot/core/core_commands.py:757 -#, docstring -msgid "Sets Red's playing status" +#: redbot/core/core_commands.py:556 +msgid "Alright then." msgstr "" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:563 +#, docstring +msgid "Loads packages" +msgstr "Charge les paquets" + +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 +#, docstring +msgid "Unloads packages" +msgstr "Décharge les paquets" + +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 +#, docstring +msgid "Reloads packages" +msgstr "Recharger les paquets" + +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 +#, docstring +msgid "Shuts down the bot" +msgstr "Arrêter le bot" + +#: redbot/core/core_commands.py:735 +msgid "Shutting down... " +msgstr "Arrêt... " + +#: redbot/core/core_commands.py:741 +#, docstring +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" +msgstr "" + +#: redbot/core/core_commands.py:748 +msgid "Restarting..." +msgstr "Redémarrage..." + +#: redbot/core/core_commands.py:753 +#, docstring +msgid "Changes Red's settings" +msgstr "Modifie les paramètres de Red" + +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" +msgstr "" + +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" +msgstr "" + +#: redbot/core/core_commands.py:795 +#, docstring +msgid "\\n Adds an admin role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." +msgstr "" + +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 +#, docstring +msgid "\\n Adds a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." +msgstr "" + +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 +#, docstring +msgid "\\n Removes an admin role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 +msgid "The bot {} use its configured color for embeds." +msgstr "Le bot {} utilise sa couleur configurée pour les embeds." + +#: redbot/core/core_commands.py:857 +msgid "will not" +msgstr "ne sera pas" + +#: redbot/core/core_commands.py:857 +msgid "will" +msgstr "sera" + +#: redbot/core/core_commands.py:865 +#, docstring +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " +msgstr "" + +#: redbot/core/core_commands.py:873 +msgid "Fuzzy command search has been {} for this server." +msgstr "La recherche de commande par fuzzy a été {} pour ce serveur." + +#: redbot/core/core_commands.py:881 +#, docstring +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " +msgstr "" + +#: redbot/core/core_commands.py:889 +msgid "Fuzzy command search has been {} in DMs." +msgstr "La recherche de commande par fuzzy a été {} en DMs." + +#: redbot/core/core_commands.py:897 +#, docstring +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " +msgstr "" + +#: redbot/core/core_commands.py:907 +msgid "The color has been reset." +msgstr "La couleur a été réinitialisée." + +#: redbot/core/core_commands.py:910 +msgid "The color has been set." +msgstr "La couleur a été définie." + +#: redbot/core/core_commands.py:915 +#, docstring +msgid "Sets Red's avatar" +msgstr "Définit l'avatar de Red" + +#: redbot/core/core_commands.py:924 +msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." +msgstr "Échec. N'oubliez pas que vous pouvez changer mon avatar jusqu'à 2 fois par heure. L'URL doit être un lien direct vers un JPG/PNG." + +#: redbot/core/core_commands.py:931 +msgid "JPG / PNG format only." +msgstr "Format JPG/PNG uniquement." + +#: redbot/core/core_commands.py:939 +#, docstring +msgid "Sets Red's playing status" +msgstr "Définit le statut de jeu de Red" + +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "Jeu réglé." -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" -msgstr "" +msgstr "Définit le statut d'écoute de Red" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." -msgstr "Kit d'écoute." +msgstr "Écoute réglée." -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" -msgstr "" +msgstr "Définit le statut d'affichage de Red" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." -msgstr "Kit watching." +msgstr "Visionnage réglé." -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "Statut changé à {}." -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" -msgstr "" +msgstr "Définit le nom d'utilisateur de Red" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" -msgstr "Impossible de changer le nom. N'oubliez pas que vous pouvez changer mon nom jusqu'à 2 fois par heure. Utilisez le surnom si vous avez besoin de changements fréquents. `{}set nickname`" +msgstr "Impossible de changer le nom. N'oubliez pas que vous pouvez changer mon nom jusqu'à 2 fois par heure. Utilisez les pseudos si vous avez besoin de changements fréquents. `{}set nickname`" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" -msgstr "" +msgstr "Définit le pseudo de Red" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "Je n'ai pas la permission de changer mon propre surnom." -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" -msgstr "" +msgstr "Définit le(s) préfixe(s) global(ux)" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "Préfixe réglé." -#: redbot/core/core_commands.py:890 +#: redbot/core/core_commands.py:1072 #, docstring msgid "Sets Red's server prefix(es)" -msgstr "" +msgstr "Définit le(s) préfixe(s) du serveur" -#: redbot/core/core_commands.py:893 +#: redbot/core/core_commands.py:1075 msgid "Guild prefixes have been reset." msgstr "Le préfixe local a bien été réglé." -#: redbot/core/core_commands.py:902 +#: redbot/core/core_commands.py:1084 #, docstring msgid "Sets Red's main owner" -msgstr "Configurer le propriétaire de Red" +msgstr "Définit le propriétaire principal du Red" -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "\n" -"Token de vérification :" - -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "N'oubliez pas :\n" - -#: redbot/core/core_commands.py:919 -msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." -msgstr "J'ai écrit un token à usage unique. Copiez le ici pour confirmer que vous êtes l'owner." - -#: redbot/core/core_commands.py:932 -msgid "The `{prefix}set owner` request has timed out." +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." msgstr "" -#: redbot/core/core_commands.py:939 -msgid "You have been set as owner." -msgstr "Vous avez bien été réglé en tant qu'owner." +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" -#: redbot/core/core_commands.py:941 +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 +msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." +msgstr "J'ai écrit un token à usage unique dans la console. Copiez et collez le ici pour confirmer que vous êtes le propriétaire." + +#: redbot/core/core_commands.py:1120 +msgid "The `{prefix}set owner` request has timed out." +msgstr "La requête `{prefix}set owner` a expiré." + +#: redbot/core/core_commands.py:1127 +msgid "You have been set as owner." +msgstr "Vous avez été défini comme propriétaire." + +#: redbot/core/core_commands.py:1129 msgid "Invalid token." msgstr "Token invalide." -#: redbot/core/core_commands.py:946 +#: redbot/core/core_commands.py:1134 #, docstring msgid "Change bot token." +msgstr "Changer le token du bot." + +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" msgstr "" -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" -msgstr "Veuillez utiliser cette commande en MP. Comme les utilisateurs ont probablement vu votre jeton, il est recommandé de le réinitialiser dès maintenant. Allez sur le lien suivant et sélectionnez \"Révéler Token\" et \"Générer un nouveau jeton\".\n\n" -"https://discordapp.com/developers/applications/me/{}" +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" -#: redbot/core/core_commands.py:971 +#: redbot/core/core_commands.py:1159 #, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " msgstr "" -#: redbot/core/core_commands.py:982 +#: redbot/core/core_commands.py:1172 msgid "Locale has been set." -msgstr "Le language a été réglé." - -#: redbot/core/core_commands.py:987 -#, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." -msgstr "Terminé. La journalisation des sentinelles est maintenant activée." - -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." -msgstr "Terminé. La journalisation des sentinelles est maintenant désactivée." - -#: redbot/core/core_commands.py:1004 -#, docstring -msgid "Manage settings for the help command." -msgstr "" - -#: redbot/core/core_commands.py:1009 -#, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1020 -msgid "You must give a positive value!" -msgstr "" - -#: redbot/core/core_commands.py:1024 -msgid "Done. The character limit per page has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1028 -#, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1039 -msgid "You must give a value of zero or greater!" -msgstr "" - -#: redbot/core/core_commands.py:1043 -msgid "Done. The page limit has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1047 -#, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1055 -msgid "The tagline has been reset." -msgstr "" - -#: redbot/core/core_commands.py:1059 -msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." -msgstr "" - -#: redbot/core/core_commands.py:1067 -msgid "The tagline has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1072 -#, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1091 -#, docstring -msgid "Creates a backup of all data for the instance." -msgstr "" - -#: redbot/core/core_commands.py:1152 -msgid "A backup has been made of this instance. It is at {}." -msgstr "Une sauvegarde de cette instance a été effectuée. C'est a {}." - -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." -msgstr "" - -#: redbot/core/core_commands.py:1157 -msgid "Would you like to receive a copy via DM? (y/n)" -msgstr "" - -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "" - -#: redbot/core/core_commands.py:1166 -msgid "OK, it's on its way!" -msgstr "" - -#: redbot/core/core_commands.py:1170 -msgid "Here's a copy of the backup" -msgstr "" +msgstr "Le langage a été défini." #: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 +#, docstring +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " +msgstr "" + +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." +msgstr "" + +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." +msgstr "" + +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 +#, docstring +msgid "Manage settings for the help command." +msgstr "Gérer les paramètres de la commande d'aide." + +#: redbot/core/core_commands.py:1228 +#, docstring +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 +msgid "You must give a positive value!" +msgstr "Vous devez donner une valeur positive !" + +#: redbot/core/core_commands.py:1317 +msgid "Done. The character limit per page has been set to {}." +msgstr "Terminé. La limite de caractères par page a été définie à {}." + +#: redbot/core/core_commands.py:1321 +#, docstring +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1332 +msgid "You must give a value of zero or greater!" +msgstr "Vous devez donner une valeur de zéro ou plus !" + +#: redbot/core/core_commands.py:1336 +msgid "Done. The page limit has been set to {}." +msgstr "Terminé. La limite de page a été définie à {}." + +#: redbot/core/core_commands.py:1340 +#, docstring +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1348 +msgid "The tagline has been reset." +msgstr "Le tag a été réinitialisé." + +#: redbot/core/core_commands.py:1352 +msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." +msgstr "Votre tag est trop long ! Veuillez raccourcir ce type de tag pour ne pas dépasser 2048 caractères." + +#: redbot/core/core_commands.py:1360 +msgid "The tagline has been set to {}." +msgstr "Le tag a été défini à {}." + +#: redbot/core/core_commands.py:1365 +#, docstring +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " +msgstr "" + +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 +#, docstring +msgid "Creates a backup of all data for the instance." +msgstr "Crée une sauvegarde de toutes les données pour l'instance." + +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 +msgid "A backup has been made of this instance. It is at {}." +msgstr "Une sauvegarde de cette instance a été effectuée. Elle est à {}." + +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." +msgstr "" + +#: redbot/core/core_commands.py:1458 +msgid "Would you like to receive a copy via DM? (y/n)" +msgstr "Voulez-vous recevoir une copie via MP ? (y/n)" + +#: redbot/core/core_commands.py:1467 +msgid "OK, it's on its way!" +msgstr "OK, c'est en route !" + +#: redbot/core/core_commands.py:1471 +msgid "Here's a copy of the backup" +msgstr "Voici une copie de la sauvegarde" + +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" -msgstr "" +msgstr "Je ne suis pas en mesure de vous MP. Avez-vous fermé les MP ?" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." -msgstr "" +msgstr "Je n'ai pas pu envoyer le fichier de sauvegarde." -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." -msgstr "" +msgstr "Ok alors." -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." -msgstr "Ce répertoire ne semble pas exister..." +msgstr "Ce répertoire ne semble pas exister ..." -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" -msgstr "" +msgstr "Envoie un message au propriétaire" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" msgstr "ID utilisateur : {}" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "par message privé" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "de {}" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" msgstr " | ID du serveur : {}" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "Utilisez `{}dm {} ` pour répondre à cet utilisateur" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "Envoyé par {} {}" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" -msgstr "Je ne peut pas envoyer votre message, je ne parviens pas à trouver mon owner... *soupir*" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." +msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "Je ne parviens pas à envoyer votre message. Désolé." - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "Votre message a été envoyé." -#: redbot/core/core_commands.py:1249 +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." +msgstr "Je ne parviens pas à envoyer votre message. Désolé." + +#: redbot/core/core_commands.py:1589 #, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" msgstr "" -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "ID invalide ou utilisateur non-trouvé. Vous ne pouvez envoyer des messages uniquement à ceux avec qui je partage un serveur." -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" msgstr "Propriétaire de {}" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" msgstr "Vous pouvez répondre à ce message avec {} contact" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" msgstr "Désolé, je n'ai pas pu transmettre votre message à {}" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" msgstr "Message envoyé a {}" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " +msgid "Prints the bot's data path." msgstr "" -#: redbot/core/core_commands.py:1309 -#, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1652 +#, docstring +msgid "Shows debug information useful for debugging.." +msgstr "" + +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." msgstr "Utilisateur ajouté à la liste blanche." -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " +msgid "\\n Lists whitelisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "Utilisateurs inscrits sur la liste blanche:" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " +msgid "\\n Removes user from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "L’utilisateur a été supprimé de la liste blanche." -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "L’utilisateur n’était pas dans la liste blanche." -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." -msgstr "La liste blanche a été effacé." +msgstr "La liste blanche a été effacée." -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " +msgid "\\n Blacklist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" -msgstr "Vous ne pouvez pas blacklister un propriétaire !" +msgstr "Vous ne pouvez pas ajouter un propriétaire sur la liste noire !" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "Utilisateur ajouté à la liste noire." -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " +msgid "\\n Lists blacklisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" -msgstr "liste noire des utilisateurs :" - -#: redbot/core/core_commands.py:1396 -#, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1799 +#, docstring +msgid "\\n Removes user from blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "L’utilisateur a été supprimé de la liste noire." -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "L’utilisateur n’était pas dans la liste noire." -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." -msgstr "liste noire a été effacé." - -#: redbot/core/core_commands.py:1432 -#, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1826 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." -msgstr "" +msgstr "Rôle ajouté à la liste blanche." -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" -msgstr "" +msgstr "Utilisateurs et rôles en liste blanche :" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." -msgstr "" +msgstr "Le rôle a été supprimé de la liste blanche." -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." -msgstr "" +msgstr "Le rôle n’était pas dans la liste blanche." -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." -msgstr "" +msgstr "Rôle ajouté à la liste noire." -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." -msgstr "" +msgstr "Le rôle a été supprimé de la liste noire." -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." +msgstr "Le rôle n’était pas dans la liste noire." + +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." -msgstr "" +msgstr "Gérer les commandes du bot." -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "Désactiver une commande globalement." -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." +msgstr "Je n'ai pas trouvé cette commande. Veuillez noter qu'elle est sensible aux caractères." + +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." msgstr "" -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "Cette commande est déjà globalement désactivée." -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "Désactiver une commande pour ce serveur uniquement." -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "Cette commande est déjà désactivée sur ce serveur." -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." -msgstr "" +msgstr "Activer une commande globalement." -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." -msgstr "" +msgstr "Cette commande est déjà activée globalement." -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." +msgstr "Activer une commande dans ce serveur." + +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." msgstr "" -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." -msgstr "" +msgstr "Cette commande est déjà activée sur ce serveur." -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." -msgstr "" +msgstr "Pas de paramètres d'immunité ici." -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." +msgstr "Déjà ajouté." + +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2186 msgid "Not in list." -msgstr "" +msgstr "Pas dans la liste." -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" -msgstr "" +msgstr "Ils sont immunisés" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" -msgstr "" +msgstr "Ils ne sont pas immunisés" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." -msgstr "Déja en train de tourner une session REPL dans ce channel. Quittez avec `quit`." +msgstr "Déjà en cours d'exécution d'une session REPL dans ce canal. Quittez-la avec `quit`." -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." -msgstr "Entrez du code à exécuter ou évaluer. Entrez `exit()` ou `quit` pour quitter." +msgstr "Entrez le code à exécuter ou à évaluer. `exit()` ou `quit` à quitter." -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "Erreur inattendue : `{}`" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." +msgstr "Le solde de {user} ne peut pas dépasser {max:,} {currency}." + +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:176 +msgid "Unknown" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/hu-HU.po b/redbot/core/locales/hu-HU.po index ea59941a2..2eb30eed8 100644 --- a/redbot/core/locales/hu-HU.po +++ b/redbot/core/locales/hu-HU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,33 +16,36 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: hu_HU\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." -msgstr "" +msgstr "Parancsok arra hogy kapcsolatba kerülj Red cog kezelőjével." #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " msgstr "" #: redbot/core/cog_manager.py:343 msgid "That path does not exist or does not point to a valid directory." -msgstr "" +msgstr "Az útvonal nem létezik vagy hibás." #: redbot/core/cog_manager.py:351 msgid "Path successfully added." @@ -50,15 +53,12 @@ msgstr "Út sikeresen hozzáadva." #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 msgid "Path numbers must be positive." -msgstr "" +msgstr "Az útvonalak számának pozitívnak kell lenni." #: redbot/core/cog_manager.py:369 msgid "That is an invalid path number." @@ -70,9 +70,7 @@ msgstr "Elérési út sikeresen eltávoltítva." #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " msgstr "" #: redbot/core/cog_manager.py:392 @@ -89,12 +87,7 @@ msgstr "Elérési utak újrarendezve." #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " msgstr "" #: redbot/core/cog_manager.py:420 @@ -107,1029 +100,1312 @@ msgstr "A bot le fog tölteni új fájlokat a `{}` könyvtárba." #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" -msgstr "" +msgstr "Parancsok amelyek az alap funkciókhoz tartoznak" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." -msgstr "" +msgstr "Pong." -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" +msgstr "Információ Redről" + +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" msgstr "" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" +msgstr "Megmutatja mióta fut Red" + +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" msgstr "" -#: redbot/core/core_commands.py:349 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." msgstr "" -#: redbot/core/core_commands.py:388 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" +msgstr "nincs engedélyezve" + +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "engedélyezve" + +#: redbot/core/core_commands.py:375 #, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " msgstr "" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." msgstr "" -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." msgstr "" -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." msgstr "" -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:420 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" +msgstr "" + +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 +#, docstring +msgid "Show's Red's invite url" +msgstr "Megmutatja Red meghívási linkjét" + +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" msgstr "" #: redbot/core/core_commands.py:448 #, docstring -msgid "Show's Red's invite url" +msgid "\\n Define if the command should be accessible for the average users.\\n " msgstr "" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" +msgstr "Elhagyja a szervert" + +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" msgstr "" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "Időtúllépés." + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" +msgstr "Kilistázza és engedélyezi a szerverek elhagyását" + +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." msgstr "" -#: redbot/core/core_commands.py:520 +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "Kész." + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring msgid "Loads packages" +msgstr "Betölti a csomagokat" + +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." msgstr "" -#: redbot/core/core_commands.py:552 +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring msgid "Unloads packages" +msgstr "Csomagok betöltését visszavonja" + +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." msgstr "" -#: redbot/core/core_commands.py:570 +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring msgid "Reloads packages" +msgstr "Újratölti a csomagokat" + +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." msgstr "" -#: redbot/core/core_commands.py:594 +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring msgid "Shuts down the bot" -msgstr "" +msgstr "Kikapcsolja a botot" -#: redbot/core/core_commands.py:599 +#: redbot/core/core_commands.py:735 msgid "Shutting down... " msgstr "Leállítás... " -#: redbot/core/core_commands.py:605 +#: redbot/core/core_commands.py:741 #, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" msgstr "" -#: redbot/core/core_commands.py:612 +#: redbot/core/core_commands.py:748 msgid "Restarting..." -msgstr "" +msgstr "Újraindítás..." -#: redbot/core/core_commands.py:617 +#: redbot/core/core_commands.py:753 #, docstring msgid "Changes Red's settings" +msgstr "Megváltoztatja Red beállításait" + +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" msgstr "" -#: redbot/core/core_commands.py:649 +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" +msgstr "" + +#: redbot/core/core_commands.py:795 #, docstring -msgid "Sets the admin role for this server" +msgid "\\n Adds an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." -msgstr "Az adminisztrátor role beállítva ezen a szerveren." +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." +msgstr "" -#: redbot/core/core_commands.py:657 +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 #, docstring -msgid "Sets the mod role for this server" +msgid "\\n Adds a mod role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." -msgstr "A moderátor role beállítva ezen a szerveren." +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." +msgstr "" -#: redbot/core/core_commands.py:665 +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 #, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " +msgid "\\n Removes an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:674 +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 msgid "The bot {} use its configured color for embeds." -msgstr "" +msgstr "A bot {} a beállított színeket használja az embedsekhez." -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will not" -msgstr "" +msgstr "nem fogja" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will" -msgstr "" +msgstr "fogja" -#: redbot/core/core_commands.py:683 +#: redbot/core/core_commands.py:865 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:691 +#: redbot/core/core_commands.py:873 msgid "Fuzzy command search has been {} for this server." msgstr "" -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "" - -#: redbot/core/core_commands.py:699 +#: redbot/core/core_commands.py:881 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:707 +#: redbot/core/core_commands.py:889 msgid "Fuzzy command search has been {} in DMs." msgstr "" -#: redbot/core/core_commands.py:715 +#: redbot/core/core_commands.py:897 #, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " msgstr "" -#: redbot/core/core_commands.py:725 +#: redbot/core/core_commands.py:907 msgid "The color has been reset." -msgstr "" +msgstr "A szín resetelve." -#: redbot/core/core_commands.py:728 +#: redbot/core/core_commands.py:910 msgid "The color has been set." -msgstr "" +msgstr "A szín be lett állítva." -#: redbot/core/core_commands.py:733 +#: redbot/core/core_commands.py:915 #, docstring msgid "Sets Red's avatar" msgstr "" -#: redbot/core/core_commands.py:742 +#: redbot/core/core_commands.py:924 msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." msgstr "Nem sikerült. Emlékezz, tudod szerkeszteni a profilképemet 2-szer óránként. Az URL-nek egy olyan képet kell tartalmaznia aminek JPG / PNG formátuma van." -#: redbot/core/core_commands.py:749 +#: redbot/core/core_commands.py:931 msgid "JPG / PNG format only." msgstr "JPG / PNG formátum az elfogadott." -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 -msgid "Done." -msgstr "Kész." - -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:939 #, docstring msgid "Sets Red's playing status" msgstr "" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "Játék beállítva." -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" msgstr "" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." msgstr "" -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" msgstr "" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." msgstr "" -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "" -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" msgstr "" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "Nem sikerült nevet változtatni. Emlékezz, tudod szerkeszteni maximum 2-szer óránként. Használj beceneveket ha sokszor változtatsz. `{} név beállítása`" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" msgstr "" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "Nincs jogom hogy megváltoztassam a nevem." -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" msgstr "" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "Prefix beállítva." -#: redbot/core/core_commands.py:890 +#: redbot/core/core_commands.py:1072 #, docstring msgid "Sets Red's server prefix(es)" msgstr "" -#: redbot/core/core_commands.py:893 +#: redbot/core/core_commands.py:1075 msgid "Guild prefixes have been reset." msgstr "A prefix be van állítva ezen a szerveren." -#: redbot/core/core_commands.py:902 +#: redbot/core/core_commands.py:1084 #, docstring msgid "Sets Red's main owner" msgstr "" -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "\n" -"Megerősítési token:" +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "Jegyezd meg:\n" +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" -#: redbot/core/core_commands.py:919 +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." msgstr "Csináltam egy egyszerhasználatos tokent a konzolba. Másold ki és illeszd be hogy bizonyítsd, te vagy a tulajdonos." -#: redbot/core/core_commands.py:932 +#: redbot/core/core_commands.py:1120 msgid "The `{prefix}set owner` request has timed out." msgstr "" -#: redbot/core/core_commands.py:939 +#: redbot/core/core_commands.py:1127 msgid "You have been set as owner." msgstr "Be lettél állítva tulajdonosnak." -#: redbot/core/core_commands.py:941 +#: redbot/core/core_commands.py:1129 msgid "Invalid token." msgstr "Érvénytelen token." -#: redbot/core/core_commands.py:946 +#: redbot/core/core_commands.py:1134 #, docstring msgid "Change bot token." msgstr "" -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" msgstr "" -#: redbot/core/core_commands.py:971 +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 #, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " msgstr "" -#: redbot/core/core_commands.py:982 +#: redbot/core/core_commands.py:1172 msgid "Locale has been set." msgstr "A helyszín be lett állítva." -#: redbot/core/core_commands.py:987 +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 #, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " msgstr "" -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." msgstr "" -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." msgstr "" -#: redbot/core/core_commands.py:1004 +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 #, docstring msgid "Manage settings for the help command." msgstr "" -#: redbot/core/core_commands.py:1009 +#: redbot/core/core_commands.py:1228 #, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " msgstr "" -#: redbot/core/core_commands.py:1020 +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 msgid "You must give a positive value!" msgstr "" -#: redbot/core/core_commands.py:1024 +#: redbot/core/core_commands.py:1317 msgid "Done. The character limit per page has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1028 +#: redbot/core/core_commands.py:1321 #, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " msgstr "" -#: redbot/core/core_commands.py:1039 +#: redbot/core/core_commands.py:1332 msgid "You must give a value of zero or greater!" msgstr "" -#: redbot/core/core_commands.py:1043 +#: redbot/core/core_commands.py:1336 msgid "Done. The page limit has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1047 +#: redbot/core/core_commands.py:1340 #, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " msgstr "" -#: redbot/core/core_commands.py:1055 +#: redbot/core/core_commands.py:1348 msgid "The tagline has been reset." msgstr "" -#: redbot/core/core_commands.py:1059 +#: redbot/core/core_commands.py:1352 msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." msgstr "" -#: redbot/core/core_commands.py:1067 +#: redbot/core/core_commands.py:1360 msgid "The tagline has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1072 +#: redbot/core/core_commands.py:1365 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." msgstr "" -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "" -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" -msgstr "" +msgstr "Szeretnél egy másolatot kapni privát üzenetben? (y/n)" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "" - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" -msgstr "" +msgstr "Rendben, máris!" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" -msgstr "" +msgstr "Itt egy másolat a backupról" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" -msgstr "" +msgstr "Úgy látszik nem tudok privát üzenetet küldeni neked. Engedélyezted a privát üzeneteket?" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." -msgstr "" +msgstr "Nem tudtam elküldeni a backup fájlt." -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." -msgstr "" +msgstr "Rendben." -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." -msgstr "" +msgstr "Ez a mappa úgy látszik nem létezik..." -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" -msgstr "" +msgstr "Küldj egy üzenetet a tulajdonosnak" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" -msgstr "" +msgstr "User ID: {}" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "privát üzeneten keresztül" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "{}-től" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" -msgstr "" +msgstr " | Server ID: {}" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "Használd a `{}dm {} ` üzenetet hogy válaszolj ennek a felhasználónak" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "Küldve {} {} által" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" -msgstr "Nem tudom elküldeni az üzeneted. Nem találom a gazdám... :C" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." +msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "Nem tudom kézbesíteni az üzeneted. Bocsi." - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "Az üzeneted el lett küldve." -#: redbot/core/core_commands.py:1249 +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." +msgstr "Nem tudom kézbesíteni az üzeneted. Bocsi." + +#: redbot/core/core_commands.py:1589 #, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" msgstr "" -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "Érvénytelen ID vagy a felhasználó nem található. Olyan embereknek tudsz csak üzenetet küldeni akikkel bent vagyok egy szerverben." -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" -msgstr "" +msgstr "Tulajdonosa ennek: {}" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" -msgstr "" +msgstr "Válaszolhatsz erre az üzenetre {}contact -vel" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" -msgstr "" +msgstr "Sajnálom, de nem tudtam elküldeni az üzeneted {} -nek" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" -msgstr "" +msgstr "Üzenet elküldve {} -nek" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " +msgid "Prints the bot's data path." msgstr "" -#: redbot/core/core_commands.py:1309 +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" +msgstr "" + +#: redbot/core/core_commands.py:1652 #, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " +msgid "Shows debug information useful for debugging.." msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." -msgstr "" +msgstr "Felhasználó hozzáadva a whitelisthoz." -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " +msgid "\\n Lists whitelisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" -msgstr "" +msgstr "Whitelistelt felhasználók:" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " +msgid "\\n Removes user from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." -msgstr "" +msgstr "Felhasználó eltávolítva a whitelistről." -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." -msgstr "" +msgstr "A felhasználó nem volt whitelistben." -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." -msgstr "" +msgstr "Whitelist kitörölve." -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " +msgid "\\n Blacklist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" msgstr "" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " +msgid "\\n Lists blacklisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" msgstr "" -#: redbot/core/core_commands.py:1396 +#: redbot/core/core_commands.py:1799 #, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " +msgid "\\n Removes user from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1432 +#: redbot/core/core_commands.py:1826 #, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " +msgid "\\n Whitelist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" msgstr "" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." msgstr "" -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "" -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." msgstr "" -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "" -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "" -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "" -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." msgstr "" -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." msgstr "" -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." msgstr "" -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." msgstr "" -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." msgstr "" -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." msgstr "" -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 msgid "Not in list." msgstr "" -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" msgstr "" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" msgstr "" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "Már most is fut egy REPL értekezlet ebben a csatornában. Lépj ki a `quit` használatával." -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "Írd be a kódot hogy végrehajtsd vagy kiértékeld. `exit()` vagy `quit` hogy kilépj." -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "Váratlan hiba: `{}`" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/id-ID.po b/redbot/core/locales/id-ID.po index 95dae8362..b0ad091e0 100644 --- a/redbot/core/locales/id-ID.po +++ b/redbot/core/locales/id-ID.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,6 +16,14 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: id_ID\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." @@ -23,21 +31,16 @@ msgstr "" #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " msgstr "" #: redbot/core/cog_manager.py:343 @@ -50,10 +53,7 @@ msgstr "Jalur berhasil ditambahkan." #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 @@ -70,9 +70,7 @@ msgstr "Jalan berhasil dilepas." #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " msgstr "" #: redbot/core/cog_manager.py:392 @@ -89,12 +87,7 @@ msgstr "Jalur diatur ulang." #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " msgstr "" #: redbot/core/cog_manager.py:420 @@ -107,1029 +100,1312 @@ msgstr "Bot akan menginstal roda gigi baru ke direktori `{}`." #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" msgstr "" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." msgstr "" -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" msgstr "" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" msgstr "" -#: redbot/core/core_commands.py:349 -#, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 +#, docstring +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." msgstr "" -#: redbot/core/core_commands.py:388 -#, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" msgstr "" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "" + +#: redbot/core/core_commands.py:375 +#, docstring +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." msgstr "" -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." msgstr "" -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." msgstr "" -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:420 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" msgstr "" -#: redbot/core/core_commands.py:448 +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 #, docstring msgid "Show's Red's invite url" msgstr "" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" +msgstr "" + +#: redbot/core/core_commands.py:448 +#, docstring +msgid "\\n Define if the command should be accessible for the average users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" msgstr "" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "" + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" msgstr "" -#: redbot/core/core_commands.py:520 +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "Selesai." + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring msgid "Loads packages" msgstr "" -#: redbot/core/core_commands.py:552 +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring msgid "Unloads packages" msgstr "" -#: redbot/core/core_commands.py:570 +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring msgid "Reloads packages" msgstr "" -#: redbot/core/core_commands.py:594 +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring msgid "Shuts down the bot" msgstr "" -#: redbot/core/core_commands.py:599 +#: redbot/core/core_commands.py:735 msgid "Shutting down... " msgstr "Mematikan... " -#: redbot/core/core_commands.py:605 +#: redbot/core/core_commands.py:741 #, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" msgstr "" -#: redbot/core/core_commands.py:612 +#: redbot/core/core_commands.py:748 msgid "Restarting..." msgstr "Memulai ulang..." -#: redbot/core/core_commands.py:617 +#: redbot/core/core_commands.py:753 #, docstring msgid "Changes Red's settings" msgstr "" -#: redbot/core/core_commands.py:649 -#, docstring -msgid "Sets the admin role for this server" +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" msgstr "" -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." -msgstr "Peran admin untuk serikat ini telah ditetapkan." - -#: redbot/core/core_commands.py:657 -#, docstring -msgid "Sets the mod role for this server" +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" msgstr "" -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." -msgstr "Peran mod untuk guild ini telah ditetapkan." - -#: redbot/core/core_commands.py:665 +#: redbot/core/core_commands.py:795 #, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " +msgid "\\n Adds an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:674 +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." +msgstr "" + +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 +#, docstring +msgid "\\n Adds a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." +msgstr "" + +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 +#, docstring +msgid "\\n Removes an admin role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 msgid "The bot {} use its configured color for embeds." msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will not" msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will" msgstr "" -#: redbot/core/core_commands.py:683 +#: redbot/core/core_commands.py:865 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:691 +#: redbot/core/core_commands.py:873 msgid "Fuzzy command search has been {} for this server." msgstr "" -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "" - -#: redbot/core/core_commands.py:699 +#: redbot/core/core_commands.py:881 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:707 +#: redbot/core/core_commands.py:889 msgid "Fuzzy command search has been {} in DMs." msgstr "" -#: redbot/core/core_commands.py:715 +#: redbot/core/core_commands.py:897 #, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " msgstr "" -#: redbot/core/core_commands.py:725 +#: redbot/core/core_commands.py:907 msgid "The color has been reset." msgstr "" -#: redbot/core/core_commands.py:728 +#: redbot/core/core_commands.py:910 msgid "The color has been set." msgstr "" -#: redbot/core/core_commands.py:733 +#: redbot/core/core_commands.py:915 #, docstring msgid "Sets Red's avatar" msgstr "" -#: redbot/core/core_commands.py:742 +#: redbot/core/core_commands.py:924 msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." msgstr "Gagal. Ingat bahwa Anda dapat mengedit avatar saya hingga dua kali satu jam. URL harus berupa link langsung ke JPG / PNG." -#: redbot/core/core_commands.py:749 +#: redbot/core/core_commands.py:931 msgid "JPG / PNG format only." msgstr "Format JPG / PNG saja." -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 -msgid "Done." -msgstr "Selesai." - -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:939 #, docstring msgid "Sets Red's playing status" msgstr "" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "Set permainan." -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" msgstr "" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." msgstr "Mendengarkan set." -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" msgstr "" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." msgstr "Menonton set." -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "" -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" msgstr "" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "Gagal mengganti nama. Ingat bahwa Anda hanya bisa melakukannya sampai 2 kali per jam. Gunakan julukan jika Anda memerlukan perubahan yang sering. `{} set nickname`" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" msgstr "" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "Saya kurang memiliki izin untuk mengganti nama panggilan saya sendiri." -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" msgstr "" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "Set awalan." -#: redbot/core/core_commands.py:890 +#: redbot/core/core_commands.py:1072 #, docstring msgid "Sets Red's server prefix(es)" msgstr "" -#: redbot/core/core_commands.py:893 +#: redbot/core/core_commands.py:1075 msgid "Guild prefixes have been reset." msgstr "Awalan persekutuan telah diatur ulang." -#: redbot/core/core_commands.py:902 +#: redbot/core/core_commands.py:1084 #, docstring msgid "Sets Red's main owner" msgstr "" -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "\n" -"Token verifikasi:" +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "Ingat:\n" +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" -#: redbot/core/core_commands.py:919 +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." msgstr "Saya telah mencetak satu kali token di konsol. Copy dan paste disini untuk konfirmasi anda adalah pemiliknya." -#: redbot/core/core_commands.py:932 +#: redbot/core/core_commands.py:1120 msgid "The `{prefix}set owner` request has timed out." msgstr "" -#: redbot/core/core_commands.py:939 +#: redbot/core/core_commands.py:1127 msgid "You have been set as owner." msgstr "Anda telah ditetapkan sebagai pemilik." -#: redbot/core/core_commands.py:941 +#: redbot/core/core_commands.py:1129 msgid "Invalid token." msgstr "Token tidak valid." -#: redbot/core/core_commands.py:946 +#: redbot/core/core_commands.py:1134 #, docstring msgid "Change bot token." msgstr "" -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" msgstr "" -#: redbot/core/core_commands.py:971 +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 #, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " msgstr "" -#: redbot/core/core_commands.py:982 +#: redbot/core/core_commands.py:1172 msgid "Locale has been set." msgstr "Lokal telah ditetapkan." -#: redbot/core/core_commands.py:987 -#, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." msgstr "" -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." -msgstr "Selesai. Pencatatan Sentry telah diaktifkan." +#: redbot/core/core_commands.py:1184 +#, docstring +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " +msgstr "" -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." -msgstr "Selesai. Pencatatan Sentry telah dinonaktifkan." +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." +msgstr "" -#: redbot/core/core_commands.py:1004 +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." +msgstr "" + +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 #, docstring msgid "Manage settings for the help command." msgstr "" -#: redbot/core/core_commands.py:1009 +#: redbot/core/core_commands.py:1228 #, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " msgstr "" -#: redbot/core/core_commands.py:1020 +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 msgid "You must give a positive value!" msgstr "" -#: redbot/core/core_commands.py:1024 +#: redbot/core/core_commands.py:1317 msgid "Done. The character limit per page has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1028 +#: redbot/core/core_commands.py:1321 #, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " msgstr "" -#: redbot/core/core_commands.py:1039 +#: redbot/core/core_commands.py:1332 msgid "You must give a value of zero or greater!" msgstr "" -#: redbot/core/core_commands.py:1043 +#: redbot/core/core_commands.py:1336 msgid "Done. The page limit has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1047 +#: redbot/core/core_commands.py:1340 #, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " msgstr "" -#: redbot/core/core_commands.py:1055 +#: redbot/core/core_commands.py:1348 msgid "The tagline has been reset." msgstr "" -#: redbot/core/core_commands.py:1059 +#: redbot/core/core_commands.py:1352 msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." msgstr "" -#: redbot/core/core_commands.py:1067 +#: redbot/core/core_commands.py:1360 msgid "The tagline has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1072 +#: redbot/core/core_commands.py:1365 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." msgstr "" -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "" -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" msgstr "" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "" - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" msgstr "" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" msgstr "" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" msgstr "" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." msgstr "" -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." msgstr "" -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." msgstr "" -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" msgstr "" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" msgstr "ID Pengguna: {}" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "melalui DM" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "dari {}" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" msgstr " | Server ID: {}" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "Gunakan `{} dm {} ` untuk membalas pengguna ini" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "Dikirim oleh {} {}" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" -msgstr "Saya tidak dapat mengirim pesan Anda, saya tidak dapat menemukan pemilik saya... * mendesah *" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." +msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "Saya tidak dapat menyampaikan pesan Anda. Maaf." - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "Pesan Anda telah dikirim." -#: redbot/core/core_commands.py:1249 +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." +msgstr "Saya tidak dapat menyampaikan pesan Anda. Maaf." + +#: redbot/core/core_commands.py:1589 #, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" msgstr "" -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "ID atau pengguna tidak valid tidak ditemukan Anda hanya dapat mengirim pesan ke orang yang saya bagikan server." -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" msgstr "Pemilik dari {}" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" msgstr "" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" msgstr "" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" msgstr "" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " +msgid "Prints the bot's data path." msgstr "" -#: redbot/core/core_commands.py:1309 -#, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1652 +#, docstring +msgid "Shows debug information useful for debugging.." +msgstr "" + +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." msgstr "Pengguna ditambahkan ke daftar abaikan." -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " +msgid "\\n Lists whitelisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "Pengguna yang telah diabaikan:" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " +msgid "\\n Removes user from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "Pengguna telah dihapus dari daftar abaikan." -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "Pengguna tidak ada di dalam daftar abaikan." -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." msgstr "Daftar abaikan telah di bersihkan." -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " +msgid "\\n Blacklist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" msgstr "Anda tidak dapat memblokir pemilik!" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "Pengguna ditambahkan ke daftar blokir." -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " +msgid "\\n Lists blacklisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" -msgstr "daftar hitam pengguna:" - -#: redbot/core/core_commands.py:1396 -#, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1799 +#, docstring +msgid "\\n Removes user from blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "Pengguna telah dihapus dari daftar blokir." -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "Pengguna tidak ada di dalam daftar blokir." -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." -msgstr "daftar hitam telah ditebang." - -#: redbot/core/core_commands.py:1432 -#, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1826 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" msgstr "" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." msgstr "" -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "" -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." msgstr "" -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "" -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "" -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "" -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." msgstr "" -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." msgstr "" -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." msgstr "" -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." msgstr "" -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." msgstr "" -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." msgstr "" -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 msgid "Not in list." msgstr "" -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" msgstr "" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" msgstr "" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "Sudah menjalankan sesi REPL dalam kanal ini. Keluar dengan 'berhenti'." -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "Masukkan kode untuk mengeksekusi atau mengevaluasi. `exit ()` atau `quit` untuk keluar." -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "Kesalahan tak terduga: `{}`" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/it-IT.po b/redbot/core/locales/it-IT.po index 21e5e3f70..a222692d2 100644 --- a/redbot/core/locales/it-IT.po +++ b/redbot/core/locales/it-IT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,33 +16,36 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: it_IT\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." -msgstr "" +msgstr "Comandi utilizzati per interagire con il manager cog di Red." #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " msgstr "" #: redbot/core/cog_manager.py:343 msgid "That path does not exist or does not point to a valid directory." -msgstr "" +msgstr "Il percorso indicato non esiste o non punta ad una cartella valida." #: redbot/core/cog_manager.py:351 msgid "Path successfully added." @@ -50,15 +53,12 @@ msgstr "Percorso aggiunto con successo." #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 msgid "Path numbers must be positive." -msgstr "" +msgstr "I Numeri Percorso devono essere positivi." #: redbot/core/cog_manager.py:369 msgid "That is an invalid path number." @@ -70,9 +70,7 @@ msgstr "Percorso rimosso con successo." #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " msgstr "" #: redbot/core/cog_manager.py:392 @@ -89,12 +87,7 @@ msgstr "I percorsi sono stati riordinati." #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " msgstr "" #: redbot/core/cog_manager.py:420 @@ -107,1029 +100,1312 @@ msgstr "In futuro i cogs verranno installati nella directory '{}'." #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" -msgstr "" +msgstr "Comandi relativi a funzioni base" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." -msgstr "" +msgstr "Pong." -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" +msgstr "Visualizza informazioni su Red" + +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" msgstr "" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" +msgstr "Visualizza il tempo di attività di Red" + +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" msgstr "" -#: redbot/core/core_commands.py:349 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." -msgstr "" +msgstr "Gli embed adesso sono {} di default." -#: redbot/core/core_commands.py:388 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" +msgstr "disabilitata" + +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "abilitata" + +#: redbot/core/core_commands.py:375 #, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " msgstr "" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." -msgstr "" +msgstr "Per gli embed adesso verrà utilizzata l'impostazione di default." -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." -msgstr "" +msgstr "Gli embed adesso sono {} per questa gilda." -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." +msgstr "Gli embed adesso sono {} per te." + +#: redbot/core/core_commands.py:420 +#, docstring +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" msgstr "" -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" +msgid "Show's Red's invite url" +msgstr "Mostra l'url di invito di Red" + +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" msgstr "" #: redbot/core/core_commands.py:448 #, docstring -msgid "Show's Red's invite url" +msgid "\\n Define if the command should be accessible for the average users.\\n " msgstr "" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" +msgstr "Abbandona il server" + +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" msgstr "" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "Risposta scaduta." + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" +msgstr "Elenca e permette di abbandonare i server" + +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." msgstr "" -#: redbot/core/core_commands.py:520 -#, docstring -msgid "Loads packages" +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." msgstr "" -#: redbot/core/core_commands.py:552 -#, docstring -msgid "Unloads packages" +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" msgstr "" -#: redbot/core/core_commands.py:570 -#, docstring -msgid "Reloads packages" -msgstr "" - -#: redbot/core/core_commands.py:594 -#, docstring -msgid "Shuts down the bot" -msgstr "" - -#: redbot/core/core_commands.py:599 -msgid "Shutting down... " -msgstr "Arresto in corso... " - -#: redbot/core/core_commands.py:605 -#, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" -msgstr "" - -#: redbot/core/core_commands.py:612 -msgid "Restarting..." -msgstr "" - -#: redbot/core/core_commands.py:617 -#, docstring -msgid "Changes Red's settings" -msgstr "" - -#: redbot/core/core_commands.py:649 -#, docstring -msgid "Sets the admin role for this server" -msgstr "" - -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." -msgstr "Il ruolo di admin per questa gilda è stato impostato." - -#: redbot/core/core_commands.py:657 -#, docstring -msgid "Sets the mod role for this server" -msgstr "" - -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." -msgstr "Il ruolo di mod per questa gilda è stato impostato." - -#: redbot/core/core_commands.py:665 -#, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:674 -msgid "The bot {} use its configured color for embeds." -msgstr "" - -#: redbot/core/core_commands.py:675 -msgid "will not" -msgstr "" - -#: redbot/core/core_commands.py:675 -msgid "will" -msgstr "" - -#: redbot/core/core_commands.py:683 -#, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:691 -msgid "Fuzzy command search has been {} for this server." -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "" - -#: redbot/core/core_commands.py:699 -#, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:707 -msgid "Fuzzy command search has been {} in DMs." -msgstr "" - -#: redbot/core/core_commands.py:715 -#, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:725 -msgid "The color has been reset." -msgstr "" - -#: redbot/core/core_commands.py:728 -msgid "The color has been set." -msgstr "" - -#: redbot/core/core_commands.py:733 -#, docstring -msgid "Sets Red's avatar" -msgstr "" - -#: redbot/core/core_commands.py:742 -msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." -msgstr "Operazione fallita. Ricordati che è possibile modificare il mio avatar fino a due volte l'ora. L'URL deve essere un link diretto a un file JPG / PNG." - -#: redbot/core/core_commands.py:749 -msgid "JPG / PNG format only." -msgstr "I formati file permessi sono JPG / PNG." - -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 msgid "Done." msgstr "Fatto." -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring -msgid "Sets Red's playing status" +msgid "Loads packages" +msgstr "Carica pacchetti" + +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." msgstr "" -#: redbot/core/core_commands.py:765 -msgid "Game set." -msgstr "Il 'game' status è stato impostato." +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring -msgid "Sets Red's listening status" +msgid "Unloads packages" +msgstr "Discarica pacchetti" + +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." msgstr "" -#: redbot/core/core_commands.py:779 -msgid "Listening set." +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." msgstr "" -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring -msgid "Sets Red's watching status" +msgid "Reloads packages" +msgstr "Ricarica pacchetti" + +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." msgstr "" -#: redbot/core/core_commands.py:793 -msgid "Watching set." +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." msgstr "" -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " +msgid "Shuts down the bot" +msgstr "Spegne il bot" + +#: redbot/core/core_commands.py:735 +msgid "Shutting down... " +msgstr "Arresto in corso... " + +#: redbot/core/core_commands.py:741 +#, docstring +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" msgstr "" -#: redbot/core/core_commands.py:822 -msgid "Status changed to {}." +#: redbot/core/core_commands.py:748 +msgid "Restarting..." +msgstr "Riavvio in corso..." + +#: redbot/core/core_commands.py:753 +#, docstring +msgid "Changes Red's settings" +msgstr "Modifica le impostazioni di Red" + +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" +msgstr "" + +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" +msgstr "" + +#: redbot/core/core_commands.py:795 +#, docstring +msgid "\\n Adds an admin role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." +msgstr "" + +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 +#, docstring +msgid "\\n Adds a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." +msgstr "" + +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 +#, docstring +msgid "\\n Removes an admin role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." msgstr "" #: redbot/core/core_commands.py:828 -#, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." +msgid "That role is no longer considered an admin role." msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:834 #, docstring -msgid "Sets Red's username" +msgid "\\n Removes a mod role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:854 -msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" -msgstr "Non sono riuscito a cambiare il mio nome. Ricordati che è possibile farlo fino a 2 volte ogni ora. Se hai bisogno di frequenti modifiche è consigliato l'utilizzo dei nicknames. `{}set nickname`" - -#: redbot/core/core_commands.py:868 -#, docstring -msgid "Sets Red's nickname" +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." msgstr "" -#: redbot/core/core_commands.py:872 -msgid "I lack the permissions to change my own nickname." -msgstr "Non ho i permessi necessari per cambiare il mio nickname." - -#: redbot/core/core_commands.py:879 -#, docstring -msgid "Sets Red's global prefix(es)" +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." msgstr "" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 -msgid "Prefix set." -msgstr "Il prefisso è stato impostato." - -#: redbot/core/core_commands.py:890 +#: redbot/core/core_commands.py:847 #, docstring -msgid "Sets Red's server prefix(es)" +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " msgstr "" -#: redbot/core/core_commands.py:893 -msgid "Guild prefixes have been reset." -msgstr "I prefissi di Gilda sono stati ripristinati." +#: redbot/core/core_commands.py:856 +msgid "The bot {} use its configured color for embeds." +msgstr "Il bot {} utilizzerà i colori configurati per gli embed." -#: redbot/core/core_commands.py:902 +#: redbot/core/core_commands.py:857 +msgid "will not" +msgstr "non " + +#: redbot/core/core_commands.py:857 +msgid "will" +msgstr " " + +#: redbot/core/core_commands.py:865 #, docstring -msgid "Sets Red's main owner" +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "\n" -"Codice di verifica:" +#: redbot/core/core_commands.py:873 +msgid "Fuzzy command search has been {} for this server." +msgstr "La ricerca indistinta dei comandi è stata {} per questo server." + +#: redbot/core/core_commands.py:881 +#, docstring +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " +msgstr "" + +#: redbot/core/core_commands.py:889 +msgid "Fuzzy command search has been {} in DMs." +msgstr "La ricerca indistinta dei comandi è stata {} in DM." + +#: redbot/core/core_commands.py:897 +#, docstring +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " +msgstr "" + +#: redbot/core/core_commands.py:907 +msgid "The color has been reset." +msgstr "Il colore è stato resettato." + +#: redbot/core/core_commands.py:910 +msgid "The color has been set." +msgstr "Il colore è stato impostato." #: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "Ricorda:\n" +#, docstring +msgid "Sets Red's avatar" +msgstr "Imposta l'avatar di Red" -#: redbot/core/core_commands.py:919 -msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." -msgstr "Ho stampato un token temporaneo nella console. Copia e incollalo in questa chat per confermare che sei il proprietario." +#: redbot/core/core_commands.py:924 +msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." +msgstr "Operazione fallita. Ricordati che è possibile modificare il mio avatar fino a due volte l'ora. L'URL deve essere un link diretto a un file JPG / PNG." -#: redbot/core/core_commands.py:932 -msgid "The `{prefix}set owner` request has timed out." -msgstr "" +#: redbot/core/core_commands.py:931 +msgid "JPG / PNG format only." +msgstr "I formati file permessi sono JPG / PNG." #: redbot/core/core_commands.py:939 -msgid "You have been set as owner." -msgstr "Sei stato impostato come proprietario." - -#: redbot/core/core_commands.py:941 -msgid "Invalid token." -msgstr "Token non valido." - -#: redbot/core/core_commands.py:946 #, docstring -msgid "Change bot token." -msgstr "" +msgid "Sets Red's playing status" +msgstr "Imposta lo stato 'sta giocando' di Red" -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" -msgstr "" +#: redbot/core/core_commands.py:947 +msgid "Game set." +msgstr "Il 'game' status è stato impostato." -#: redbot/core/core_commands.py:971 +#: redbot/core/core_commands.py:953 #, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " -msgstr "" +msgid "Sets Red's listening status" +msgstr "Imposta lo stato 'sta ascoltando' di Red" -#: redbot/core/core_commands.py:982 -msgid "Locale has been set." -msgstr "Impostazioni locali sono stata impostata." +#: redbot/core/core_commands.py:961 +msgid "Listening set." +msgstr "Lo stato 'sta ascoltando' è stato impostato." -#: redbot/core/core_commands.py:987 +#: redbot/core/core_commands.py:967 #, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " -msgstr "" +msgid "Sets Red's watching status" +msgstr "Imposta lo stato 'sta guardando' di Red" -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." -msgstr "" +#: redbot/core/core_commands.py:975 +msgid "Watching set." +msgstr "Lo stato 'sta guardando' è stato impostato." -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." +#: redbot/core/core_commands.py:981 +#, docstring +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " msgstr "" #: redbot/core/core_commands.py:1004 +msgid "Status changed to {}." +msgstr "Status cambiato a {}." + +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Manage settings for the help command." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." msgstr "" -#: redbot/core/core_commands.py:1009 +#: redbot/core/core_commands.py:1031 #, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " -msgstr "" +msgid "Sets Red's username" +msgstr "Imposta lo username di Red" -#: redbot/core/core_commands.py:1020 -msgid "You must give a positive value!" -msgstr "" +#: redbot/core/core_commands.py:1036 +msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" +msgstr "Non sono riuscito a cambiare il mio nome. Ricordati che è possibile farlo fino a 2 volte ogni ora. Se hai bisogno di frequenti modifiche è consigliato l'utilizzo dei nicknames. `{}set nickname`" -#: redbot/core/core_commands.py:1024 -msgid "Done. The character limit per page has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1028 +#: redbot/core/core_commands.py:1050 #, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " -msgstr "" +msgid "Sets Red's nickname" +msgstr "Imposta il nickname di Red" -#: redbot/core/core_commands.py:1039 -msgid "You must give a value of zero or greater!" -msgstr "" +#: redbot/core/core_commands.py:1054 +msgid "I lack the permissions to change my own nickname." +msgstr "Non ho i permessi necessari per cambiare il mio nickname." -#: redbot/core/core_commands.py:1043 -msgid "Done. The page limit has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1047 +#: redbot/core/core_commands.py:1061 #, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " -msgstr "" +msgid "Sets Red's global prefix(es)" +msgstr "Imposta prefisso(i) di Red globalmente" -#: redbot/core/core_commands.py:1055 -msgid "The tagline has been reset." -msgstr "" - -#: redbot/core/core_commands.py:1059 -msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." -msgstr "" - -#: redbot/core/core_commands.py:1067 -msgid "The tagline has been set to {}." -msgstr "" +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 +msgid "Prefix set." +msgstr "Il prefisso è stato impostato." #: redbot/core/core_commands.py:1072 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " -msgstr "" +msgid "Sets Red's server prefix(es)" +msgstr "Imposta prefisso(i) di Red per il server" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1075 +msgid "Guild prefixes have been reset." +msgstr "I prefissi di Gilda sono stati ripristinati." + +#: redbot/core/core_commands.py:1084 #, docstring -msgid "Creates a backup of all data for the instance." +msgid "Sets Red's main owner" +msgstr "Imposta il proprietario di Red" + +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." msgstr "" -#: redbot/core/core_commands.py:1152 -msgid "A backup has been made of this instance. It is at {}." +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" msgstr "" -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" msgstr "" -#: redbot/core/core_commands.py:1157 -msgid "Would you like to receive a copy via DM? (y/n)" +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" msgstr "" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." +#: redbot/core/core_commands.py:1107 +msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." +msgstr "Ho stampato un token temporaneo nella console. Copia e incollalo in questa chat per confermare che sei il proprietario." + +#: redbot/core/core_commands.py:1120 +msgid "The `{prefix}set owner` request has timed out." +msgstr "La richiesta `{prefix}set owner` è scaduta." + +#: redbot/core/core_commands.py:1127 +msgid "You have been set as owner." +msgstr "Sei stato impostato come proprietario." + +#: redbot/core/core_commands.py:1129 +msgid "Invalid token." +msgstr "Token non valido." + +#: redbot/core/core_commands.py:1134 +#, docstring +msgid "Change bot token." +msgstr "Modifica token del bot." + +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" msgstr "" -#: redbot/core/core_commands.py:1166 -msgid "OK, it's on its way!" +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." msgstr "" -#: redbot/core/core_commands.py:1170 -msgid "Here's a copy of the backup" +#: redbot/core/core_commands.py:1159 +#, docstring +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " msgstr "" +#: redbot/core/core_commands.py:1172 +msgid "Locale has been set." +msgstr "Impostazioni locali sono stata impostata." + #: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 +#, docstring +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " +msgstr "" + +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." +msgstr "" + +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." +msgstr "" + +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 +#, docstring +msgid "Manage settings for the help command." +msgstr "Gestisci le impostazioni per il comando aiuto." + +#: redbot/core/core_commands.py:1228 +#, docstring +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 +msgid "You must give a positive value!" +msgstr "Devi fornire un valore positivo!" + +#: redbot/core/core_commands.py:1317 +msgid "Done. The character limit per page has been set to {}." +msgstr "Fatto. Il limite di caratteri per pagina è stato impostato a {}." + +#: redbot/core/core_commands.py:1321 +#, docstring +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1332 +msgid "You must give a value of zero or greater!" +msgstr "Devi inserire un valore superiore o uguale a zero!" + +#: redbot/core/core_commands.py:1336 +msgid "Done. The page limit has been set to {}." +msgstr "Fatto. Il limite di pagine è stato impostato a {}." + +#: redbot/core/core_commands.py:1340 +#, docstring +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1348 +msgid "The tagline has been reset." +msgstr "La tagline è stata resettata." + +#: redbot/core/core_commands.py:1352 +msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." +msgstr "La tua tagline è troppo lunga! Per favore abbreviala in modo che non superi i 2048 caratteri." + +#: redbot/core/core_commands.py:1360 +msgid "The tagline has been set to {}." +msgstr "La tagline è stata impostata a {}." + +#: redbot/core/core_commands.py:1365 +#, docstring +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " +msgstr "" + +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 +#, docstring +msgid "Creates a backup of all data for the instance." +msgstr "Crea un backup di tutti i dati dell'istanza." + +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 +msgid "A backup has been made of this instance. It is at {}." +msgstr "Si è creato un backup di questa istanza. Si trova in {}." + +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." +msgstr "" + +#: redbot/core/core_commands.py:1458 +msgid "Would you like to receive a copy via DM? (y/n)" +msgstr "Desideri riceverne una copia via DM? (y/n)" + +#: redbot/core/core_commands.py:1467 +msgid "OK, it's on its way!" +msgstr "OK, sta arrivando!" + +#: redbot/core/core_commands.py:1471 +msgid "Here's a copy of the backup" +msgstr "Ecco una copia del backup" + +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" -msgstr "" +msgstr "Sembra che io non possa inviarti DM. Hai disabilitato i DM?" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." -msgstr "" +msgstr "Non sono riuscito ad inviarti il backup." -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." -msgstr "" +msgstr "OK allora." -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." -msgstr "" +msgstr "Tale cartella non sembra esistere..." -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" -msgstr "" +msgstr "Invia un messaggio al proprietario" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" -msgstr "" +msgstr "ID utente: {}" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "attraverso il DM" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "da {}" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" -msgstr "" +msgstr " | ID server: {}" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "Utilizzare `{}dm {} ` per rispondere a questo utente" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "Inviato da {} {}" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" -msgstr "Non posso inviare il vostro messaggio, non riesco a trovare il mio proprietario... *sospiro*" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." +msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "Non sono in grado di consegnare il messaggio. Mi dispiace." - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "Il tuo messaggio è stato inviato." -#: redbot/core/core_commands.py:1249 +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." +msgstr "Non sono in grado di consegnare il messaggio. Mi dispiace." + +#: redbot/core/core_commands.py:1589 #, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" msgstr "" -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "ID non valido o utente non trovato. È possibile inviare messaggi solo alle persone condividono un server con." -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" -msgstr "" +msgstr "Proprietario di {}" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" -msgstr "" +msgstr "Puoi risponder a questo messaggio con {}contact" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" -msgstr "" +msgstr "Mi dispiace, non sono riuscito a consegnare il messaggio a {}" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" -msgstr "" +msgstr "Messaggio recapitato a {}" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " +msgid "Prints the bot's data path." msgstr "" -#: redbot/core/core_commands.py:1309 +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" +msgstr "" + +#: redbot/core/core_commands.py:1652 #, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " +msgid "Shows debug information useful for debugging.." msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." -msgstr "" +msgstr "Utente aggiunto alla whitelist." -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " +msgid "\\n Lists whitelisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" -msgstr "" +msgstr "Utenti in Whitelist:" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " +msgid "\\n Removes user from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." -msgstr "" +msgstr "L’utente è stato rimosso dalla whitelist." -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." -msgstr "" +msgstr "L'utente non era nella whitelist." -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." -msgstr "" - -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 -#, docstring -msgid "\n" -" blacklist management commands.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1367 -#, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 -msgid "You cannot blacklist an owner!" -msgstr "" - -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 -msgid "User added to blacklist." -msgstr "" - -#: redbot/core/core_commands.py:1382 -#, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" -msgstr "" - -#: redbot/core/core_commands.py:1396 -#, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 -msgid "User has been removed from blacklist." -msgstr "" - -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 -msgid "User was not in the blacklist." -msgstr "" - -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 -#, docstring -msgid "\n" -" Clears the blacklist.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." -msgstr "" - -#: redbot/core/core_commands.py:1432 -#, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1443 -msgid "Role added to whitelist." -msgstr "" - -#: redbot/core/core_commands.py:1447 -#, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1452 -msgid "Whitelisted Users and roles:" -msgstr "" - -#: redbot/core/core_commands.py:1463 -#, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1478 -msgid "Role has been removed from whitelist." -msgstr "" - -#: redbot/core/core_commands.py:1483 -msgid "Role was not in the whitelist." -msgstr "" - -#: redbot/core/core_commands.py:1506 -#, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1522 -msgid "Role added to blacklist." -msgstr "" - -#: redbot/core/core_commands.py:1526 -#, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" -msgstr "" - -#: redbot/core/core_commands.py:1542 -#, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1557 -msgid "Role has been removed from blacklist." -msgstr "" - -#: redbot/core/core_commands.py:1562 -msgid "Role was not in the blacklist." -msgstr "" - -#: redbot/core/core_commands.py:1575 -#, docstring -msgid "Manage the bot's commands." -msgstr "" - -#: redbot/core/core_commands.py:1580 -#, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1594 -#, docstring -msgid "Disable a command globally." -msgstr "" - -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 -msgid "I couldn't find that command. Please note that it is case sensitive." -msgstr "" - -#: redbot/core/core_commands.py:1607 -msgid "That command is already disabled globally." -msgstr "" - -#: redbot/core/core_commands.py:1616 -#, docstring -msgid "Disable a command in this server only." -msgstr "" - -#: redbot/core/core_commands.py:1631 -msgid "That command is already disabled in this server." -msgstr "" - -#: redbot/core/core_commands.py:1637 -#, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1650 -#, docstring -msgid "Enable a command globally." -msgstr "" - -#: redbot/core/core_commands.py:1663 -msgid "That command is already enabled globally." -msgstr "" - -#: redbot/core/core_commands.py:1672 -#, docstring -msgid "Enable a command in this server." -msgstr "" - -#: redbot/core/core_commands.py:1687 -msgid "That command is already enabled in this server." -msgstr "" - -#: redbot/core/core_commands.py:1694 -#, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1708 -#, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1715 -#, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" -msgstr "" - -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" -msgstr "" - -#: redbot/core/core_commands.py:1736 -msgid "No immunty settings here." -msgstr "" - -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 -#, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1750 -msgid "Already added." -msgstr "" +msgstr "La whitelist è stata cancellata." #: redbot/core/core_commands.py:1763 +#, docstring +msgid "\\n Blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1770 +#, docstring +msgid "\\n Adds a user to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 +msgid "You cannot blacklist an owner!" +msgstr "Non puoi aggiungere alla blacklist un proprietario!" + +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 +msgid "User added to blacklist." +msgstr "Utente aggiunto alla blacklist." + +#: redbot/core/core_commands.py:1785 +#, docstring +msgid "\\n Lists blacklisted users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" +msgstr "" + +#: redbot/core/core_commands.py:1799 +#, docstring +msgid "\\n Removes user from blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 +msgid "User has been removed from blacklist." +msgstr "L’utente è stato rimosso dalla blacklist." + +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 +msgid "User was not in the blacklist." +msgstr "L'utente non era nella blacklist." + +#: redbot/core/core_commands.py:1816 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." +msgstr "" + +#: redbot/core/core_commands.py:1826 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 +msgid "Role added to whitelist." +msgstr "Ruolo aggiunto alla whitelist." + +#: redbot/core/core_commands.py:1850 +#, docstring +msgid "\\n Lists whitelisted users and roles.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1855 +msgid "Whitelisted Users and roles:" +msgstr "Utenti e ruoli nella whitelist:" + +#: redbot/core/core_commands.py:1866 +#, docstring +msgid "\\n Removes user or role from whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1881 +msgid "Role has been removed from whitelist." +msgstr "Il ruolo è stato rimosso dalla whitelist." + +#: redbot/core/core_commands.py:1886 +msgid "Role was not in the whitelist." +msgstr "Il ruolo non era nella whitelist." + +#: redbot/core/core_commands.py:1890 +#, docstring +msgid "\\n Clears the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 +msgid "Role added to blacklist." +msgstr "Ruolo aggiunto alla blacklist." + +#: redbot/core/core_commands.py:1929 +#, docstring +msgid "\\n Lists blacklisted users and roles.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" +msgstr "" + +#: redbot/core/core_commands.py:1945 +#, docstring +msgid "\\n Removes user or role from blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1960 +msgid "Role has been removed from blacklist." +msgstr "Il ruolo è stato rimosso dalla blacklist." + +#: redbot/core/core_commands.py:1965 +msgid "Role was not in the blacklist." +msgstr "Il ruolo non era nella blacklist." + +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 +#, docstring +msgid "Manage the bot's commands." +msgstr "Gestisci i comandi del bot." + +#: redbot/core/core_commands.py:1983 +#, docstring +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1997 +#, docstring +msgid "Disable a command globally." +msgstr "Disabilita globalmente un comando." + +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 +msgid "I couldn't find that command. Please note that it is case sensitive." +msgstr "Non sono riuscito a trovare quel comando. Attenzione, la ricerca distingue maiuscole e minuscole." + +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 +msgid "That command is already disabled globally." +msgstr "Questo comando risulta già disabilitato globalmente." + +#: redbot/core/core_commands.py:2025 +#, docstring +msgid "Disable a command in this server only." +msgstr "Disabilita un comando in questo server." + +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 +msgid "That command is already disabled in this server." +msgstr "Questo comando è già disabilitato in questo server." + +#: redbot/core/core_commands.py:2056 +#, docstring +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2069 +#, docstring +msgid "Enable a command globally." +msgstr "Abilita globalmente un comando." + +#: redbot/core/core_commands.py:2082 +msgid "That command is already enabled globally." +msgstr "Questo comando risulta già abilitato globalmente." + +#: redbot/core/core_commands.py:2091 +#, docstring +msgid "Enable a command in this server." +msgstr "Abilita un comando in questo server." + +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 +msgid "That command is already enabled in this server." +msgstr "Questo comando è già abilitato in questo server." + +#: redbot/core/core_commands.py:2117 +#, docstring +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2131 +#, docstring +msgid "\\n Server settings for immunity from automated actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2138 +#, docstring +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " +msgstr "" + +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" +msgstr "" + +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" +msgstr "" + +#: redbot/core/core_commands.py:2159 +msgid "No immunty settings here." +msgstr "Non ci sono impostazioni di immunità." + +#: redbot/core/core_commands.py:2168 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2173 +msgid "Already added." +msgstr "Già aggiunto." + +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 msgid "Not in list." -msgstr "" +msgstr "Non in elenco." -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" -msgstr "" +msgstr "Sono immuni" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" -msgstr "" +msgstr "Non sono Immuni" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "E' già in esecuzione una sessione REPL in questo canale. Puoi terminarla scrivendo `quit`." -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "Inserire il codice da eseguire oppure valutare. `exit()` o `quit` per uscire." -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "Errore imprevisto: `{}`" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." +msgstr "Il saldo di {user} non puà andare oltre {max:,} {currency}." + +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:176 +msgid "Unknown" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/ja-JP.po b/redbot/core/locales/ja-JP.po index 9332910a8..7b5bf1fcd 100644 --- a/redbot/core/locales/ja-JP.po +++ b/redbot/core/locales/ja-JP.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,6 +16,14 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: ja_JP\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." @@ -23,21 +31,16 @@ msgstr "" #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " msgstr "" #: redbot/core/cog_manager.py:343 @@ -50,10 +53,7 @@ msgstr "" #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 @@ -70,9 +70,7 @@ msgstr "" #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " msgstr "" #: redbot/core/cog_manager.py:392 @@ -89,12 +87,7 @@ msgstr "" #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " msgstr "" #: redbot/core/cog_manager.py:420 @@ -107,1028 +100,1312 @@ msgstr "" #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" msgstr "" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." msgstr "" -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" msgstr "" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" msgstr "" -#: redbot/core/core_commands.py:349 -#, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 +#, docstring +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." msgstr "" -#: redbot/core/core_commands.py:388 -#, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" msgstr "" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "" + +#: redbot/core/core_commands.py:375 +#, docstring +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." msgstr "" -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." msgstr "" -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." msgstr "" -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:420 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" msgstr "" -#: redbot/core/core_commands.py:448 +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 #, docstring msgid "Show's Red's invite url" msgstr "" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" +msgstr "" + +#: redbot/core/core_commands.py:448 +#, docstring +msgid "\\n Define if the command should be accessible for the average users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" msgstr "" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "" + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" msgstr "" -#: redbot/core/core_commands.py:520 +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "" + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring msgid "Loads packages" msgstr "" -#: redbot/core/core_commands.py:552 +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring msgid "Unloads packages" msgstr "" -#: redbot/core/core_commands.py:570 +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring msgid "Reloads packages" msgstr "" -#: redbot/core/core_commands.py:594 +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring msgid "Shuts down the bot" msgstr "" -#: redbot/core/core_commands.py:599 +#: redbot/core/core_commands.py:735 msgid "Shutting down... " msgstr "" -#: redbot/core/core_commands.py:605 +#: redbot/core/core_commands.py:741 #, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" msgstr "" -#: redbot/core/core_commands.py:612 +#: redbot/core/core_commands.py:748 msgid "Restarting..." msgstr "" -#: redbot/core/core_commands.py:617 +#: redbot/core/core_commands.py:753 #, docstring msgid "Changes Red's settings" msgstr "" -#: redbot/core/core_commands.py:649 +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" +msgstr "" + +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" +msgstr "" + +#: redbot/core/core_commands.py:795 #, docstring -msgid "Sets the admin role for this server" +msgid "\\n Adds an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." msgstr "" -#: redbot/core/core_commands.py:657 +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 #, docstring -msgid "Sets the mod role for this server" +msgid "\\n Adds a mod role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." msgstr "" -#: redbot/core/core_commands.py:665 +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 #, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " +msgid "\\n Removes an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:674 +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 msgid "The bot {} use its configured color for embeds." msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will not" msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will" msgstr "" -#: redbot/core/core_commands.py:683 +#: redbot/core/core_commands.py:865 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:691 +#: redbot/core/core_commands.py:873 msgid "Fuzzy command search has been {} for this server." msgstr "" -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "" - -#: redbot/core/core_commands.py:699 +#: redbot/core/core_commands.py:881 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:707 +#: redbot/core/core_commands.py:889 msgid "Fuzzy command search has been {} in DMs." msgstr "" -#: redbot/core/core_commands.py:715 +#: redbot/core/core_commands.py:897 #, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " msgstr "" -#: redbot/core/core_commands.py:725 +#: redbot/core/core_commands.py:907 msgid "The color has been reset." msgstr "" -#: redbot/core/core_commands.py:728 +#: redbot/core/core_commands.py:910 msgid "The color has been set." msgstr "" -#: redbot/core/core_commands.py:733 +#: redbot/core/core_commands.py:915 #, docstring msgid "Sets Red's avatar" msgstr "" -#: redbot/core/core_commands.py:742 +#: redbot/core/core_commands.py:924 msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." msgstr "" -#: redbot/core/core_commands.py:749 +#: redbot/core/core_commands.py:931 msgid "JPG / PNG format only." msgstr "" -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 -msgid "Done." -msgstr "" - -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:939 #, docstring msgid "Sets Red's playing status" msgstr "" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "" -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" msgstr "" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." msgstr "" -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" msgstr "" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." msgstr "" -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "" -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" msgstr "" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" msgstr "" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "" -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" msgstr "" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "" -#: redbot/core/core_commands.py:890 -#, docstring -msgid "Sets Red's server prefix(es)" -msgstr "" - -#: redbot/core/core_commands.py:893 -msgid "Guild prefixes have been reset." -msgstr "" - -#: redbot/core/core_commands.py:902 -#, docstring -msgid "Sets Red's main owner" -msgstr "" - -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "" - -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "" - -#: redbot/core/core_commands.py:919 -msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." -msgstr "" - -#: redbot/core/core_commands.py:932 -msgid "The `{prefix}set owner` request has timed out." -msgstr "" - -#: redbot/core/core_commands.py:939 -msgid "You have been set as owner." -msgstr "" - -#: redbot/core/core_commands.py:941 -msgid "Invalid token." -msgstr "" - -#: redbot/core/core_commands.py:946 -#, docstring -msgid "Change bot token." -msgstr "" - -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" -msgstr "" - -#: redbot/core/core_commands.py:971 -#, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:982 -msgid "Locale has been set." -msgstr "" - -#: redbot/core/core_commands.py:987 -#, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." -msgstr "" - -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." -msgstr "" - -#: redbot/core/core_commands.py:1004 -#, docstring -msgid "Manage settings for the help command." -msgstr "" - -#: redbot/core/core_commands.py:1009 -#, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1020 -msgid "You must give a positive value!" -msgstr "" - -#: redbot/core/core_commands.py:1024 -msgid "Done. The character limit per page has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1028 -#, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1039 -msgid "You must give a value of zero or greater!" -msgstr "" - -#: redbot/core/core_commands.py:1043 -msgid "Done. The page limit has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1047 -#, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1055 -msgid "The tagline has been reset." -msgstr "" - -#: redbot/core/core_commands.py:1059 -msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." -msgstr "" - -#: redbot/core/core_commands.py:1067 -msgid "The tagline has been set to {}." -msgstr "" - #: redbot/core/core_commands.py:1072 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " +msgid "Sets Red's server prefix(es)" msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1075 +msgid "Guild prefixes have been reset." +msgstr "" + +#: redbot/core/core_commands.py:1084 +#, docstring +msgid "Sets Red's main owner" +msgstr "" + +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" + +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" + +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 +msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." +msgstr "" + +#: redbot/core/core_commands.py:1120 +msgid "The `{prefix}set owner` request has timed out." +msgstr "" + +#: redbot/core/core_commands.py:1127 +msgid "You have been set as owner." +msgstr "" + +#: redbot/core/core_commands.py:1129 +msgid "Invalid token." +msgstr "" + +#: redbot/core/core_commands.py:1134 +#, docstring +msgid "Change bot token." +msgstr "" + +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" +msgstr "" + +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 +#, docstring +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " +msgstr "" + +#: redbot/core/core_commands.py:1172 +msgid "Locale has been set." +msgstr "" + +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 +#, docstring +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " +msgstr "" + +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." +msgstr "" + +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." +msgstr "" + +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 +#, docstring +msgid "Manage settings for the help command." +msgstr "" + +#: redbot/core/core_commands.py:1228 +#, docstring +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 +msgid "You must give a positive value!" +msgstr "" + +#: redbot/core/core_commands.py:1317 +msgid "Done. The character limit per page has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1321 +#, docstring +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1332 +msgid "You must give a value of zero or greater!" +msgstr "" + +#: redbot/core/core_commands.py:1336 +msgid "Done. The page limit has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1340 +#, docstring +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1348 +msgid "The tagline has been reset." +msgstr "" + +#: redbot/core/core_commands.py:1352 +msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." +msgstr "" + +#: redbot/core/core_commands.py:1360 +msgid "The tagline has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1365 +#, docstring +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " +msgstr "" + +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." msgstr "" -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "" -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" msgstr "" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "" - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" msgstr "" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" msgstr "" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" msgstr "" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." msgstr "" -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." msgstr "" -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." msgstr "" -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" msgstr "" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" msgstr "" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" msgstr "" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "" - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "" -#: redbot/core/core_commands.py:1249 -#, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." msgstr "" -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1589 +#, docstring +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" +msgstr "" + +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "" -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" msgstr "" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" msgstr "" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" msgstr "" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" msgstr "" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " +msgid "Prints the bot's data path." msgstr "" -#: redbot/core/core_commands.py:1309 -#, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1652 +#, docstring +msgid "Shows debug information useful for debugging.." +msgstr "" + +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " +msgid "\\n Lists whitelisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " +msgid "\\n Removes user from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " +msgid "\\n Blacklist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" msgstr "" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " +msgid "\\n Lists blacklisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" msgstr "" -#: redbot/core/core_commands.py:1396 +#: redbot/core/core_commands.py:1799 #, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " +msgid "\\n Removes user from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1432 +#: redbot/core/core_commands.py:1826 #, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " +msgid "\\n Whitelist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" msgstr "" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." msgstr "" -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "" -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." msgstr "" -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "" -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "" -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "" -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." msgstr "" -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." msgstr "" -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." msgstr "" -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." msgstr "" -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." msgstr "" -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." msgstr "" -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 msgid "Not in list." msgstr "" -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" msgstr "" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" msgstr "" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "" -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "" -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/ko-KR.po b/redbot/core/locales/ko-KR.po index 735c25380..45b1f65a2 100644 --- a/redbot/core/locales/ko-KR.po +++ b/redbot/core/locales/ko-KR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,6 +16,14 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: ko_KR\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." @@ -23,21 +31,16 @@ msgstr "" #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " msgstr "" #: redbot/core/cog_manager.py:343 @@ -50,10 +53,7 @@ msgstr "경로가 성공적으로 추가됐어요." #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 @@ -70,9 +70,7 @@ msgstr "경로가 성공적으로 제거됐어요." #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " msgstr "" #: redbot/core/cog_manager.py:392 @@ -89,12 +87,7 @@ msgstr "경로들이 다시 정렬됐어요." #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " msgstr "" #: redbot/core/cog_manager.py:420 @@ -107,1028 +100,1312 @@ msgstr "봇이 새로운 cogs를 '{}' 디렉토리에 설치해요." #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" -msgstr "**{} 를 로드했어요**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" +msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" -msgstr "** {} 를 언로드 했어요**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" +msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" msgstr "" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." msgstr "퐁!" -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" msgstr "레드의 대한 정보를 보여드릴게요." -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" msgstr "레드의 가동시간 이에요." -#: redbot/core/core_commands.py:349 -#, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 +#, docstring +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." msgstr "" -#: redbot/core/core_commands.py:388 -#, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" msgstr "" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "" + +#: redbot/core/core_commands.py:375 +#, docstring +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." msgstr "" -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." msgstr "" -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." msgstr "" -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:420 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" msgstr "" -#: redbot/core/core_commands.py:448 +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 #, docstring msgid "Show's Red's invite url" msgstr "" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" +msgstr "" + +#: redbot/core/core_commands.py:448 +#, docstring +msgid "\\n Define if the command should be accessible for the average users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" msgstr "" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "" + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" msgstr "" -#: redbot/core/core_commands.py:520 +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "다 했어요." + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring msgid "Loads packages" msgstr "" -#: redbot/core/core_commands.py:552 +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring msgid "Unloads packages" msgstr "" -#: redbot/core/core_commands.py:570 +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring msgid "Reloads packages" msgstr "" -#: redbot/core/core_commands.py:594 +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring msgid "Shuts down the bot" msgstr "" -#: redbot/core/core_commands.py:599 +#: redbot/core/core_commands.py:735 msgid "Shutting down... " msgstr "종료하는 중..." -#: redbot/core/core_commands.py:605 +#: redbot/core/core_commands.py:741 #, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" msgstr "" -#: redbot/core/core_commands.py:612 +#: redbot/core/core_commands.py:748 msgid "Restarting..." msgstr "다시 시작하는 중..." -#: redbot/core/core_commands.py:617 +#: redbot/core/core_commands.py:753 #, docstring msgid "Changes Red's settings" msgstr "" -#: redbot/core/core_commands.py:649 -#, docstring -msgid "Sets the admin role for this server" +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" msgstr "" -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." -msgstr "해당 길드의 관리자 역할이 설정됐어요." - -#: redbot/core/core_commands.py:657 -#, docstring -msgid "Sets the mod role for this server" +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" msgstr "" -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." -msgstr "해당 길드의 모드 역할이 설정됐어요." - -#: redbot/core/core_commands.py:665 +#: redbot/core/core_commands.py:795 #, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " +msgid "\\n Adds an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:674 +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." +msgstr "" + +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 +#, docstring +msgid "\\n Adds a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." +msgstr "" + +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 +#, docstring +msgid "\\n Removes an admin role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 msgid "The bot {} use its configured color for embeds." msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will not" msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will" msgstr "" -#: redbot/core/core_commands.py:683 +#: redbot/core/core_commands.py:865 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:691 +#: redbot/core/core_commands.py:873 msgid "Fuzzy command search has been {} for this server." msgstr "" -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "" - -#: redbot/core/core_commands.py:699 +#: redbot/core/core_commands.py:881 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:707 +#: redbot/core/core_commands.py:889 msgid "Fuzzy command search has been {} in DMs." msgstr "" -#: redbot/core/core_commands.py:715 +#: redbot/core/core_commands.py:897 #, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " msgstr "" -#: redbot/core/core_commands.py:725 +#: redbot/core/core_commands.py:907 msgid "The color has been reset." msgstr "" -#: redbot/core/core_commands.py:728 +#: redbot/core/core_commands.py:910 msgid "The color has been set." msgstr "" -#: redbot/core/core_commands.py:733 +#: redbot/core/core_commands.py:915 #, docstring msgid "Sets Red's avatar" msgstr "" -#: redbot/core/core_commands.py:742 +#: redbot/core/core_commands.py:924 msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." msgstr "실패했어요. 제 아바타는 한 시간에 두 번까지 편집할 수 있다는 걸 기억해요. URL은 JPG / PNG에 대한 다이렉트 링크여야 해요." -#: redbot/core/core_commands.py:749 +#: redbot/core/core_commands.py:931 msgid "JPG / PNG format only." msgstr "JPG / PNG 형식만 가능해요." -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 -msgid "Done." -msgstr "다 했어요." - -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:939 #, docstring msgid "Sets Red's playing status" msgstr "" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "게임 상태가 설정됐어요." -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" msgstr "" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." msgstr "듣는 상태가 설정됐어요." -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" msgstr "" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." msgstr "보는 상태가 설정됐어요." -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "" -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" msgstr "" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "이름을 변경하지 못했어요. 한 시간에 2번까지만 할 수 있다는 것을 기억해요. 자주 변경해야 할 경우에는 닉네임을 변경해보세요. `{}set nickname`" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" msgstr "" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "제 별명을 변경할 수 있는 권한이 없어요." -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" msgstr "" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "프리픽스가 변경됐어요." -#: redbot/core/core_commands.py:890 +#: redbot/core/core_commands.py:1072 #, docstring msgid "Sets Red's server prefix(es)" msgstr "" -#: redbot/core/core_commands.py:893 +#: redbot/core/core_commands.py:1075 msgid "Guild prefixes have been reset." msgstr "길드 프리픽스가 재설정됐어요." -#: redbot/core/core_commands.py:902 +#: redbot/core/core_commands.py:1084 #, docstring msgid "Sets Red's main owner" msgstr "" -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "인증 코드 :" +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "명심해요 :" +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" -#: redbot/core/core_commands.py:919 +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." msgstr "콘솔에 토큰을 한번 출력했어요. 복사하고 붙여넣어 사용자님이 주인이라는 것을 확인해보세요." -#: redbot/core/core_commands.py:932 +#: redbot/core/core_commands.py:1120 msgid "The `{prefix}set owner` request has timed out." msgstr "" -#: redbot/core/core_commands.py:939 +#: redbot/core/core_commands.py:1127 msgid "You have been set as owner." msgstr "사용자님은 저의 주인님이 되셨어요!" -#: redbot/core/core_commands.py:941 +#: redbot/core/core_commands.py:1129 msgid "Invalid token." msgstr "잘못된 코드예요." -#: redbot/core/core_commands.py:946 +#: redbot/core/core_commands.py:1134 #, docstring msgid "Change bot token." msgstr "" -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" msgstr "" -#: redbot/core/core_commands.py:971 +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 #, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " msgstr "" -#: redbot/core/core_commands.py:982 +#: redbot/core/core_commands.py:1172 msgid "Locale has been set." msgstr "로컬이 설정됐어요." -#: redbot/core/core_commands.py:987 -#, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." msgstr "" -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." -msgstr "다 했어요. 이제 센트리 로깅이 활성화됐어요." +#: redbot/core/core_commands.py:1184 +#, docstring +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " +msgstr "" -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." -msgstr "다 했어요. 이제 센트리 로깅이 비활성화됐어요." +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." +msgstr "" -#: redbot/core/core_commands.py:1004 +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." +msgstr "" + +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 #, docstring msgid "Manage settings for the help command." msgstr "" -#: redbot/core/core_commands.py:1009 +#: redbot/core/core_commands.py:1228 #, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " msgstr "" -#: redbot/core/core_commands.py:1020 +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 msgid "You must give a positive value!" msgstr "" -#: redbot/core/core_commands.py:1024 +#: redbot/core/core_commands.py:1317 msgid "Done. The character limit per page has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1028 +#: redbot/core/core_commands.py:1321 #, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " msgstr "" -#: redbot/core/core_commands.py:1039 +#: redbot/core/core_commands.py:1332 msgid "You must give a value of zero or greater!" msgstr "" -#: redbot/core/core_commands.py:1043 +#: redbot/core/core_commands.py:1336 msgid "Done. The page limit has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1047 +#: redbot/core/core_commands.py:1340 #, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " msgstr "" -#: redbot/core/core_commands.py:1055 +#: redbot/core/core_commands.py:1348 msgid "The tagline has been reset." msgstr "" -#: redbot/core/core_commands.py:1059 +#: redbot/core/core_commands.py:1352 msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." msgstr "" -#: redbot/core/core_commands.py:1067 +#: redbot/core/core_commands.py:1360 msgid "The tagline has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1072 +#: redbot/core/core_commands.py:1365 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." msgstr "" -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "" -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" msgstr "" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "" - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" msgstr "" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" msgstr "" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" msgstr "" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." msgstr "" -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." msgstr "" -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." msgstr "" -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" msgstr "" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" msgstr "" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "다이렉트 메세지를 통해서" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "{} 에서" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" msgstr "" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "해당 사용자에게 응답하려면 `{}dm {} ` 을 사용해야 해요." -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "{} {} 의해 전송됐어요." -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" -msgstr "사용자님의 메세지를 보낼 수 없어요, 제 주인님을 찾을 수가 없어요... *º^º*" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." +msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "사용자님의 메세지를 전송할 수 없어요. 미안해요." - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "메세지가 전송됐어요." -#: redbot/core/core_commands.py:1249 +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." +msgstr "사용자님의 메세지를 전송할 수 없어요. 미안해요." + +#: redbot/core/core_commands.py:1589 #, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" msgstr "" -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "잘못된 ID이거나 사용자를 찾을 수 없어요. 서버에 같이 있는 사용자에게만 메세지를 보낼 수 있어요." -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" msgstr "" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" msgstr "" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" msgstr "" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" msgstr "" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " +msgid "Prints the bot's data path." msgstr "" -#: redbot/core/core_commands.py:1309 -#, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1652 +#, docstring +msgid "Shows debug information useful for debugging.." +msgstr "" + +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." msgstr "사용자가 화이트리스트에 추가됐어요." -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " +msgid "\\n Lists whitelisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "화이트 리스트에 추가된 사용자 :" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " +msgid "\\n Removes user from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "사용자가 화이트리스트에서 제거됐어요." -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "사용자가 화이트리스트에 포함되어 있지 않아요." -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." msgstr "화이트 리스트가 지워졌어요." -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " +msgid "\\n Blacklist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" msgstr "우리 주인님은 블랙 리스트에 추가할 수 없어요!" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "사용자가 블랙 리스트에 추가됐어요." -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " +msgid "\\n Lists blacklisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" -msgstr "블랙 리스트에 추가된 사용자 :" - -#: redbot/core/core_commands.py:1396 -#, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1799 +#, docstring +msgid "\\n Removes user from blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "사용자가 블랙 리스트에서 제거됐어요." -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "사용자가 블랙 리스트에 등록되어 있지 않아요." -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." -msgstr "블랙 리스트가 지워졌어요." - -#: redbot/core/core_commands.py:1432 -#, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1826 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" msgstr "" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." msgstr "" -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "" -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." msgstr "" -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "" -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "" -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "" -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." msgstr "" -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." msgstr "" -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." msgstr "" -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." msgstr "" -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." msgstr "" -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." msgstr "" -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 msgid "Not in list." msgstr "" -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" msgstr "" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" msgstr "" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "이 채널에서 이미 REPL 세션을 실행하고 있어요, `야메로`!" -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "실행하거나 평가할 코드를 입력해보세요. 종료하려면 `exit()` 또는 `quit` 를 눌러야 해요." -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "예상치 못한 오류 : `{}`" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/lol-US.po b/redbot/core/locales/lol-US.po index dc534d338..8fcaea1d3 100644 --- a/redbot/core/locales/lol-US.po +++ b/redbot/core/locales/lol-US.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: LOLCAT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,6 +16,14 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: lol_US\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." @@ -23,21 +31,16 @@ msgstr "" #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " msgstr "" #: redbot/core/cog_manager.py:343 @@ -50,10 +53,7 @@ msgstr "" #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 @@ -70,9 +70,7 @@ msgstr "Path removd." #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " msgstr "" #: redbot/core/cog_manager.py:392 @@ -89,12 +87,7 @@ msgstr "I haz reordered paths nao!" #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " msgstr "" #: redbot/core/cog_manager.py:420 @@ -107,1028 +100,1312 @@ msgstr "" #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" -msgstr "**I haz loaded {}:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" +msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" -msgstr "**I haz unloaded {}:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" +msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" msgstr "" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." msgstr "Meow :3" -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" msgstr "" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" msgstr "" -#: redbot/core/core_commands.py:349 -#, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 +#, docstring +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." msgstr "" -#: redbot/core/core_commands.py:388 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" +msgstr "disabld" + +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "enabld" + +#: redbot/core/core_commands.py:375 #, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " msgstr "" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." msgstr "" -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." msgstr "I haz {} embeds 4 dis guild." -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." msgstr "I haz {} embeds 4 u." -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:420 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" msgstr "" -#: redbot/core/core_commands.py:448 +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 #, docstring msgid "Show's Red's invite url" msgstr "" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" +msgstr "" + +#: redbot/core/core_commands.py:448 +#, docstring +msgid "\\n Define if the command should be accessible for the average users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" msgstr "" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "" + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" msgstr "" -#: redbot/core/core_commands.py:520 +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "" + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring msgid "Loads packages" msgstr "" -#: redbot/core/core_commands.py:552 +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring msgid "Unloads packages" msgstr "" -#: redbot/core/core_commands.py:570 +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring msgid "Reloads packages" msgstr "" -#: redbot/core/core_commands.py:594 +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring msgid "Shuts down the bot" msgstr "Shuts teh bot down" -#: redbot/core/core_commands.py:599 +#: redbot/core/core_commands.py:735 msgid "Shutting down... " msgstr "" -#: redbot/core/core_commands.py:605 +#: redbot/core/core_commands.py:741 #, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" msgstr "" -#: redbot/core/core_commands.py:612 +#: redbot/core/core_commands.py:748 msgid "Restarting..." msgstr "" -#: redbot/core/core_commands.py:617 +#: redbot/core/core_commands.py:753 #, docstring msgid "Changes Red's settings" msgstr "" -#: redbot/core/core_commands.py:649 -#, docstring -msgid "Sets the admin role for this server" +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" msgstr "" -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." -msgstr "I haz set admin role 4 guild." - -#: redbot/core/core_commands.py:657 -#, docstring -msgid "Sets the mod role for this server" +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" msgstr "" -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." -msgstr "I haz set mod role 4 guild." - -#: redbot/core/core_commands.py:665 +#: redbot/core/core_commands.py:795 #, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " +msgid "\\n Adds an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:674 +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." +msgstr "" + +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 +#, docstring +msgid "\\n Adds a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." +msgstr "" + +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 +#, docstring +msgid "\\n Removes an admin role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 msgid "The bot {} use its configured color for embeds." msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will not" msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will" msgstr "" -#: redbot/core/core_commands.py:683 +#: redbot/core/core_commands.py:865 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:691 +#: redbot/core/core_commands.py:873 msgid "Fuzzy command search has been {} for this server." msgstr "" -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "disabld" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "enabld" - -#: redbot/core/core_commands.py:699 +#: redbot/core/core_commands.py:881 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:707 +#: redbot/core/core_commands.py:889 msgid "Fuzzy command search has been {} in DMs." msgstr "" -#: redbot/core/core_commands.py:715 +#: redbot/core/core_commands.py:897 #, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " msgstr "" -#: redbot/core/core_commands.py:725 +#: redbot/core/core_commands.py:907 msgid "The color has been reset." msgstr "" -#: redbot/core/core_commands.py:728 +#: redbot/core/core_commands.py:910 msgid "The color has been set." msgstr "" -#: redbot/core/core_commands.py:733 +#: redbot/core/core_commands.py:915 #, docstring msgid "Sets Red's avatar" msgstr "" -#: redbot/core/core_commands.py:742 +#: redbot/core/core_commands.py:924 msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." msgstr "" -#: redbot/core/core_commands.py:749 +#: redbot/core/core_commands.py:931 msgid "JPG / PNG format only." msgstr "" -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 -msgid "Done." -msgstr "" - -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:939 #, docstring msgid "Sets Red's playing status" msgstr "" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "" -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" msgstr "" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." msgstr "" -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" msgstr "" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." msgstr "" -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "" -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" msgstr "" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" msgstr "" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "" -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" msgstr "" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "" -#: redbot/core/core_commands.py:890 -#, docstring -msgid "Sets Red's server prefix(es)" -msgstr "" - -#: redbot/core/core_commands.py:893 -msgid "Guild prefixes have been reset." -msgstr "" - -#: redbot/core/core_commands.py:902 -#, docstring -msgid "Sets Red's main owner" -msgstr "" - -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "" - -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "" - -#: redbot/core/core_commands.py:919 -msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." -msgstr "" - -#: redbot/core/core_commands.py:932 -msgid "The `{prefix}set owner` request has timed out." -msgstr "" - -#: redbot/core/core_commands.py:939 -msgid "You have been set as owner." -msgstr "" - -#: redbot/core/core_commands.py:941 -msgid "Invalid token." -msgstr "" - -#: redbot/core/core_commands.py:946 -#, docstring -msgid "Change bot token." -msgstr "" - -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" -msgstr "" - -#: redbot/core/core_commands.py:971 -#, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:982 -msgid "Locale has been set." -msgstr "" - -#: redbot/core/core_commands.py:987 -#, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." -msgstr "" - -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." -msgstr "" - -#: redbot/core/core_commands.py:1004 -#, docstring -msgid "Manage settings for the help command." -msgstr "" - -#: redbot/core/core_commands.py:1009 -#, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1020 -msgid "You must give a positive value!" -msgstr "" - -#: redbot/core/core_commands.py:1024 -msgid "Done. The character limit per page has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1028 -#, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1039 -msgid "You must give a value of zero or greater!" -msgstr "" - -#: redbot/core/core_commands.py:1043 -msgid "Done. The page limit has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1047 -#, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1055 -msgid "The tagline has been reset." -msgstr "" - -#: redbot/core/core_commands.py:1059 -msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." -msgstr "" - -#: redbot/core/core_commands.py:1067 -msgid "The tagline has been set to {}." -msgstr "" - #: redbot/core/core_commands.py:1072 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " +msgid "Sets Red's server prefix(es)" msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1075 +msgid "Guild prefixes have been reset." +msgstr "" + +#: redbot/core/core_commands.py:1084 +#, docstring +msgid "Sets Red's main owner" +msgstr "" + +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" + +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" + +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 +msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." +msgstr "" + +#: redbot/core/core_commands.py:1120 +msgid "The `{prefix}set owner` request has timed out." +msgstr "" + +#: redbot/core/core_commands.py:1127 +msgid "You have been set as owner." +msgstr "" + +#: redbot/core/core_commands.py:1129 +msgid "Invalid token." +msgstr "" + +#: redbot/core/core_commands.py:1134 +#, docstring +msgid "Change bot token." +msgstr "" + +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" +msgstr "" + +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 +#, docstring +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " +msgstr "" + +#: redbot/core/core_commands.py:1172 +msgid "Locale has been set." +msgstr "" + +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 +#, docstring +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " +msgstr "" + +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." +msgstr "" + +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." +msgstr "" + +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 +#, docstring +msgid "Manage settings for the help command." +msgstr "" + +#: redbot/core/core_commands.py:1228 +#, docstring +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 +msgid "You must give a positive value!" +msgstr "" + +#: redbot/core/core_commands.py:1317 +msgid "Done. The character limit per page has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1321 +#, docstring +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1332 +msgid "You must give a value of zero or greater!" +msgstr "" + +#: redbot/core/core_commands.py:1336 +msgid "Done. The page limit has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1340 +#, docstring +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1348 +msgid "The tagline has been reset." +msgstr "" + +#: redbot/core/core_commands.py:1352 +msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." +msgstr "" + +#: redbot/core/core_commands.py:1360 +msgid "The tagline has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1365 +#, docstring +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " +msgstr "" + +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." msgstr "" -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "" -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" msgstr "" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "" - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" msgstr "" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" msgstr "" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" msgstr "" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." msgstr "" -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." msgstr "" -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." msgstr "" -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" msgstr "" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" msgstr "" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" msgstr "" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "" - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "" -#: redbot/core/core_commands.py:1249 -#, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." msgstr "" -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1589 +#, docstring +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" +msgstr "" + +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "" -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" msgstr "" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" msgstr "" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" msgstr "" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" msgstr "" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " +msgid "Prints the bot's data path." msgstr "" -#: redbot/core/core_commands.py:1309 -#, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1652 +#, docstring +msgid "Shows debug information useful for debugging.." +msgstr "" + +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " +msgid "\\n Lists whitelisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " +msgid "\\n Removes user from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " +msgid "\\n Blacklist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" msgstr "" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " +msgid "\\n Lists blacklisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" msgstr "" -#: redbot/core/core_commands.py:1396 +#: redbot/core/core_commands.py:1799 #, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " +msgid "\\n Removes user from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1432 +#: redbot/core/core_commands.py:1826 #, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " +msgid "\\n Whitelist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" msgstr "" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." msgstr "" -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "" -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." msgstr "" -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "" -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "" -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "" -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." msgstr "" -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." msgstr "" -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." msgstr "" -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." msgstr "" -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." msgstr "" -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." msgstr "" -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 msgid "Not in list." msgstr "" -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" msgstr "" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" msgstr "" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "" -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "" -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/nl-NL.po b/redbot/core/locales/nl-NL.po index 6f4683d63..d3cf1bbf7 100644 --- a/redbot/core/locales/nl-NL.po +++ b/redbot/core/locales/nl-NL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,6 +16,14 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: nl_NL\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." @@ -23,27 +31,17 @@ msgstr "Commando's om te communiceren met Red's cog manager." #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " -msgstr "\n" -"Een lijst van huidige tandradpaden in volgorde van prioriteit.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " +msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" -msgstr "Pad installeren: {install_path} \n" -"Kernpad: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" +msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " -msgstr "\n" -" Voegt een pad toe aan de lijst met beschikbare cog paden.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " +msgstr "" #: redbot/core/cog_manager.py:343 msgid "That path does not exist or does not point to a valid directory." @@ -55,14 +53,8 @@ msgstr "Pad toegevoegd." #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " -msgstr "\n" -" Hiermee verwijder je een pad van de beschikbare cogs gegeven de path_number\n" -" van !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " +msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 msgid "Path numbers must be positive." @@ -78,12 +70,8 @@ msgstr "Pad verwijderd." #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " -msgstr "\n" -" Reorganiseer interne paden om toe te staan om alle cogs weer te geven. \n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " +msgstr "" #: redbot/core/cog_manager.py:392 msgid "Invalid 'from' index." @@ -99,17 +87,8 @@ msgstr "Paden opnieuw geordend." #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " -msgstr "\n" -" Retourneert het huidige installatiepad of stelt het in als er een wordt verstrekt. \n" -" Het opgegeven pad moet absoluut of relatief zijn ten opzichte van de directory van de bot en deze moet al bestaan.\n\n" -" Geen geïnstalleerde cog zal worden overgedragen in het proces.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " +msgstr "" #: redbot/core/cog_manager.py:420 msgid "That path does not exist." @@ -121,1053 +100,1312 @@ msgstr "De bot zal nieuwe cogs installeren naar de `{}` map." #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " -msgstr "\n" -"Alle geladen en beschikbare cogs weergeven.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " +msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" -msgstr "**{} geladen:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" +msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" -msgstr "**{} niet geladen:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" +msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" msgstr "Opdrachten met betrekking tot kernfuncties" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." msgstr "Pong." -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" msgstr "Laat informatie zien van de bot" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" msgstr "Laat de uptime zien van de bot" -#: redbot/core/core_commands.py:349 -#, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " -msgstr "\n" -" Opdrachten voor het in- of uitschakelen van embeds.\n\n" -" Deze instelling bepaalt of embeds moeten worden\n" -" gebruikt als reactie op een command (voor opdrachten\n" -" die dit ondersteunen). De standaardinstelling is om\n" -" instortvoorzieningen te gebruiken.\n" -" " +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" +msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " -msgstr "\n" -"Globale embedinstelling in- of uitschakelen.\n\n" -"Dit wordt gebruikt als terugval als de gebruiker of server geen voorkeur heeft ingesteld. \n" -"Embeds staan standaard aan. " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " +msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 +#, docstring +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." msgstr "Embeds zijn nu standaard {}." -#: redbot/core/core_commands.py:388 -#, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " -msgstr "\n" -"Schakel de server's embed instelling in- of uit.\n\n" -"Als niet ingeschakeld, zal de instelling ontdaan worden en \n" -"zal in plaats daarvan de globale standaard gebruikt worden.\n" -"Als ingesteld, zal dit gebruikt worden in plaats van de globale standaard\n" -"om te determineren of embeds gebruikt moeten worden. Dit wordt \n" -"gebruikt voor alle commando's uitgevoerd binnen een server kanaal op het help commando na. " +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" +msgstr "de-activeren" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "activeren" + +#: redbot/core/core_commands.py:375 +#, docstring +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." msgstr "Embeds zullen nu weer de globale instellingen gebruiken." -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." msgstr "Embeds zijn nu {} voor deze server." -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " -msgstr "\n" -"Schakel de gebruikers embed instelling in- of uit.\n" -"Als niet ingeschakeld, zal de instelling ongedaan worden gemaakt en\n" -"zal in plaats daarvan de globale standaard gebruikt worden.\n" -"Als ingesteld, zal dit gebruikt worden in plaats van de globale standaard\n" -"om uit te maken of embeds gerbuikt moeten worden. Dit wordt \n" -"gebruikt voor alle commando's uitgevoerd in een PM met de bot, net \n" -"als alle hulp commando's overal. " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " +msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." msgstr "Insluitingen zijn nu {} voor u." -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:420 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" msgstr "" -#: redbot/core/core_commands.py:448 +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 #, docstring msgid "Show's Red's invite url" msgstr "Laat de uitnodigingsurl zien" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" +msgstr "" + +#: redbot/core/core_commands.py:448 +#, docstring +msgid "\\n Define if the command should be accessible for the average users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" msgstr "Verlaat server" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "" + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" msgstr "" -#: redbot/core/core_commands.py:520 +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "Klaar." + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring msgid "Loads packages" msgstr "Laad pakketten" -#: redbot/core/core_commands.py:552 +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring msgid "Unloads packages" msgstr "Hiermee verwijdert u pakketten" -#: redbot/core/core_commands.py:570 +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring msgid "Reloads packages" msgstr "Laadt pakketten opnieuw" -#: redbot/core/core_commands.py:594 +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring msgid "Shuts down the bot" msgstr "Sluit de bot af" -#: redbot/core/core_commands.py:599 +#: redbot/core/core_commands.py:735 msgid "Shutting down... " msgstr "Afsluiten... " -#: redbot/core/core_commands.py:605 +#: redbot/core/core_commands.py:741 #, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" msgstr "" -#: redbot/core/core_commands.py:612 +#: redbot/core/core_commands.py:748 msgid "Restarting..." msgstr "Herstarten..." -#: redbot/core/core_commands.py:617 +#: redbot/core/core_commands.py:753 #, docstring msgid "Changes Red's settings" msgstr "Bewerk de instellingen van de bot" -#: redbot/core/core_commands.py:649 -#, docstring -msgid "Sets the admin role for this server" +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" msgstr "" -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." -msgstr "De admin rol voor deze server is opgeslagen." - -#: redbot/core/core_commands.py:657 -#, docstring -msgid "Sets the mod role for this server" +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" msgstr "" -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." -msgstr "De mod rol voor deze server is opgeslagen." - -#: redbot/core/core_commands.py:665 +#: redbot/core/core_commands.py:795 #, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " +msgid "\\n Adds an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:674 +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." +msgstr "" + +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 +#, docstring +msgid "\\n Adds a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." +msgstr "" + +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 +#, docstring +msgid "\\n Removes an admin role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 msgid "The bot {} use its configured color for embeds." msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will not" msgstr "zal niet" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will" msgstr "zal" -#: redbot/core/core_commands.py:683 +#: redbot/core/core_commands.py:865 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:691 +#: redbot/core/core_commands.py:873 msgid "Fuzzy command search has been {} for this server." msgstr "" -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "de-activeren" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "activeren" - -#: redbot/core/core_commands.py:699 +#: redbot/core/core_commands.py:881 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:707 +#: redbot/core/core_commands.py:889 msgid "Fuzzy command search has been {} in DMs." msgstr "" -#: redbot/core/core_commands.py:715 +#: redbot/core/core_commands.py:897 #, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " msgstr "" -#: redbot/core/core_commands.py:725 +#: redbot/core/core_commands.py:907 msgid "The color has been reset." msgstr "" -#: redbot/core/core_commands.py:728 +#: redbot/core/core_commands.py:910 msgid "The color has been set." msgstr "" -#: redbot/core/core_commands.py:733 +#: redbot/core/core_commands.py:915 #, docstring msgid "Sets Red's avatar" msgstr "" -#: redbot/core/core_commands.py:742 +#: redbot/core/core_commands.py:924 msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." msgstr "Fout. Je kunt je avatar maar twee keer per uur veranderen. De URL moet een directe link zijn naar een JPG / PNG bestand." -#: redbot/core/core_commands.py:749 +#: redbot/core/core_commands.py:931 msgid "JPG / PNG format only." msgstr "Je kan alleen het JPG / PNG formaat gebruiken." -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 -msgid "Done." -msgstr "Klaar." - -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:939 #, docstring msgid "Sets Red's playing status" msgstr "" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "Spel opgeslagen." -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" msgstr "" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." msgstr "Luisterstatus ingesteld." -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" msgstr "" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." msgstr "Kijkstatus ingesteld." -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "Status veranderd naar {}." -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" msgstr "" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "Kon de gebruikersnaam niet veranderen. Je kunt maximaal twee keer per uur je naam veranderen. Gebruik nicknames als je het vaak moet veranderen met `{}set nickname`" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" msgstr "" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "Ik heb niet de juiste bevoegdheden om mijn nickname te veranderen." -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" msgstr "" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "Prefix opgeslagen." -#: redbot/core/core_commands.py:890 +#: redbot/core/core_commands.py:1072 #, docstring msgid "Sets Red's server prefix(es)" msgstr "" -#: redbot/core/core_commands.py:893 +#: redbot/core/core_commands.py:1075 msgid "Guild prefixes have been reset." msgstr "Server prefixes zijn gereset." -#: redbot/core/core_commands.py:902 +#: redbot/core/core_commands.py:1084 #, docstring msgid "Sets Red's main owner" msgstr "" -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "\n" -"Verificatietoken:" +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "Onthoud:\n" +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" -#: redbot/core/core_commands.py:919 +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." msgstr "Ik heb een eenmalig bruikbare token in de tekstterminal geplaatst. Kopieer en plak deze naar dit tekstkanaal om te bevestigen dat je de eigenaar bent." -#: redbot/core/core_commands.py:932 +#: redbot/core/core_commands.py:1120 msgid "The `{prefix}set owner` request has timed out." msgstr "" -#: redbot/core/core_commands.py:939 +#: redbot/core/core_commands.py:1127 msgid "You have been set as owner." msgstr "Je bent nu de eigenaar." -#: redbot/core/core_commands.py:941 +#: redbot/core/core_commands.py:1129 msgid "Invalid token." msgstr "Ongeldige token." -#: redbot/core/core_commands.py:946 +#: redbot/core/core_commands.py:1134 #, docstring msgid "Change bot token." msgstr "" -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" msgstr "" -#: redbot/core/core_commands.py:971 +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 #, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " msgstr "" -#: redbot/core/core_commands.py:982 +#: redbot/core/core_commands.py:1172 msgid "Locale has been set." msgstr "Taal is veranderd." -#: redbot/core/core_commands.py:987 +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 #, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " msgstr "" -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." msgstr "" -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." msgstr "" -#: redbot/core/core_commands.py:1004 +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 #, docstring msgid "Manage settings for the help command." msgstr "" -#: redbot/core/core_commands.py:1009 +#: redbot/core/core_commands.py:1228 #, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " msgstr "" -#: redbot/core/core_commands.py:1020 +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 msgid "You must give a positive value!" msgstr "" -#: redbot/core/core_commands.py:1024 +#: redbot/core/core_commands.py:1317 msgid "Done. The character limit per page has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1028 +#: redbot/core/core_commands.py:1321 #, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " msgstr "" -#: redbot/core/core_commands.py:1039 +#: redbot/core/core_commands.py:1332 msgid "You must give a value of zero or greater!" msgstr "" -#: redbot/core/core_commands.py:1043 +#: redbot/core/core_commands.py:1336 msgid "Done. The page limit has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1047 +#: redbot/core/core_commands.py:1340 #, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " msgstr "" -#: redbot/core/core_commands.py:1055 +#: redbot/core/core_commands.py:1348 msgid "The tagline has been reset." msgstr "" -#: redbot/core/core_commands.py:1059 +#: redbot/core/core_commands.py:1352 msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." msgstr "" -#: redbot/core/core_commands.py:1067 +#: redbot/core/core_commands.py:1360 msgid "The tagline has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1072 +#: redbot/core/core_commands.py:1365 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." msgstr "" -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "" -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" msgstr "" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "" - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" msgstr "" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" msgstr "" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" msgstr "" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." msgstr "" -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." msgstr "" -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." msgstr "" -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" msgstr "" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" msgstr "" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "met een persoonlijk bericht" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "van {}" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" msgstr "" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "Gebruik `{}dm {} ` om te reageren op deze gebruiker" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "Verzonden door {} {}" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" -msgstr "Dit bericht kan ik niet versturen. Het lijkt erop dat ik mijn eigenaar niet kan vinden... *zucht*" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." +msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "Ik kan dit bericht niet afleveren." - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "Je bericht is verzonden." -#: redbot/core/core_commands.py:1249 +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." +msgstr "Ik kan dit bericht niet afleveren." + +#: redbot/core/core_commands.py:1589 #, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" msgstr "" -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "Ongeldig ID of gebruiker niet gevonden. Je kan alleen berichten sturen naar mensen die ik ken van een server." -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" msgstr "" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" msgstr "" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" msgstr "" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" msgstr "" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " +msgid "Prints the bot's data path." msgstr "" -#: redbot/core/core_commands.py:1309 -#, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1652 +#, docstring +msgid "Shows debug information useful for debugging.." +msgstr "" + +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." msgstr "Gebruiker aan witte lijst toegevoegd." -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " +msgid "\\n Lists whitelisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "Gebruikers op de witte lijst:" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " +msgid "\\n Removes user from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "Gebruiker is verwijderd van de witte lijst." -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "Gebruiker stond niet op de witte lijst." -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." msgstr "Witte lijst is gewist." -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " +msgid "\\n Blacklist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" msgstr "Je kan de eigenaar niet op de zwarte lijst zetten!" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "Gebruiker aan zwarte lijst toegevoegd." -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " +msgid "\\n Lists blacklisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" -msgstr "Gebruikers op de zwarte lijst:" - -#: redbot/core/core_commands.py:1396 -#, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1799 +#, docstring +msgid "\\n Removes user from blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "Gebruiker is verwijderd van de zwarte lijst." -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "Gebruiker stond niet op de zwarte lijst." -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." -msgstr "de zwarte lijst is gewist." - -#: redbot/core/core_commands.py:1432 -#, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1826 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" msgstr "" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." msgstr "" -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "" -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." msgstr "" -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "" -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "" -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "" -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." msgstr "" -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." msgstr "" -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." msgstr "" -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." msgstr "Die command is al geactiveerd in deze server." -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." msgstr "" -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." msgstr "" -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 msgid "Not in list." msgstr "" -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" msgstr "" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" msgstr "" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "Er is al een REPL sessie gaande in dit kanaal. Stop deze met `quit`." -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "Voer code in om dit uit te voeren. `exit()` of `quit` to om te stoppen." -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "Onverwachte fout: `{}`" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." -msgstr "Command * {command_name} * heeft geen subopdrachten." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" +msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." -msgstr "Command * {command_name} * niet gevonden." +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" +msgstr "" diff --git a/redbot/core/locales/no-NO.po b/redbot/core/locales/no-NO.po index a53d65cf4..497a825c7 100644 --- a/redbot/core/locales/no-NO.po +++ b/redbot/core/locales/no-NO.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Norwegian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,33 +16,36 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: no_NO\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." -msgstr "" +msgstr "Kommandoer for å kommunisere med Red sin cog manager." #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " msgstr "" #: redbot/core/cog_manager.py:343 msgid "That path does not exist or does not point to a valid directory." -msgstr "" +msgstr "Banen eksisterer ikke eller peker ikke til en gyldig mappe." #: redbot/core/cog_manager.py:351 msgid "Path successfully added." @@ -50,15 +53,12 @@ msgstr "Banen er lagt til." #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 msgid "Path numbers must be positive." -msgstr "" +msgstr "Bane nummeret må være positivt." #: redbot/core/cog_manager.py:369 msgid "That is an invalid path number." @@ -70,9 +70,7 @@ msgstr "Banen ble fjernet." #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " msgstr "" #: redbot/core/cog_manager.py:392 @@ -89,12 +87,7 @@ msgstr "Baner forandret." #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " msgstr "" #: redbot/core/cog_manager.py:420 @@ -107,1029 +100,1312 @@ msgstr "Bot'en vil installere nye cogs til \"{}\" mappen." #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" -msgstr "" +msgstr "Kommandoer relatert til kjerne funksjoner" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." -msgstr "" +msgstr "Pong." -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" +msgstr "Viser info om Red" + +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" msgstr "" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" +msgstr "Viser Red sin oppetid" + +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" msgstr "" -#: redbot/core/core_commands.py:349 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." -msgstr "" +msgstr "Embeder er nå {} som standard." -#: redbot/core/core_commands.py:388 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" +msgstr "skrudd av" + +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "skrudd på" + +#: redbot/core/core_commands.py:375 #, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " msgstr "" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." -msgstr "" +msgstr "Embeder vil nå bruke globale instillinger." -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." -msgstr "" +msgstr "Embeder er nå {} for denne guilden." -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." +msgstr "Embeder er nå {} for deg." + +#: redbot/core/core_commands.py:420 +#, docstring +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" msgstr "" -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" +msgid "Show's Red's invite url" +msgstr "Viser Red sin invitasjon url" + +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" msgstr "" #: redbot/core/core_commands.py:448 #, docstring -msgid "Show's Red's invite url" +msgid "\\n Define if the command should be accessible for the average users.\\n " msgstr "" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" +msgstr "Forlater server" + +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" msgstr "" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "" + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" +msgstr "Lister og gir lov til å forlate server" + +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." msgstr "" -#: redbot/core/core_commands.py:520 +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "Ferdig." + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring msgid "Loads packages" +msgstr "Laster pakker" + +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." msgstr "" -#: redbot/core/core_commands.py:552 +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring msgid "Unloads packages" +msgstr "Utlaster pakker" + +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." msgstr "" -#: redbot/core/core_commands.py:570 +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring msgid "Reloads packages" +msgstr "Omlaster pakker" + +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." msgstr "" -#: redbot/core/core_commands.py:594 +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring msgid "Shuts down the bot" -msgstr "" +msgstr "Skrur av botten" -#: redbot/core/core_commands.py:599 +#: redbot/core/core_commands.py:735 msgid "Shutting down... " msgstr "Slår av... " -#: redbot/core/core_commands.py:605 +#: redbot/core/core_commands.py:741 #, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" msgstr "" -#: redbot/core/core_commands.py:612 +#: redbot/core/core_commands.py:748 msgid "Restarting..." -msgstr "" +msgstr "Restarter..." -#: redbot/core/core_commands.py:617 +#: redbot/core/core_commands.py:753 #, docstring msgid "Changes Red's settings" +msgstr "Endrer Red sine instillinger" + +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" msgstr "" -#: redbot/core/core_commands.py:649 +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" +msgstr "" + +#: redbot/core/core_commands.py:795 #, docstring -msgid "Sets the admin role for this server" +msgid "\\n Adds an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." -msgstr "Administrator rollen for denne gruppen er satt." +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." +msgstr "" -#: redbot/core/core_commands.py:657 +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 #, docstring -msgid "Sets the mod role for this server" +msgid "\\n Adds a mod role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." -msgstr "Moderator rollen for denne gruppen er blitt satt." +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." +msgstr "" -#: redbot/core/core_commands.py:665 +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 #, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " +msgid "\\n Removes an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:674 +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 msgid "The bot {} use its configured color for embeds." -msgstr "" +msgstr "Botten {} bruke konfigurerte farger for embeder." -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will not" -msgstr "" +msgstr "vil ikke" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will" -msgstr "" +msgstr "vil" -#: redbot/core/core_commands.py:683 +#: redbot/core/core_commands.py:865 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:691 +#: redbot/core/core_commands.py:873 msgid "Fuzzy command search has been {} for this server." -msgstr "" +msgstr "Fuzzy kommando søking har blitt {} for denne serveren." -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "" - -#: redbot/core/core_commands.py:699 +#: redbot/core/core_commands.py:881 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:707 +#: redbot/core/core_commands.py:889 msgid "Fuzzy command search has been {} in DMs." -msgstr "" +msgstr "Fuzzy kommando søking har blitt {} i DMer." -#: redbot/core/core_commands.py:715 +#: redbot/core/core_commands.py:897 #, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " msgstr "" -#: redbot/core/core_commands.py:725 +#: redbot/core/core_commands.py:907 msgid "The color has been reset." msgstr "" -#: redbot/core/core_commands.py:728 +#: redbot/core/core_commands.py:910 msgid "The color has been set." msgstr "" -#: redbot/core/core_commands.py:733 +#: redbot/core/core_commands.py:915 #, docstring msgid "Sets Red's avatar" msgstr "" -#: redbot/core/core_commands.py:742 +#: redbot/core/core_commands.py:924 msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." msgstr "Mislyktes. Husk at du kan redigere avataren opptil to ganger i timen. URL-adressen må være en direkte kobling til JPG / PNG." -#: redbot/core/core_commands.py:749 +#: redbot/core/core_commands.py:931 msgid "JPG / PNG format only." msgstr "Bare JPG / PNG format." -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 -msgid "Done." -msgstr "Ferdig." - -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:939 #, docstring msgid "Sets Red's playing status" msgstr "" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "Spillet er satt." -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" msgstr "" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." msgstr "" -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" msgstr "" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." msgstr "" -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "" -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" msgstr "" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "Kan ikke endre navnet. Husk at du kan bare gjøre det opptil 2 ganger i timen. Bruk kallenavn hvis du trenger hyppige endringer. \"{} sett kallenavn\"" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" msgstr "" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "Jeg mangler tillatelse til å endre mitt eget kallenavn." -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" msgstr "" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "Prefiks satt." -#: redbot/core/core_commands.py:890 +#: redbot/core/core_commands.py:1072 #, docstring msgid "Sets Red's server prefix(es)" msgstr "" -#: redbot/core/core_commands.py:893 +#: redbot/core/core_commands.py:1075 msgid "Guild prefixes have been reset." msgstr "Gruppe prefikser er tilbakestilt." -#: redbot/core/core_commands.py:902 +#: redbot/core/core_commands.py:1084 #, docstring msgid "Sets Red's main owner" msgstr "" -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "\n" -"Kontrolltoken:" +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "Husk:\n" +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" -#: redbot/core/core_commands.py:919 +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." msgstr "Jeg har skrevet et engangspassord i konsollen. Kopier og lim det her for å bekrefte at du er eieren." -#: redbot/core/core_commands.py:932 +#: redbot/core/core_commands.py:1120 msgid "The `{prefix}set owner` request has timed out." msgstr "" -#: redbot/core/core_commands.py:939 +#: redbot/core/core_commands.py:1127 msgid "You have been set as owner." msgstr "Du er angitt som eier." -#: redbot/core/core_commands.py:941 +#: redbot/core/core_commands.py:1129 msgid "Invalid token." msgstr "Ugyldig nøkkel." -#: redbot/core/core_commands.py:946 +#: redbot/core/core_commands.py:1134 #, docstring msgid "Change bot token." msgstr "" -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" msgstr "" -#: redbot/core/core_commands.py:971 +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 #, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " msgstr "" -#: redbot/core/core_commands.py:982 +#: redbot/core/core_commands.py:1172 msgid "Locale has been set." msgstr "Lokale innstillinger er angitt." -#: redbot/core/core_commands.py:987 +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 #, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " msgstr "" -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." msgstr "" -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." msgstr "" -#: redbot/core/core_commands.py:1004 +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 #, docstring msgid "Manage settings for the help command." msgstr "" -#: redbot/core/core_commands.py:1009 +#: redbot/core/core_commands.py:1228 #, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " msgstr "" -#: redbot/core/core_commands.py:1020 +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 msgid "You must give a positive value!" msgstr "" -#: redbot/core/core_commands.py:1024 +#: redbot/core/core_commands.py:1317 msgid "Done. The character limit per page has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1028 +#: redbot/core/core_commands.py:1321 #, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " msgstr "" -#: redbot/core/core_commands.py:1039 +#: redbot/core/core_commands.py:1332 msgid "You must give a value of zero or greater!" msgstr "" -#: redbot/core/core_commands.py:1043 +#: redbot/core/core_commands.py:1336 msgid "Done. The page limit has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1047 +#: redbot/core/core_commands.py:1340 #, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " msgstr "" -#: redbot/core/core_commands.py:1055 +#: redbot/core/core_commands.py:1348 msgid "The tagline has been reset." msgstr "" -#: redbot/core/core_commands.py:1059 +#: redbot/core/core_commands.py:1352 msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." msgstr "" -#: redbot/core/core_commands.py:1067 +#: redbot/core/core_commands.py:1360 msgid "The tagline has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1072 +#: redbot/core/core_commands.py:1365 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." msgstr "" -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "" -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" msgstr "" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "" - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" msgstr "" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" msgstr "" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" msgstr "" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." msgstr "" -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." msgstr "" -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." msgstr "" -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" msgstr "" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" msgstr "" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "gjennom DM" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "fra {}" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" msgstr "" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "Bruk '{} dm {} ' for å svare denne brukeren" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "Sendt av {} {}" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" -msgstr "Jeg kan ikke sende meldingen, jeg kan ikke finne eieren min... * sukk *" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." +msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "Jeg klarer ikke å levere meldingen. Unnskyld." - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "Din melding har blitt sendt." -#: redbot/core/core_commands.py:1249 +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." +msgstr "Jeg klarer ikke å levere meldingen. Unnskyld." + +#: redbot/core/core_commands.py:1589 #, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" msgstr "" -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "Ugyldig ID eller brukeren ble ikke funnet. Du kan bare sende meldinger til personer jeg deler en server med." -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" msgstr "" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" msgstr "" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" msgstr "" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" msgstr "" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " +msgid "Prints the bot's data path." msgstr "" -#: redbot/core/core_commands.py:1309 -#, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1652 +#, docstring +msgid "Shows debug information useful for debugging.." +msgstr "" + +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " +msgid "\\n Lists whitelisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " +msgid "\\n Removes user from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " +msgid "\\n Blacklist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" msgstr "" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " +msgid "\\n Lists blacklisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" msgstr "" -#: redbot/core/core_commands.py:1396 +#: redbot/core/core_commands.py:1799 #, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " +msgid "\\n Removes user from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1432 +#: redbot/core/core_commands.py:1826 #, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " +msgid "\\n Whitelist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" msgstr "" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." msgstr "" -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "" -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." msgstr "" -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "" -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "" -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "" -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." msgstr "" -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." msgstr "" -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." msgstr "" -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." msgstr "" -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." msgstr "" -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." msgstr "" -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 msgid "Not in list." msgstr "" -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" msgstr "" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" msgstr "" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "Kjører allerede en REPL økt i denne kanalen. Avslutt den med \"avslutt\"." -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "Angi koden for å kjøre eller evaluere. \"exit()\" eller \"slutte\" for å avslutte." -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "Uventet feil: \"{}\"" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/pl-PL.po b/redbot/core/locales/pl-PL.po index c7fe7c477..8459b833f 100644 --- a/redbot/core/locales/pl-PL.po +++ b/redbot/core/locales/pl-PL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,6 +16,14 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: pl_PL\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." @@ -23,25 +31,17 @@ msgstr "Komendy dla interfejsu menedżera cogów dla Reda." #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " -msgstr "\n" -"Wyświetla listę bieżących ścieżek cogów w kolejności ważności. " +msgid "\\n Lists current cog paths in order of priority.\\n " +msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" -msgstr "Ścieżka instalacji: {install_path}\n" -"Ścieżka rdzenia: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" +msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " -msgstr "\n" -"Dodaj ścieżkę do listy dostępnych ścieżek cogów. " +msgid "\\n Add a path to the list of available cog paths.\\n " +msgstr "" #: redbot/core/cog_manager.py:343 msgid "That path does not exist or does not point to a valid directory." @@ -53,17 +53,12 @@ msgstr "Ścieżka dodana pomyślnie." #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " -msgstr "\n" -"Usuń ścieżkę z listy dostępnych ścieżek cogów z podanym path_number\n" -"z !paths " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " +msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 msgid "Path numbers must be positive." -msgstr "" +msgstr "Liczby w ścieżce muszą być dodatnie." #: redbot/core/cog_manager.py:369 msgid "That is an invalid path number." @@ -75,11 +70,8 @@ msgstr "Ścieżka usunięta pomyślnie." #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " -msgstr "\n" -"Ponownie porządkuje ścieżki wewnętrznie, by umożliwić odkrycie innych cogów. " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " +msgstr "" #: redbot/core/cog_manager.py:392 msgid "Invalid 'from' index." @@ -95,16 +87,8 @@ msgstr "Kolejność ścieżek zmieniona." #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " -msgstr "\n" -"Zwraca obecną ścieżkę instalacji lub ją ustawia jeśli została podana.\n" -"Podana ścieżka musi być absolutna lub relatywna do ścieżki bota i musi już istnieć.\n\n" -"Żadne zainstalowane cogi nie zostaną przeniesione przy zmianie ścieżki. " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " +msgstr "" #: redbot/core/cog_manager.py:420 msgid "That path does not exist." @@ -116,1114 +100,1312 @@ msgstr "Bot będzie instalować nowe rozszerzenia w katalogu `{}`." #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " -msgstr "\n" -"Wyświetla wszystkie załadowane i dostępne cogi. " +msgid "\\n Lists all loaded and available cogs.\\n " +msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" -msgstr "**{} załadowanych:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" +msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" -msgstr "**{} niezaładowanych:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" +msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" msgstr "Komendy związane z wbudowanymi funkcjami" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." msgstr "Pong." -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" msgstr "Pokazuje informacje o Redzie" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" msgstr "Pokazuje czas działania Reda" -#: redbot/core/core_commands.py:349 -#, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " -msgstr "\n" -"Komendy do włączania i wyłączania embedów.\n\n" -"To ustawienia określa czy bot ma\n" -"używać embedów jako odpowiedzi\n" -"dla komendy (dla komend, które je obsługują).\n" -"Domyślnie embedy są włączone. " +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" +msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " -msgstr "\n" -"Przełącz globalne ustawienie embedów.\n\n" -"Jest ono używane, jeśli użytkownik\n" -"lub gildia nie ustawiła swoich preferencji.\n" -"Domyślnie bot używa embedów. " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " +msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 +#, docstring +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." msgstr "Embedy są teraz domyślnie {}." -#: redbot/core/core_commands.py:388 -#, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " -msgstr "\n" -"Przełącz ustawienie embedów dla gildii.\n\n" -"Jeśli enabled ma wartość None, ustawienie zostanie usunięte\n" -"i ustawienie domyślne globalnie będzie używane zamiast niego.\n\n" -"Jeśli ustawione, jest ono używane zamiast\n" -"ustawienia domyślnego globalnie\n" -"by zdecydować, czy używać embedów. \n" -"Jest ono używane dla wszystkich komend\n" -"w kanale gildii poza komendami pomocy. " +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" +msgstr "wyłączone" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "włączone" + +#: redbot/core/core_commands.py:375 +#, docstring +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." msgstr "Embedy będą teraz używać globalnego ustawienia." -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." msgstr "Embedy są teraz {} dla tej gildii." -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " -msgstr "\n" -"Przełącz ustawienie embedów użytkownika\n\n" -"Jeśli enabled ma wartość None, ustawienie zostanie usunięte\n" -"i ustawienie domyślne globalnie będzie używane zamiast niego.\n\n" -"Jeśli ustawione, jest ono używane zamiast\n" -"ustawienia domyślnego globalnie\n" -"by zdecydować, czy używać embedów. \n" -"Jest ono używane dla wszystkich komend\n" -"w kanale gildii poza komendami pomocy. " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " +msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." msgstr "Embedy są teraz {} dla Ciebie." -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:420 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" -msgstr "Wysyła do właściciela ostatni błąd komendy jaki wystąpił\n\n" -"Jeśli public (ustawiony jest na yes), zostanie zamiast tego wysłana na czacie" +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" +msgstr "" -#: redbot/core/core_commands.py:448 +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 #, docstring msgid "Show's Red's invite url" msgstr "Pokazuje link zaproszenia Reda" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" +msgstr "" + +#: redbot/core/core_commands.py:448 +#, docstring +msgid "\\n Define if the command should be accessible for the average users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" msgstr "Opuszcza serwer" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "Przekroczono limit czasu odpowiedzi." + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" msgstr "Wyświetla serwery i pozwala je opuścić" -#: redbot/core/core_commands.py:520 +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "Gotowe." + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring msgid "Loads packages" msgstr "Ładuje pakiety" -#: redbot/core/core_commands.py:552 +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring msgid "Unloads packages" msgstr "" -#: redbot/core/core_commands.py:570 +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring msgid "Reloads packages" msgstr "Przeładowuje pakiety" -#: redbot/core/core_commands.py:594 +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring msgid "Shuts down the bot" msgstr "Wyłącza bota" -#: redbot/core/core_commands.py:599 +#: redbot/core/core_commands.py:735 msgid "Shutting down... " msgstr "Wyłączanie... " -#: redbot/core/core_commands.py:605 +#: redbot/core/core_commands.py:741 #, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" -msgstr "Próbuje zrestartować Reda\n\n" -"Sprawia, że Red wyłącza się z exit codem 26\n" -"Restart nie jest gwarantowany,\n" -"musi być obsłużony przez menedżer zadań w użyciu" +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" +msgstr "" -#: redbot/core/core_commands.py:612 +#: redbot/core/core_commands.py:748 msgid "Restarting..." msgstr "Restartowanie..." -#: redbot/core/core_commands.py:617 +#: redbot/core/core_commands.py:753 #, docstring msgid "Changes Red's settings" msgstr "Zmienia ustawienia Reda" -#: redbot/core/core_commands.py:649 +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" +msgstr "" + +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" +msgstr "" + +#: redbot/core/core_commands.py:795 #, docstring -msgid "Sets the admin role for this server" -msgstr "Określa rolę administratora dla tego serwera" +msgid "\\n Adds an admin role for this guild.\\n " +msgstr "" -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." -msgstr "Rola administratora dla tej gildii została ustawiona." +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." +msgstr "" -#: redbot/core/core_commands.py:657 +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 #, docstring -msgid "Sets the mod role for this server" -msgstr "Określa rolę moderatora dla tego serwera" +msgid "\\n Adds a mod role for this guild.\\n " +msgstr "" -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." -msgstr "Rola moderatora dla tej gildii została ustawiona." +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." +msgstr "" -#: redbot/core/core_commands.py:665 +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 #, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " -msgstr "\n" -"Przełącz aby używać skonfigurowanego przez właściciela bota koloru dla embedów.\n\n" -"Domyślnie nie używa się skonfigurowanego koloru bota,\n" -"w takim przypadku używanym kolorem jest kolor najwyższej roli bota. " +msgid "\\n Removes an admin role for this guild.\\n " +msgstr "" -#: redbot/core/core_commands.py:674 +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 msgid "The bot {} use its configured color for embeds." msgstr "Bot {} używał swojego skonfigurowanego koloru dla embedów." -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will not" msgstr "nie będzie" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will" msgstr "będzie" -#: redbot/core/core_commands.py:683 +#: redbot/core/core_commands.py:865 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:691 +#: redbot/core/core_commands.py:873 msgid "Fuzzy command search has been {} for this server." msgstr "" -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "wyłączone" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "włączone" - -#: redbot/core/core_commands.py:699 +#: redbot/core/core_commands.py:881 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:707 +#: redbot/core/core_commands.py:889 msgid "Fuzzy command search has been {} in DMs." msgstr "" -#: redbot/core/core_commands.py:715 +#: redbot/core/core_commands.py:897 #, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " -msgstr "\n" -"Ustawia domyślny kolor używany dla embedów stworzonych przez bota.\n\n" -"Akceptowane wartości można znaleźć na stronie:\n\n" -"http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter " +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " +msgstr "" -#: redbot/core/core_commands.py:725 +#: redbot/core/core_commands.py:907 msgid "The color has been reset." msgstr "Kolor został zresetowany." -#: redbot/core/core_commands.py:728 +#: redbot/core/core_commands.py:910 msgid "The color has been set." msgstr "Kolor został ustawiony." -#: redbot/core/core_commands.py:733 +#: redbot/core/core_commands.py:915 #, docstring msgid "Sets Red's avatar" msgstr "Ustawia awatar Reda" -#: redbot/core/core_commands.py:742 +#: redbot/core/core_commands.py:924 msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." msgstr "Nie powiodło się. Pamiętaj, że możesz edytowac mój awatar dwa razy w ciągu godziny. Adres URL musi być bezpośrednim linkiem do pliku JPG / PNG." -#: redbot/core/core_commands.py:749 +#: redbot/core/core_commands.py:931 msgid "JPG / PNG format only." msgstr "Tylko formaty JPG / PNG." -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 -msgid "Done." -msgstr "Gotowe." - -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:939 #, docstring msgid "Sets Red's playing status" msgstr "Ustawia status \"W grze\" dla Reda" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "Gra ustawiona." -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" msgstr "Ustawia status \"Słucha\" dla Reda" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." msgstr "Słuchanie ustawione." -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" msgstr "Ustawia status \"Ogląda\" dla Reda" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." msgstr "Oglądanie ustawione." -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " -msgstr "Ustawia status Reda\n\n" -"Dostępne statusy:\n" -"online\n" -"idle\n" -"dnd\n" -"invisible " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " +msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "Status zmieniony na %s." -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." -msgstr "Ustawia status \"Na żywo\" dla Reda\n" -"Pozostawienie argumentów streamer i stream_title pustych usunie status." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." +msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" msgstr "Ustawia nazwę użytkownika Reda" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "Nie udało się zmienić nazwy. Pamiętaj, że możesz to robić dwa razy w ciągu godziny. Używaj pseudonimów jeśli potrzebujesz częstych zmian. `{}set nickname`" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" msgstr "Ustawia pseudonim Reda" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "Nie mam uprawnień do zmiany mojego pseudonimu." -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" msgstr "Ustawia globalny(e) prefix(y) Reda" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "Prefiks ustawiony." -#: redbot/core/core_commands.py:890 +#: redbot/core/core_commands.py:1072 #, docstring msgid "Sets Red's server prefix(es)" msgstr "Ustawia serwerowy(e) prefix(y) Reda" -#: redbot/core/core_commands.py:893 +#: redbot/core/core_commands.py:1075 msgid "Guild prefixes have been reset." msgstr "Prefiksy gildii zostały zresetowane." -#: redbot/core/core_commands.py:902 +#: redbot/core/core_commands.py:1084 #, docstring msgid "Sets Red's main owner" msgstr "Ustaw głównego właściciela Reda" -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "\n" -"Kod weryfikacyjny:" +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "Zapamiętaj:\n" +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" -#: redbot/core/core_commands.py:919 +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." msgstr "Wydrukowałem jednorazowy token w konsoli. Skopiuj i wklej go tutaj, by potwierdzić, że jesteś właścicielem." -#: redbot/core/core_commands.py:932 +#: redbot/core/core_commands.py:1120 msgid "The `{prefix}set owner` request has timed out." msgstr "" -#: redbot/core/core_commands.py:939 +#: redbot/core/core_commands.py:1127 msgid "You have been set as owner." msgstr "Zostałeś ustawiony jako właściciel." -#: redbot/core/core_commands.py:941 +#: redbot/core/core_commands.py:1129 msgid "Invalid token." msgstr "Nieprawidłowy kod." -#: redbot/core/core_commands.py:946 +#: redbot/core/core_commands.py:1134 #, docstring msgid "Change bot token." msgstr "Zmień token bota." -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" -msgstr "Użyj tego polecenia w DM. Ponieważ użytkownicy prawdopodobnie zobaczyli Twój token, zaleca się, aby zresetować go teraz. Przejdź do linku i wybierz 'Reveal Token' i 'Generate a new token?'.\n\n" -"https://discordapp.com/developers/applications/me/{}" +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" +msgstr "" -#: redbot/core/core_commands.py:971 +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 #, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " -msgstr "\n" -"Zmienia ustawienia regionalne bota.\n\n" -"Użyj [p]listlocales aby uzyskać listę dostępnych opcji.\n\n" -"Aby zresetować na język angielski, użyj \"en-US\". " +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " +msgstr "" -#: redbot/core/core_commands.py:982 +#: redbot/core/core_commands.py:1172 msgid "Locale has been set." msgstr "Język został ustawiony." -#: redbot/core/core_commands.py:987 +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 #, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " -msgstr "Włącza lub wyłącza Sentry logging.\n\n" -"Sentry jest usługą jakiej Red używa to zarządzania raportowaniem błędów.\n" -"Powinien zostać on wyłączony, jeśli wykonałeś jakieś własne modyfikacje w paczce redbot. " +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " +msgstr "" -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." -msgstr "Gotowe. Sentry logging jest teraz włączony." +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." +msgstr "" -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." -msgstr "Gotowe. Sentry logging jest teraz wyłączony." +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." +msgstr "" -#: redbot/core/core_commands.py:1004 +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 #, docstring msgid "Manage settings for the help command." msgstr "Zarządzaj ustawieniami dla komendy help." -#: redbot/core/core_commands.py:1009 +#: redbot/core/core_commands.py:1228 #, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " -msgstr "Ustaw limit znaków na każdej stronie wiadomości pomocy.\n\n" -"To ustawienie tyczy się tylko pomocy umieszczanej w embedzie.\n\n" -"Proszę zwrócić uwagę, że ustawienie niskiego limitu znaków może oznaczać,\n" -"że niektóre strony przekroczą ten limit. Dzieje się tak dlatego, \n" -"że kategorie nigdy nie są dzielone na wiele stron w wiadomości pomocy.\n\n" -"Domyślną wartością jest 1000 znaków. " +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " +msgstr "" -#: redbot/core/core_commands.py:1020 +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 msgid "You must give a positive value!" msgstr "Musisz podać wartość dodatnią!" -#: redbot/core/core_commands.py:1024 +#: redbot/core/core_commands.py:1317 msgid "Done. The character limit per page has been set to {}." msgstr "Gotowe. Limit znaków na stronę został ustawiony na {}." -#: redbot/core/core_commands.py:1028 +#: redbot/core/core_commands.py:1321 #, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " -msgstr "Ustaw maksymalną liczbę stron pomocy wysłanych na kanale serwera.\n\n" -"To ustawienie tyczy się tylko pomocy umieszczanej w embedzie.\n\n" -"Jeśli wiadomość pomocy będzie zawierać więcej stron niż ta wartość,\n" -"wiadomość pomocy zostanie wysłana do autora komendy przez prywatną wiadomość.\n" -"To pozwala zmniejszyć ilośc spamu na kanałach tekstowych serwera.\n\n" -"Domyślną wartością są 2 strony. " +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " +msgstr "" -#: redbot/core/core_commands.py:1039 +#: redbot/core/core_commands.py:1332 msgid "You must give a value of zero or greater!" msgstr "Musisz podać wartość zero lub większą!" -#: redbot/core/core_commands.py:1043 +#: redbot/core/core_commands.py:1336 msgid "Done. The page limit has been set to {}." msgstr "Gotowe. Limit stron został ustawiony na {}." -#: redbot/core/core_commands.py:1047 +#: redbot/core/core_commands.py:1340 #, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " msgstr "" -#: redbot/core/core_commands.py:1055 +#: redbot/core/core_commands.py:1348 msgid "The tagline has been reset." msgstr "" -#: redbot/core/core_commands.py:1059 +#: redbot/core/core_commands.py:1352 msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." msgstr "" -#: redbot/core/core_commands.py:1067 +#: redbot/core/core_commands.py:1360 msgid "The tagline has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1072 +#: redbot/core/core_commands.py:1365 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " -msgstr "\n" -"Pokazuje wszystkie dostępne języki.\n\n" -"Użyj `[p]set locale` aby ustawić język " +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " +msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." msgstr "Tworzy kopię wszystkich danych dla instancji." -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "Kopia zapasowa została utworzona dla tej instancji. Znajduje się ona w {}." -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" msgstr "Czy chciałbyś otrzymać kopię prywatną wiadomością? (y/n)" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "" - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" msgstr "" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" msgstr "O to twoja kopia zapasowa" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" msgstr "" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." msgstr "" -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." -msgstr "" +msgstr "OK." -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." msgstr "Ten folder widocznie nie istnieje..." -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" msgstr "Wysyła wiadomość do właściciela" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" msgstr "ID użytkownika: {}" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "przez PW" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "z {}" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" msgstr " | ID serwera: {}" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "Użyj `{}dm {} `, by odpowiedzieć temu użytkownikowi" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "Wysłane przez {} {}" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" -msgstr "Nie mogę wysłać twojej wiadomości, nie mogę znaleźć właściciela... *westchnienie*" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." +msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "Nie mogę wysłać twojej wiadomości. Przepraszam." - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "Twoja wiadomość została wysłana." -#: redbot/core/core_commands.py:1249 -#, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" -msgstr "Wysyła prywatną wiadomość do użytkownika\n\n" -"Ta komenda wymaga ID użytkownika, by zadziałać.\n" -"Aby uzyskać ID użytkownika, włącz \"Tryb programisty\"\n" -" w ustawieniach Discorda, zakładka \"wygląd\".\n" -"Kliknij wtedy prawym przyciskiem użytkownika i skopiuj jego ID" +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." +msgstr "Nie mogę wysłać twojej wiadomości. Przepraszam." -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1589 +#, docstring +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" +msgstr "" + +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "Nieprawidłowe ID lub użytkownik nie został znaleziony. Możesz wysyłać wiadomości tylko do ludzi, z którymi dzielę serwer." -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" msgstr "Właściciel {}" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" msgstr "Możesz odpowiedzieć na tę wiadomość za pomocą {}contact" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" msgstr "Sorry, nie mogę dostarczyć Twojej wiadomości do {}" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" msgstr "Wiadomość dostarczona do {}" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " -msgstr "\n" -"Komendy do zarządzania biała listą. " +msgid "Prints the bot's data path." +msgstr "" -#: redbot/core/core_commands.py:1309 +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" +msgstr "" + +#: redbot/core/core_commands.py:1652 #, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " -msgstr "\n" -"Dodaje użytkownika na biała listę. " +msgid "Shows debug information useful for debugging.." +msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." msgstr "Użytkownik został dodany do białej listy." -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " -msgstr "\n" -"Pokazuje biała listę użytkowników. " +msgid "\\n Lists whitelisted users.\\n " +msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "Biała lista:" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " -msgstr "\n" -"Usuwa użytkownika z białej listy. " +msgid "\\n Removes user from whitelist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "Użytkownik został usunięty z białej listy." -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "Tego użytkownika nie ma na białej liście." -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " -msgstr "\n" -"Czyści biała listę. " +msgid "\\n Clears the whitelist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." msgstr "Biała lista została wyczyszczona." -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " -msgstr "\n" -"Komendy do zarządzania czarną listą. " +msgid "\\n Blacklist management commands.\\n " +msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " -msgstr "\n" -"Dodaje użytkownika na czarną listę. " +msgid "\\n Adds a user to the blacklist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" msgstr "Nie możesz dodać właściciela do czarnej listy!" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "Użytkownik został dodany do czarnej listy." -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " -msgstr "\n" -"Pokazuje czarną listę użytkowników. " +msgid "\\n Lists blacklisted users.\\n " +msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" -msgstr "Czarna lista:" +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" +msgstr "" -#: redbot/core/core_commands.py:1396 +#: redbot/core/core_commands.py:1799 #, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " -msgstr "\n" -"Usuwa użytkownika z czarnej listy. " +msgid "\\n Removes user from blacklist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "Użytkownik został usunięty z czarnej listy." -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "Tego użytkownika nie ma na czarnej liście." -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " -msgstr "\n" -"Czyści czarną listę. " +msgid "\\n Clears the blacklist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." -msgstr "Czarna lista została wyczyszczona." +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." +msgstr "" -#: redbot/core/core_commands.py:1432 +#: redbot/core/core_commands.py:1826 #, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " -msgstr "\n" -"Dodaje użytkownika lub rolę do białej listy. " +msgid "\\n Whitelist management commands.\\n " +msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." msgstr "Rolad dodana do białej listy." -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " -msgstr "\n" -"Pokazuje biała listę użytkowników i ról. " +msgid "\\n Lists whitelisted users and roles.\\n " +msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" msgstr "Biała lista użytkowników i ról:" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " -msgstr "\n" -"Usuwa użytkownika lub rolę z białej listy. " +msgid "\\n Removes user or role from whitelist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." msgstr "Rola została usunięta z białej listy." -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." msgstr "Rola nie była na białej liście." -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " -msgstr "\n" -"Dodaje użytkownika lub rolę do czarnej listy. " +msgid "\\n Clears the whitelist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." msgstr "Rolad dodana do czarnej listy." -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " -msgstr "\n" -"Pokazuje czarną listę użytkowników i ról. " +msgid "\\n Lists blacklisted users and roles.\\n " +msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" -msgstr "Czarna lista użytkowników i ról:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" +msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " -msgstr "\n" -"Usuwa użytkownika lub rolę z czarnej listy. " +msgid "\\n Removes user or role from blacklist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." msgstr "Rola została usunięta z czarnej listy." -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." msgstr "Rola nie była na czarnej liście." -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." msgstr "Zarządzaj komendami bota." -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " -msgstr "Wyłącza komendę.\n\n" -"Jeśli jesteś właścicielem, domyślnie wyłączy to komendę globalnie. " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " +msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "Wyłącza komendę globalnie." -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." msgstr "Nie mogłem znaleźć komendy. Pamiętaj, że ma tutaj znaczenie wielkość znaków." -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "Ta komenda jest już wyłączona globalnie." -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "Wyłącza komendę tylko na tym serwerze." -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "Ta komenda jest już wyłączona na tym serwerze." -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " -msgstr "Włącza komendę.\n\n" -"Jeśli jesteś właścicielem, domyślnie włączy to komendę globalnie. " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " +msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." msgstr "Włącza komendę globalnie." -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." msgstr "Ta komenda jest już włączona globalnie." -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." msgstr "Włącza komendę na tym serwerze." -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." msgstr "Ta komenda jest już włączona na tym serwerze." -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " -msgstr "Ustawia odpowiedź bota dla wyłączonych komend.\n\n" -"Pozostaw puste, by nic nie wysyłać.\n\n" -"Aby zawrzeć nazwę komendy w wiadomości,\n" -"napisz `{command}` zamiast nazwy komendy. " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " +msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." msgstr "" -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." -msgstr "" +msgstr "Już istnieje." -#: redbot/core/core_commands.py:1763 -msgid "Not in list." -msgstr "" - -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2181 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2186 +msgid "Not in list." +msgstr "Brak na liście." + +#: redbot/core/core_commands.py:2194 +#, docstring +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2199 msgid "They are immune" msgstr "" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" msgstr "" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "Już działa sesja REPL na tym kanale. Wyjdź za pomocą `quit`." -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "Wpisz kod do wykonania lub oceny. Napisz `exit()`lub `quit` by wyjść." -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "Nieoczekiwany błąd: `{}`" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/pt-BR.po b/redbot/core/locales/pt-BR.po index 01cf90174..6b25c8ae3 100644 --- a/redbot/core/locales/pt-BR.po +++ b/redbot/core/locales/pt-BR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese, Brazilian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,1119 +16,1396 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: pt_BR\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." -msgstr "" +msgstr "Comandos para interagir com o gestor de cogs do Red." #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " msgstr "" #: redbot/core/cog_manager.py:343 msgid "That path does not exist or does not point to a valid directory." -msgstr "" +msgstr "Este caminho não existe ou não aponta para um diretório válido." #: redbot/core/cog_manager.py:351 msgid "Path successfully added." -msgstr "" +msgstr "Caminho adicionado com sucesso." #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 msgid "Path numbers must be positive." -msgstr "" +msgstr "Números de caminho devem ser positivos." #: redbot/core/cog_manager.py:369 msgid "That is an invalid path number." -msgstr "" +msgstr "Esse é um número de caminho inválido." #: redbot/core/cog_manager.py:373 msgid "Path successfully removed." -msgstr "" +msgstr "Caminho removido com sucesso." #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " msgstr "" #: redbot/core/cog_manager.py:392 msgid "Invalid 'from' index." -msgstr "" +msgstr "Campo 'from' inválido." #: redbot/core/cog_manager.py:398 msgid "Invalid 'to' index." -msgstr "" +msgstr "Campo 'to' inválido." #: redbot/core/cog_manager.py:402 msgid "Paths reordered." -msgstr "" +msgstr "Caminhos reordenados." #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " msgstr "" #: redbot/core/cog_manager.py:420 msgid "That path does not exist." -msgstr "" +msgstr "Este caminho não existe." #: redbot/core/cog_manager.py:425 msgid "The bot will install new cogs to the `{}` directory." -msgstr "" +msgstr "O bot irá instalar novos cogs para o diretório `{}`." #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" -msgstr "" +msgstr "Comandos relacionados com as funções base" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." -msgstr "" +msgstr "Pong." -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" +msgstr "Mostra informações sobre o Red" + +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" msgstr "" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" +msgstr "Mostra o tempo de atividade do Red" + +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" msgstr "" -#: redbot/core/core_commands.py:349 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." -msgstr "" +msgstr "As mensagens incorporadas estão agora {} por padrão." -#: redbot/core/core_commands.py:388 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" +msgstr "desabilitado" + +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "habilitado" + +#: redbot/core/core_commands.py:375 #, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " msgstr "" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." -msgstr "" +msgstr "As mensagens incorporadas agora voltarão para a configuração global." -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." -msgstr "" +msgstr "As mensagens incorporadas agora são {} para este servidor." -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." +msgstr "As mensagens incorporadas agora estão {} para você." + +#: redbot/core/core_commands.py:420 +#, docstring +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" msgstr "" -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" +msgid "Show's Red's invite url" +msgstr "Mostra a url de convite do Red" + +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" msgstr "" #: redbot/core/core_commands.py:448 #, docstring -msgid "Show's Red's invite url" +msgid "\\n Define if the command should be accessible for the average users.\\n " msgstr "" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" +msgstr "Sai do servidor" + +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" msgstr "" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "Tempo de resposta excedido." + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" msgstr "" -#: redbot/core/core_commands.py:520 +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "Concluído." + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring msgid "Loads packages" +msgstr "Carrega pacotes" + +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." msgstr "" -#: redbot/core/core_commands.py:552 +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring msgid "Unloads packages" +msgstr "Descarrega pacotes" + +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." msgstr "" -#: redbot/core/core_commands.py:570 -#, docstring -msgid "Reloads packages" +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." msgstr "" -#: redbot/core/core_commands.py:594 -#, docstring -msgid "Shuts down the bot" -msgstr "" - -#: redbot/core/core_commands.py:599 -msgid "Shutting down... " -msgstr "" - -#: redbot/core/core_commands.py:605 -#, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" -msgstr "" - -#: redbot/core/core_commands.py:612 -msgid "Restarting..." -msgstr "" - -#: redbot/core/core_commands.py:617 -#, docstring -msgid "Changes Red's settings" -msgstr "" - -#: redbot/core/core_commands.py:649 -#, docstring -msgid "Sets the admin role for this server" -msgstr "" - -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." msgstr "" #: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring -msgid "Sets the mod role for this server" -msgstr "" - -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." -msgstr "" - -#: redbot/core/core_commands.py:665 -#, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:674 -msgid "The bot {} use its configured color for embeds." -msgstr "" - -#: redbot/core/core_commands.py:675 -msgid "will not" -msgstr "" - -#: redbot/core/core_commands.py:675 -msgid "will" -msgstr "" +msgid "Reloads packages" +msgstr "Recarrega pacotes" #: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " -msgstr "" +msgid "Shuts down the bot" +msgstr "Encerra o bot" -#: redbot/core/core_commands.py:691 -msgid "Fuzzy command search has been {} for this server." -msgstr "" +#: redbot/core/core_commands.py:735 +msgid "Shutting down... " +msgstr "Desligando... " -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "" - -#: redbot/core/core_commands.py:699 +#: redbot/core/core_commands.py:741 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" msgstr "" -#: redbot/core/core_commands.py:707 -msgid "Fuzzy command search has been {} in DMs." -msgstr "" +#: redbot/core/core_commands.py:748 +msgid "Restarting..." +msgstr "Reiniciando..." -#: redbot/core/core_commands.py:715 +#: redbot/core/core_commands.py:753 #, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " +msgid "Changes Red's settings" +msgstr "Alterar as configurações do Red" + +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" msgstr "" -#: redbot/core/core_commands.py:725 -msgid "The color has been reset." +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" msgstr "" -#: redbot/core/core_commands.py:728 -msgid "The color has been set." -msgstr "" - -#: redbot/core/core_commands.py:733 +#: redbot/core/core_commands.py:795 #, docstring -msgid "Sets Red's avatar" +msgid "\\n Adds an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:742 -msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." msgstr "" -#: redbot/core/core_commands.py:749 -msgid "JPG / PNG format only." +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." msgstr "" -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 -msgid "Done." -msgstr "" - -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:808 #, docstring -msgid "Sets Red's playing status" +msgid "\\n Adds a mod role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:765 -msgid "Game set." +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." msgstr "" -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 #, docstring -msgid "Sets Red's listening status" +msgid "\\n Removes an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:779 -msgid "Listening set." -msgstr "" - -#: redbot/core/core_commands.py:785 -#, docstring -msgid "Sets Red's watching status" -msgstr "" - -#: redbot/core/core_commands.py:793 -msgid "Watching set." -msgstr "" - -#: redbot/core/core_commands.py:799 -#, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:822 -msgid "Status changed to {}." +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." msgstr "" #: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." +msgid "\\n Removes a mod role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 #, docstring -msgid "Sets Red's username" +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " msgstr "" -#: redbot/core/core_commands.py:854 -msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" -msgstr "" +#: redbot/core/core_commands.py:856 +msgid "The bot {} use its configured color for embeds." +msgstr "O bot {} usa a cor configurada para mensagens incorporadas." -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:857 +msgid "will not" +msgstr "não vai" + +#: redbot/core/core_commands.py:857 +msgid "will" +msgstr "vai" + +#: redbot/core/core_commands.py:865 #, docstring -msgid "Sets Red's nickname" +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:872 -msgid "I lack the permissions to change my own nickname." +#: redbot/core/core_commands.py:873 +msgid "Fuzzy command search has been {} for this server." msgstr "" -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:881 #, docstring -msgid "Sets Red's global prefix(es)" +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 -msgid "Prefix set." +#: redbot/core/core_commands.py:889 +msgid "Fuzzy command search has been {} in DMs." msgstr "" -#: redbot/core/core_commands.py:890 +#: redbot/core/core_commands.py:897 #, docstring -msgid "Sets Red's server prefix(es)" +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " msgstr "" -#: redbot/core/core_commands.py:893 -msgid "Guild prefixes have been reset." -msgstr "" +#: redbot/core/core_commands.py:907 +msgid "The color has been reset." +msgstr "A cor foi redefinida." -#: redbot/core/core_commands.py:902 -#, docstring -msgid "Sets Red's main owner" -msgstr "" - -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "" +#: redbot/core/core_commands.py:910 +msgid "The color has been set." +msgstr "A cor foi definida." #: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "" +#, docstring +msgid "Sets Red's avatar" +msgstr "Define o avatar do Red" -#: redbot/core/core_commands.py:919 -msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." -msgstr "" +#: redbot/core/core_commands.py:924 +msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." +msgstr "Falha. Lembre-se de que você pode editar meu avatar até duas vezes por hora. A URL deve ser um link direto para um JPG / PNG." -#: redbot/core/core_commands.py:932 -msgid "The `{prefix}set owner` request has timed out." -msgstr "" +#: redbot/core/core_commands.py:931 +msgid "JPG / PNG format only." +msgstr "Apenas formatos JPG / PNG." #: redbot/core/core_commands.py:939 -msgid "You have been set as owner." -msgstr "" - -#: redbot/core/core_commands.py:941 -msgid "Invalid token." -msgstr "" - -#: redbot/core/core_commands.py:946 #, docstring -msgid "Change bot token." -msgstr "" +msgid "Sets Red's playing status" +msgstr "Define o status de jogando do Red" -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" -msgstr "" +#: redbot/core/core_commands.py:947 +msgid "Game set." +msgstr "Jogo definido." -#: redbot/core/core_commands.py:971 +#: redbot/core/core_commands.py:953 #, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " -msgstr "" +msgid "Sets Red's listening status" +msgstr "Define o status de ouvindo do Red" -#: redbot/core/core_commands.py:982 -msgid "Locale has been set." -msgstr "" +#: redbot/core/core_commands.py:961 +msgid "Listening set." +msgstr "Ouvindo definido." -#: redbot/core/core_commands.py:987 +#: redbot/core/core_commands.py:967 #, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " -msgstr "" +msgid "Sets Red's watching status" +msgstr "Define o status de assistindo do Red" -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." -msgstr "" +#: redbot/core/core_commands.py:975 +msgid "Watching set." +msgstr "Assistindo definido." -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." +#: redbot/core/core_commands.py:981 +#, docstring +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " msgstr "" #: redbot/core/core_commands.py:1004 +msgid "Status changed to {}." +msgstr "Status alterado para {}." + +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Manage settings for the help command." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." msgstr "" -#: redbot/core/core_commands.py:1009 +#: redbot/core/core_commands.py:1031 #, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " +msgid "Sets Red's username" +msgstr "Define o nome de usuário do Red" + +#: redbot/core/core_commands.py:1036 +msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "" -#: redbot/core/core_commands.py:1020 -msgid "You must give a positive value!" -msgstr "" - -#: redbot/core/core_commands.py:1024 -msgid "Done. The character limit per page has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1028 +#: redbot/core/core_commands.py:1050 #, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " +msgid "Sets Red's nickname" +msgstr "Define o apelido do Red" + +#: redbot/core/core_commands.py:1054 +msgid "I lack the permissions to change my own nickname." msgstr "" -#: redbot/core/core_commands.py:1039 -msgid "You must give a value of zero or greater!" -msgstr "" - -#: redbot/core/core_commands.py:1043 -msgid "Done. The page limit has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1047 +#: redbot/core/core_commands.py:1061 #, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " -msgstr "" +msgid "Sets Red's global prefix(es)" +msgstr "Define os prefixo(s) globais do Red" -#: redbot/core/core_commands.py:1055 -msgid "The tagline has been reset." -msgstr "" - -#: redbot/core/core_commands.py:1059 -msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." -msgstr "" - -#: redbot/core/core_commands.py:1067 -msgid "The tagline has been set to {}." -msgstr "" +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 +msgid "Prefix set." +msgstr "Prefixo definido." #: redbot/core/core_commands.py:1072 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " +msgid "Sets Red's server prefix(es)" +msgstr "Define os prefixo(s) de servidor do Red" + +#: redbot/core/core_commands.py:1075 +msgid "Guild prefixes have been reset." +msgstr "Prefixos do servidor foram redefinidos." + +#: redbot/core/core_commands.py:1084 +#, docstring +msgid "Sets Red's main owner" +msgstr "Define o principal proprietário do Red" + +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" + +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 +msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." +msgstr "" + +#: redbot/core/core_commands.py:1120 +msgid "The `{prefix}set owner` request has timed out." +msgstr "" + +#: redbot/core/core_commands.py:1127 +msgid "You have been set as owner." +msgstr "Você foi definido como proprietário." + +#: redbot/core/core_commands.py:1129 +msgid "Invalid token." +msgstr "Token inválido." + +#: redbot/core/core_commands.py:1134 +#, docstring +msgid "Change bot token." +msgstr "Alterar token do bot." + +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" +msgstr "" + +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 +#, docstring +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " +msgstr "" + +#: redbot/core/core_commands.py:1172 +msgid "Locale has been set." +msgstr "O idioma foi definido." + +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 +#, docstring +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " +msgstr "" + +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." +msgstr "" + +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." +msgstr "" + +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 +#, docstring +msgid "Manage settings for the help command." +msgstr "Gerenciar configurações para o comando de ajuda." + +#: redbot/core/core_commands.py:1228 +#, docstring +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 +msgid "You must give a positive value!" +msgstr "" + +#: redbot/core/core_commands.py:1317 +msgid "Done. The character limit per page has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1321 +#, docstring +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1332 +msgid "You must give a value of zero or greater!" +msgstr "" + +#: redbot/core/core_commands.py:1336 +msgid "Done. The page limit has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1340 +#, docstring +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1348 +msgid "The tagline has been reset." +msgstr "" + +#: redbot/core/core_commands.py:1352 +msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." +msgstr "" + +#: redbot/core/core_commands.py:1360 +msgid "The tagline has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1365 +#, docstring +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " +msgstr "" + +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." msgstr "" -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "" -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" msgstr "" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "" - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" -msgstr "" +msgstr "OK, está a caminho!" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" -msgstr "" +msgstr "Aqui está uma cópia do backup" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" msgstr "" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." -msgstr "" +msgstr "Não consegui enviar o arquivo de backup." -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." -msgstr "" +msgstr "OK então." -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." msgstr "" -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" -msgstr "" +msgstr "Envia uma mensagem para o proprietário" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" -msgstr "" +msgstr "ID do usuário: {}" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" -msgstr "" +msgstr "através de DM" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" -msgstr "" +msgstr "de {}" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" -msgstr "" +msgstr " | ID do servidor: {}" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" -msgstr "" +msgstr "Use `{}dm {} ` para responder este usuário" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" +msgstr "Enviado por {} {}" + +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." msgstr "" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" -msgstr "" +#: redbot/core/core_commands.py:1582 +msgid "Your message has been sent." +msgstr "Sua mensagem foi enviada." -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 +#: redbot/core/core_commands.py:1584 msgid "I'm unable to deliver your message. Sorry." msgstr "" -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 -msgid "Your message has been sent." -msgstr "" - -#: redbot/core/core_commands.py:1249 +#: redbot/core/core_commands.py:1589 #, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" msgstr "" -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "" -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" -msgstr "" +msgstr "Proprietário de {}" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" -msgstr "" +msgstr "Você pode responder a esta mensagem com {}" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" -msgstr "" +msgstr "Desculpe, não pude entregar sua mensagem para {}" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" -msgstr "" +msgstr "Mensagem entregue a {}" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " +msgid "Prints the bot's data path." msgstr "" -#: redbot/core/core_commands.py:1309 +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" +msgstr "" + +#: redbot/core/core_commands.py:1652 #, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " +msgid "Shows debug information useful for debugging.." msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." -msgstr "" +msgstr "Usuário adicionado à whitelist." -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " +msgid "\\n Lists whitelisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " +msgid "\\n Removes user from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." -msgstr "" +msgstr "A whitelist foi limpa." -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " +msgid "\\n Blacklist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" -msgstr "" +msgstr "Você não pode colocar um proprietário na blacklist!" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." -msgstr "" +msgstr "Usuário foi adicionado à blacklist." -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " +msgid "\\n Lists blacklisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" msgstr "" -#: redbot/core/core_commands.py:1396 +#: redbot/core/core_commands.py:1799 #, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " +msgid "\\n Removes user from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." -msgstr "" +msgstr "O usuário foi removido da blacklist." -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." -msgstr "" +msgstr "Usuário não estava na blacklist." -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1432 +#: redbot/core/core_commands.py:1826 #, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " +msgid "\\n Whitelist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" msgstr "" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." msgstr "" -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "" -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." msgstr "" -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "" -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "" -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "" -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." msgstr "" -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." msgstr "" -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." +msgstr "Habilita um comando neste servidor." + +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." msgstr "" -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." -msgstr "" +msgstr "Esse comando já está habilitado neste servidor." -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." -msgstr "" +msgstr "Nenhuma configuração de imunidade aqui." -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." +msgstr "Já adicionado." + +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2186 msgid "Not in list." -msgstr "" +msgstr "Não está na lista." -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" -msgstr "" +msgstr "Eles são imunes" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" -msgstr "" +msgstr "Eles não são Imunes" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "" -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "" -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/pt-PT.po b/redbot/core/locales/pt-PT.po index c5043f923..466336375 100644 --- a/redbot/core/locales/pt-PT.po +++ b/redbot/core/locales/pt-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,6 +16,14 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: pt_PT\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." @@ -23,27 +31,17 @@ msgstr "Comandos de gestão dos cogs do Red." #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " -msgstr "\n" -" Lista das pastas dos cogs por ordem de prioridade.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " +msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" -msgstr "Caminho da instalação: {install_path}\n" -"Caminho do núcleo: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" +msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " -msgstr "\n" -" Adiciona um caminho à lista de caminhos disponíveis para cogs.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " +msgstr "" #: redbot/core/cog_manager.py:343 msgid "That path does not exist or does not point to a valid directory." @@ -55,14 +53,8 @@ msgstr "Caminho adicionado com sucesso." #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " -msgstr "\n" -" Remove um caminho dos caminhos disponíveis para cogs dado o seu path_number\n" -" de !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " +msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 msgid "Path numbers must be positive." @@ -78,12 +70,8 @@ msgstr "Caminho removido com sucesso." #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " -msgstr "\n" -" Reordena os caminhos internamente para permitir a descoberta de outros cogs.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " +msgstr "" #: redbot/core/cog_manager.py:392 msgid "Invalid 'from' index." @@ -99,18 +87,8 @@ msgstr "Caminhos reordenados." #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " -msgstr "\n" -" Retorna o caminho da instalação ou define se for fornecido um.\n" -" O caminho fornecido tem de ser absoluto ou relativo ao caminho\n" -" do bot e tem que já existir.\n\n" -" Nenhum cog já instalado será movido no processo.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " +msgstr "" #: redbot/core/cog_manager.py:420 msgid "That path does not exist." @@ -122,1041 +100,1312 @@ msgstr "O bot irá instalar novos cogs para o caminho `{}`." #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " -msgstr "\n" -" Lista de todos os cogs ativos e disponíveis.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " +msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" -msgstr "**{} carregado:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" +msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" -msgstr "**{} desativados:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" +msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" msgstr "Comandos relacionados com as funções básicas" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." msgstr "Pong." -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" msgstr "Mostra informação sobre o Red" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" msgstr "Mostra o tempo de atividade do Red" -#: redbot/core/core_commands.py:349 -#, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " -msgstr "\n" -" Comandos para ativar/desativar as mensagens incorporadas.\n\n" -" Esta configuração determina se uso ou não as mensagens\n" -" incorporadas como resposta aos comandos (para comandos\n" -" que o suportam). Por predefinição irei usar as\n" -" mensagens incorporadas.\n" -" " +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" +msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " -msgstr "\n" -" Ativa/Desativa o uso global de mensagens incorporadas.\n\n" -" Isto é usado como substituto se o utilizador ou servidor\n" -" não definiu uma preferência. Por predefinição são\n" -" usadas as mensagens incorporadas.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " +msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 +#, docstring +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." msgstr "As mensagens incorporadas estão agora {} por predefinição." -#: redbot/core/core_commands.py:388 -#, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" msgstr "" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "" + +#: redbot/core/core_commands.py:375 +#, docstring +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." msgstr "" -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." msgstr "" -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." msgstr "" -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:420 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" msgstr "" -#: redbot/core/core_commands.py:448 +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 #, docstring msgid "Show's Red's invite url" msgstr "" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" +msgstr "" + +#: redbot/core/core_commands.py:448 +#, docstring +msgid "\\n Define if the command should be accessible for the average users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" msgstr "" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "" + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" msgstr "" -#: redbot/core/core_commands.py:520 +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "" + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring msgid "Loads packages" msgstr "" -#: redbot/core/core_commands.py:552 +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring msgid "Unloads packages" msgstr "" -#: redbot/core/core_commands.py:570 +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring msgid "Reloads packages" msgstr "" -#: redbot/core/core_commands.py:594 +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring msgid "Shuts down the bot" msgstr "" -#: redbot/core/core_commands.py:599 +#: redbot/core/core_commands.py:735 msgid "Shutting down... " msgstr "" -#: redbot/core/core_commands.py:605 +#: redbot/core/core_commands.py:741 #, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" msgstr "" -#: redbot/core/core_commands.py:612 +#: redbot/core/core_commands.py:748 msgid "Restarting..." msgstr "" -#: redbot/core/core_commands.py:617 +#: redbot/core/core_commands.py:753 #, docstring msgid "Changes Red's settings" msgstr "" -#: redbot/core/core_commands.py:649 +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" +msgstr "" + +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" +msgstr "" + +#: redbot/core/core_commands.py:795 #, docstring -msgid "Sets the admin role for this server" +msgid "\\n Adds an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." msgstr "" -#: redbot/core/core_commands.py:657 +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 #, docstring -msgid "Sets the mod role for this server" +msgid "\\n Adds a mod role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." msgstr "" -#: redbot/core/core_commands.py:665 +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 #, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " +msgid "\\n Removes an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:674 +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 msgid "The bot {} use its configured color for embeds." msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will not" msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will" msgstr "" -#: redbot/core/core_commands.py:683 +#: redbot/core/core_commands.py:865 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:691 +#: redbot/core/core_commands.py:873 msgid "Fuzzy command search has been {} for this server." msgstr "" -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "" - -#: redbot/core/core_commands.py:699 +#: redbot/core/core_commands.py:881 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:707 +#: redbot/core/core_commands.py:889 msgid "Fuzzy command search has been {} in DMs." msgstr "" -#: redbot/core/core_commands.py:715 +#: redbot/core/core_commands.py:897 #, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " msgstr "" -#: redbot/core/core_commands.py:725 +#: redbot/core/core_commands.py:907 msgid "The color has been reset." msgstr "" -#: redbot/core/core_commands.py:728 +#: redbot/core/core_commands.py:910 msgid "The color has been set." msgstr "" -#: redbot/core/core_commands.py:733 +#: redbot/core/core_commands.py:915 #, docstring msgid "Sets Red's avatar" msgstr "" -#: redbot/core/core_commands.py:742 +#: redbot/core/core_commands.py:924 msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." msgstr "" -#: redbot/core/core_commands.py:749 +#: redbot/core/core_commands.py:931 msgid "JPG / PNG format only." msgstr "" -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 -msgid "Done." -msgstr "" - -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:939 #, docstring msgid "Sets Red's playing status" msgstr "" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "" -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" msgstr "" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." msgstr "" -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" msgstr "" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." msgstr "" -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "" -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" msgstr "" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" msgstr "" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "" -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" msgstr "" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "" -#: redbot/core/core_commands.py:890 -#, docstring -msgid "Sets Red's server prefix(es)" -msgstr "" - -#: redbot/core/core_commands.py:893 -msgid "Guild prefixes have been reset." -msgstr "" - -#: redbot/core/core_commands.py:902 -#, docstring -msgid "Sets Red's main owner" -msgstr "" - -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "" - -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "" - -#: redbot/core/core_commands.py:919 -msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." -msgstr "" - -#: redbot/core/core_commands.py:932 -msgid "The `{prefix}set owner` request has timed out." -msgstr "" - -#: redbot/core/core_commands.py:939 -msgid "You have been set as owner." -msgstr "" - -#: redbot/core/core_commands.py:941 -msgid "Invalid token." -msgstr "" - -#: redbot/core/core_commands.py:946 -#, docstring -msgid "Change bot token." -msgstr "" - -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" -msgstr "" - -#: redbot/core/core_commands.py:971 -#, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:982 -msgid "Locale has been set." -msgstr "" - -#: redbot/core/core_commands.py:987 -#, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." -msgstr "" - -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." -msgstr "" - -#: redbot/core/core_commands.py:1004 -#, docstring -msgid "Manage settings for the help command." -msgstr "" - -#: redbot/core/core_commands.py:1009 -#, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1020 -msgid "You must give a positive value!" -msgstr "" - -#: redbot/core/core_commands.py:1024 -msgid "Done. The character limit per page has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1028 -#, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1039 -msgid "You must give a value of zero or greater!" -msgstr "" - -#: redbot/core/core_commands.py:1043 -msgid "Done. The page limit has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1047 -#, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1055 -msgid "The tagline has been reset." -msgstr "" - -#: redbot/core/core_commands.py:1059 -msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." -msgstr "" - -#: redbot/core/core_commands.py:1067 -msgid "The tagline has been set to {}." -msgstr "" - #: redbot/core/core_commands.py:1072 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " +msgid "Sets Red's server prefix(es)" msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1075 +msgid "Guild prefixes have been reset." +msgstr "" + +#: redbot/core/core_commands.py:1084 +#, docstring +msgid "Sets Red's main owner" +msgstr "" + +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" + +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" + +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 +msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." +msgstr "" + +#: redbot/core/core_commands.py:1120 +msgid "The `{prefix}set owner` request has timed out." +msgstr "" + +#: redbot/core/core_commands.py:1127 +msgid "You have been set as owner." +msgstr "" + +#: redbot/core/core_commands.py:1129 +msgid "Invalid token." +msgstr "" + +#: redbot/core/core_commands.py:1134 +#, docstring +msgid "Change bot token." +msgstr "" + +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" +msgstr "" + +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 +#, docstring +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " +msgstr "" + +#: redbot/core/core_commands.py:1172 +msgid "Locale has been set." +msgstr "" + +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 +#, docstring +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " +msgstr "" + +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." +msgstr "" + +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." +msgstr "" + +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 +#, docstring +msgid "Manage settings for the help command." +msgstr "" + +#: redbot/core/core_commands.py:1228 +#, docstring +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 +msgid "You must give a positive value!" +msgstr "" + +#: redbot/core/core_commands.py:1317 +msgid "Done. The character limit per page has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1321 +#, docstring +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1332 +msgid "You must give a value of zero or greater!" +msgstr "" + +#: redbot/core/core_commands.py:1336 +msgid "Done. The page limit has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1340 +#, docstring +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1348 +msgid "The tagline has been reset." +msgstr "" + +#: redbot/core/core_commands.py:1352 +msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." +msgstr "" + +#: redbot/core/core_commands.py:1360 +msgid "The tagline has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1365 +#, docstring +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " +msgstr "" + +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." msgstr "" -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "" -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" msgstr "" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "" - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" msgstr "" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" msgstr "" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" msgstr "" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." msgstr "" -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." msgstr "" -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." msgstr "" -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" msgstr "" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" msgstr "" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" msgstr "" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "" - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "" -#: redbot/core/core_commands.py:1249 -#, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." msgstr "" -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1589 +#, docstring +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" +msgstr "" + +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "" -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" msgstr "" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" msgstr "" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" msgstr "" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" msgstr "" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " +msgid "Prints the bot's data path." msgstr "" -#: redbot/core/core_commands.py:1309 -#, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1652 +#, docstring +msgid "Shows debug information useful for debugging.." +msgstr "" + +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " +msgid "\\n Lists whitelisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " +msgid "\\n Removes user from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " +msgid "\\n Blacklist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" msgstr "" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " +msgid "\\n Lists blacklisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" msgstr "" -#: redbot/core/core_commands.py:1396 +#: redbot/core/core_commands.py:1799 #, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " +msgid "\\n Removes user from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1432 +#: redbot/core/core_commands.py:1826 #, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " +msgid "\\n Whitelist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" msgstr "" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." msgstr "" -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "" -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." msgstr "" -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "" -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "" -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "" -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." msgstr "" -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." msgstr "" -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." msgstr "" -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." msgstr "" -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." msgstr "" -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." msgstr "" -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 msgid "Not in list." msgstr "" -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" msgstr "" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" msgstr "" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "" -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "" -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/ro-RO.po b/redbot/core/locales/ro-RO.po new file mode 100644 index 000000000..f2b316d09 --- /dev/null +++ b/redbot/core/locales/ro-RO.po @@ -0,0 +1,1411 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:09\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Romanian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /core/locales/messages.pot\n" +"Language: ro_RO\n" + +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + +#: redbot/core/cog_manager.py:312 +#, docstring +msgid "Commands to interface with Red's cog manager." +msgstr "" + +#: redbot/core/cog_manager.py:317 +#, docstring +msgid "\\n Lists current cog paths in order of priority.\\n " +msgstr "" + +#: redbot/core/cog_manager.py:325 +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" +msgstr "" + +#: redbot/core/cog_manager.py:339 +#, docstring +msgid "\\n Add a path to the list of available cog paths.\\n " +msgstr "" + +#: redbot/core/cog_manager.py:343 +msgid "That path does not exist or does not point to a valid directory." +msgstr "" + +#: redbot/core/cog_manager.py:351 +msgid "Path successfully added." +msgstr "" + +#: redbot/core/cog_manager.py:356 +#, docstring +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " +msgstr "" + +#: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 +msgid "Path numbers must be positive." +msgstr "" + +#: redbot/core/cog_manager.py:369 +msgid "That is an invalid path number." +msgstr "" + +#: redbot/core/cog_manager.py:373 +msgid "Path successfully removed." +msgstr "" + +#: redbot/core/cog_manager.py:378 +#, docstring +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " +msgstr "" + +#: redbot/core/cog_manager.py:392 +msgid "Invalid 'from' index." +msgstr "" + +#: redbot/core/cog_manager.py:398 +msgid "Invalid 'to' index." +msgstr "" + +#: redbot/core/cog_manager.py:402 +msgid "Paths reordered." +msgstr "" + +#: redbot/core/cog_manager.py:407 +#, docstring +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " +msgstr "" + +#: redbot/core/cog_manager.py:420 +msgid "That path does not exist." +msgstr "" + +#: redbot/core/cog_manager.py:425 +msgid "The bot will install new cogs to the `{}` directory." +msgstr "" + +#: redbot/core/cog_manager.py:431 +#, docstring +msgid "\\n Lists all loaded and available cogs.\\n " +msgstr "" + +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 +#, docstring +msgid "Commands related to core functions" +msgstr "" + +#: redbot/core/core_commands.py:268 +#, docstring +msgid "Pong." +msgstr "" + +#: redbot/core/core_commands.py:273 +#, docstring +msgid "Shows info about Red" +msgstr "" + +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 +#, docstring +msgid "Shows Red's uptime" +msgstr "" + +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" +msgstr "" + +#: redbot/core/core_commands.py:336 +#, docstring +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 +#, docstring +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:368 +msgid "Embeds are now {} by default." +msgstr "" + +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" +msgstr "" + +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "" + +#: redbot/core/core_commands.py:375 +#, docstring +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 +msgid "Embeds will now fall back to the global setting." +msgstr "" + +#: redbot/core/core_commands.py:391 +msgid "Embeds are now {} for this guild." +msgstr "" + +#: redbot/core/core_commands.py:398 +#, docstring +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " +msgstr "" + +#: redbot/core/core_commands.py:414 +msgid "Embeds are now {} for you." +msgstr "" + +#: redbot/core/core_commands.py:420 +#, docstring +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" +msgstr "" + +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 +#, docstring +msgid "Show's Red's invite url" +msgstr "" + +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" +msgstr "" + +#: redbot/core/core_commands.py:448 +#, docstring +msgid "\\n Define if the command should be accessible for the average users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 +#, docstring +msgid "Leaves server" +msgstr "" + +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "" + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 +#, docstring +msgid "Lists and allows to leave servers" +msgstr "" + +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "" + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 +#, docstring +msgid "Loads packages" +msgstr "" + +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 +#, docstring +msgid "Unloads packages" +msgstr "" + +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 +#, docstring +msgid "Reloads packages" +msgstr "" + +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 +#, docstring +msgid "Shuts down the bot" +msgstr "" + +#: redbot/core/core_commands.py:735 +msgid "Shutting down... " +msgstr "" + +#: redbot/core/core_commands.py:741 +#, docstring +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" +msgstr "" + +#: redbot/core/core_commands.py:748 +msgid "Restarting..." +msgstr "" + +#: redbot/core/core_commands.py:753 +#, docstring +msgid "Changes Red's settings" +msgstr "" + +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" +msgstr "" + +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" +msgstr "" + +#: redbot/core/core_commands.py:795 +#, docstring +msgid "\\n Adds an admin role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." +msgstr "" + +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 +#, docstring +msgid "\\n Adds a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." +msgstr "" + +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 +#, docstring +msgid "\\n Removes an admin role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 +msgid "The bot {} use its configured color for embeds." +msgstr "" + +#: redbot/core/core_commands.py:857 +msgid "will not" +msgstr "" + +#: redbot/core/core_commands.py:857 +msgid "will" +msgstr "" + +#: redbot/core/core_commands.py:865 +#, docstring +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " +msgstr "" + +#: redbot/core/core_commands.py:873 +msgid "Fuzzy command search has been {} for this server." +msgstr "" + +#: redbot/core/core_commands.py:881 +#, docstring +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " +msgstr "" + +#: redbot/core/core_commands.py:889 +msgid "Fuzzy command search has been {} in DMs." +msgstr "" + +#: redbot/core/core_commands.py:897 +#, docstring +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " +msgstr "" + +#: redbot/core/core_commands.py:907 +msgid "The color has been reset." +msgstr "" + +#: redbot/core/core_commands.py:910 +msgid "The color has been set." +msgstr "" + +#: redbot/core/core_commands.py:915 +#, docstring +msgid "Sets Red's avatar" +msgstr "" + +#: redbot/core/core_commands.py:924 +msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." +msgstr "" + +#: redbot/core/core_commands.py:931 +msgid "JPG / PNG format only." +msgstr "" + +#: redbot/core/core_commands.py:939 +#, docstring +msgid "Sets Red's playing status" +msgstr "" + +#: redbot/core/core_commands.py:947 +msgid "Game set." +msgstr "" + +#: redbot/core/core_commands.py:953 +#, docstring +msgid "Sets Red's listening status" +msgstr "" + +#: redbot/core/core_commands.py:961 +msgid "Listening set." +msgstr "" + +#: redbot/core/core_commands.py:967 +#, docstring +msgid "Sets Red's watching status" +msgstr "" + +#: redbot/core/core_commands.py:975 +msgid "Watching set." +msgstr "" + +#: redbot/core/core_commands.py:981 +#, docstring +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " +msgstr "" + +#: redbot/core/core_commands.py:1004 +msgid "Status changed to {}." +msgstr "" + +#: redbot/core/core_commands.py:1010 +#, docstring +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." +msgstr "" + +#: redbot/core/core_commands.py:1031 +#, docstring +msgid "Sets Red's username" +msgstr "" + +#: redbot/core/core_commands.py:1036 +msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" +msgstr "" + +#: redbot/core/core_commands.py:1050 +#, docstring +msgid "Sets Red's nickname" +msgstr "" + +#: redbot/core/core_commands.py:1054 +msgid "I lack the permissions to change my own nickname." +msgstr "" + +#: redbot/core/core_commands.py:1061 +#, docstring +msgid "Sets Red's global prefix(es)" +msgstr "" + +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 +msgid "Prefix set." +msgstr "" + +#: redbot/core/core_commands.py:1072 +#, docstring +msgid "Sets Red's server prefix(es)" +msgstr "" + +#: redbot/core/core_commands.py:1075 +msgid "Guild prefixes have been reset." +msgstr "" + +#: redbot/core/core_commands.py:1084 +#, docstring +msgid "Sets Red's main owner" +msgstr "" + +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" + +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" + +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 +msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." +msgstr "" + +#: redbot/core/core_commands.py:1120 +msgid "The `{prefix}set owner` request has timed out." +msgstr "" + +#: redbot/core/core_commands.py:1127 +msgid "You have been set as owner." +msgstr "" + +#: redbot/core/core_commands.py:1129 +msgid "Invalid token." +msgstr "" + +#: redbot/core/core_commands.py:1134 +#, docstring +msgid "Change bot token." +msgstr "" + +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" +msgstr "" + +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 +#, docstring +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " +msgstr "" + +#: redbot/core/core_commands.py:1172 +msgid "Locale has been set." +msgstr "" + +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 +#, docstring +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " +msgstr "" + +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." +msgstr "" + +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." +msgstr "" + +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 +#, docstring +msgid "Manage settings for the help command." +msgstr "" + +#: redbot/core/core_commands.py:1228 +#, docstring +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 +msgid "You must give a positive value!" +msgstr "" + +#: redbot/core/core_commands.py:1317 +msgid "Done. The character limit per page has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1321 +#, docstring +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1332 +msgid "You must give a value of zero or greater!" +msgstr "" + +#: redbot/core/core_commands.py:1336 +msgid "Done. The page limit has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1340 +#, docstring +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1348 +msgid "The tagline has been reset." +msgstr "" + +#: redbot/core/core_commands.py:1352 +msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." +msgstr "" + +#: redbot/core/core_commands.py:1360 +msgid "The tagline has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1365 +#, docstring +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " +msgstr "" + +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 +#, docstring +msgid "Creates a backup of all data for the instance." +msgstr "" + +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 +msgid "A backup has been made of this instance. It is at {}." +msgstr "" + +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." +msgstr "" + +#: redbot/core/core_commands.py:1458 +msgid "Would you like to receive a copy via DM? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:1467 +msgid "OK, it's on its way!" +msgstr "" + +#: redbot/core/core_commands.py:1471 +msgid "Here's a copy of the backup" +msgstr "" + +#: redbot/core/core_commands.py:1476 +msgid "I don't seem to be able to DM you. Do you have closed DMs?" +msgstr "" + +#: redbot/core/core_commands.py:1479 +msgid "I could not send the backup file." +msgstr "" + +#: redbot/core/core_commands.py:1481 +msgid "OK then." +msgstr "" + +#: redbot/core/core_commands.py:1483 +msgid "That directory doesn't seem to exist..." +msgstr "" + +#: redbot/core/core_commands.py:1488 +#, docstring +msgid "Sends a message to the owner" +msgstr "" + +#: redbot/core/core_commands.py:1491 +msgid "User ID: {}" +msgstr "" + +#: redbot/core/core_commands.py:1494 +msgid "through DM" +msgstr "" + +#: redbot/core/core_commands.py:1496 +msgid "from {}" +msgstr "" + +#: redbot/core/core_commands.py:1497 +msgid " | Server ID: {}" +msgstr "" + +#: redbot/core/core_commands.py:1506 +msgid "Use `{}dm {} ` to reply to this user" +msgstr "" + +#: redbot/core/core_commands.py:1508 +msgid "Sent by {} {}" +msgstr "" + +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." +msgstr "" + +#: redbot/core/core_commands.py:1582 +msgid "Your message has been sent." +msgstr "" + +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." +msgstr "" + +#: redbot/core/core_commands.py:1589 +#, docstring +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" +msgstr "" + +#: redbot/core/core_commands.py:1598 +msgid "Invalid ID or user not found. You can only send messages to people I share a server with." +msgstr "" + +#: redbot/core/core_commands.py:1609 +msgid "Owner of {}" +msgstr "" + +#: redbot/core/core_commands.py:1610 +msgid "You can reply to this message with {}contact" +msgstr "" + +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 +msgid "Sorry, I couldn't deliver your message to {}" +msgstr "" + +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 +msgid "Message delivered to {}" +msgstr "" + +#: redbot/core/core_commands.py:1642 +#, docstring +msgid "Prints the bot's data path." +msgstr "" + +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" +msgstr "" + +#: redbot/core/core_commands.py:1652 +#, docstring +msgid "Shows debug information useful for debugging.." +msgstr "" + +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 +msgid "User added to whitelist." +msgstr "" + +#: redbot/core/core_commands.py:1723 +#, docstring +msgid "\\n Lists whitelisted users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1728 +msgid "Whitelisted Users:" +msgstr "" + +#: redbot/core/core_commands.py:1737 +#, docstring +msgid "\\n Removes user from whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 +msgid "User has been removed from whitelist." +msgstr "" + +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 +msgid "User was not in the whitelist." +msgstr "" + +#: redbot/core/core_commands.py:1754 +#, docstring +msgid "\\n Clears the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 +msgid "Whitelist has been cleared." +msgstr "" + +#: redbot/core/core_commands.py:1763 +#, docstring +msgid "\\n Blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1770 +#, docstring +msgid "\\n Adds a user to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 +msgid "You cannot blacklist an owner!" +msgstr "" + +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 +msgid "User added to blacklist." +msgstr "" + +#: redbot/core/core_commands.py:1785 +#, docstring +msgid "\\n Lists blacklisted users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" +msgstr "" + +#: redbot/core/core_commands.py:1799 +#, docstring +msgid "\\n Removes user from blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 +msgid "User has been removed from blacklist." +msgstr "" + +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 +msgid "User was not in the blacklist." +msgstr "" + +#: redbot/core/core_commands.py:1816 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." +msgstr "" + +#: redbot/core/core_commands.py:1826 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 +msgid "Role added to whitelist." +msgstr "" + +#: redbot/core/core_commands.py:1850 +#, docstring +msgid "\\n Lists whitelisted users and roles.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1855 +msgid "Whitelisted Users and roles:" +msgstr "" + +#: redbot/core/core_commands.py:1866 +#, docstring +msgid "\\n Removes user or role from whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1881 +msgid "Role has been removed from whitelist." +msgstr "" + +#: redbot/core/core_commands.py:1886 +msgid "Role was not in the whitelist." +msgstr "" + +#: redbot/core/core_commands.py:1890 +#, docstring +msgid "\\n Clears the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 +msgid "Role added to blacklist." +msgstr "" + +#: redbot/core/core_commands.py:1929 +#, docstring +msgid "\\n Lists blacklisted users and roles.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" +msgstr "" + +#: redbot/core/core_commands.py:1945 +#, docstring +msgid "\\n Removes user or role from blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1960 +msgid "Role has been removed from blacklist." +msgstr "" + +#: redbot/core/core_commands.py:1965 +msgid "Role was not in the blacklist." +msgstr "" + +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 +#, docstring +msgid "Manage the bot's commands." +msgstr "" + +#: redbot/core/core_commands.py:1983 +#, docstring +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1997 +#, docstring +msgid "Disable a command globally." +msgstr "" + +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 +msgid "I couldn't find that command. Please note that it is case sensitive." +msgstr "" + +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 +msgid "That command is already disabled globally." +msgstr "" + +#: redbot/core/core_commands.py:2025 +#, docstring +msgid "Disable a command in this server only." +msgstr "" + +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 +msgid "That command is already disabled in this server." +msgstr "" + +#: redbot/core/core_commands.py:2056 +#, docstring +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2069 +#, docstring +msgid "Enable a command globally." +msgstr "" + +#: redbot/core/core_commands.py:2082 +msgid "That command is already enabled globally." +msgstr "" + +#: redbot/core/core_commands.py:2091 +#, docstring +msgid "Enable a command in this server." +msgstr "" + +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 +msgid "That command is already enabled in this server." +msgstr "" + +#: redbot/core/core_commands.py:2117 +#, docstring +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2131 +#, docstring +msgid "\\n Server settings for immunity from automated actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2138 +#, docstring +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " +msgstr "" + +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" +msgstr "" + +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" +msgstr "" + +#: redbot/core/core_commands.py:2159 +msgid "No immunty settings here." +msgstr "" + +#: redbot/core/core_commands.py:2168 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2173 +msgid "Already added." +msgstr "" + +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 +msgid "Not in list." +msgstr "" + +#: redbot/core/core_commands.py:2194 +#, docstring +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2199 +msgid "They are immune" +msgstr "" + +#: redbot/core/core_commands.py:2201 +msgid "They are not Immune" +msgstr "" + +#: redbot/core/core_commands.py:2206 +#, docstring +msgid "\\n Commands for configuring owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2213 +#, docstring +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2226 +#, docstring +msgid "\\n Opt-out of recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 +msgid "Already running a REPL session in this channel. Exit it with `quit`." +msgstr "" + +#: redbot/core/dev_commands.py:228 +msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." +msgstr "" + +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 +msgid "Unexpected error: `{}`" +msgstr "" + +#: redbot/core/dev_commands.py:292 +#, docstring +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:305 +#, docstring +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " +msgstr "" + +#: redbot/core/errors.py:49 +msgid "{user}'s balance cannot rise above {max:,} {currency}." +msgstr "" + +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" +msgstr "" + +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" +msgstr "" + +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" +msgstr "" + +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" +msgstr "" + diff --git a/redbot/core/locales/ru-RU.po b/redbot/core/locales/ru-RU.po index 9d3f177fe..fa83ec5e0 100644 --- a/redbot/core/locales/ru-RU.po +++ b/redbot/core/locales/ru-RU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 05:52\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,6 +16,14 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: ru_RU\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." @@ -23,27 +31,17 @@ msgstr "Команды для интерфейса с менеджером пл #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " -msgstr "\n" -" Список текущих путей плагинов в порядке приоритета.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " +msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" -msgstr "Утановочный путь: {install_path}\n" -"Путь ядра: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" +msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " -msgstr "\n" -" Добавить путь к списку путей доступных плагинов.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " +msgstr "" #: redbot/core/cog_manager.py:343 msgid "That path does not exist or does not point to a valid directory." @@ -55,14 +53,8 @@ msgstr "Путь успешно добавлен." #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " -msgstr "\n" -" Удаляет путь из доступных путей плагина с указанным path_number\n" -" из !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " +msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 msgid "Path numbers must be positive." @@ -78,12 +70,8 @@ msgstr "Путь успешно удален." #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " -msgstr "\n" -" Внутреннее изменение порядка путей, позволяющее обнаруживать различные плагины.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " +msgstr "" #: redbot/core/cog_manager.py:392 msgid "Invalid 'from' index." @@ -95,22 +83,12 @@ msgstr "Недопустимый индекс 'в'." #: redbot/core/cog_manager.py:402 msgid "Paths reordered." -msgstr "Путь переупорядочен." +msgstr "Пути переупорядочены." #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " -msgstr "\n" -" Возвращает текущий путь установки или устанавливает его, если он указан.\n" -" Указанный путь должен быть абсолютным или относительным к каталогу\n" -" бота, и он должен уже существовать.\n\n" -" Никакие установленные плагины не будут переданы в процессе.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " +msgstr "" #: redbot/core/cog_manager.py:420 msgid "That path does not exist." @@ -122,1225 +100,1312 @@ msgstr "Бот будет устанавливать новые плагины #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " -msgstr "\n" -" Список всех загруженных и доступных плагинов.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " +msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" -msgstr "**{} загружено:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" +msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" -msgstr "**{} выгружен:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" +msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" msgstr "Команды, связанные с основными функциями" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." msgstr "Pong." -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" msgstr "Показывает информацию о Red" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" msgstr "Показывает время работы Red" -#: redbot/core/core_commands.py:349 -#, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " -msgstr "\n" -" Команды для включения или выключения встраиваемых сообщений.\n\n" -" Этот параметр определяет, использовать ли встраиваемые сообщения\n" -" в качестве ответа на команду (для команд, которые ее поддерживают).\n" -" По умолчанию используются встраиваемые сообщения.\n" -" " +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" +msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " -msgstr "\n" -" Переключите настройку глобальных встраиваемых сообщений.\n\n" -" Это используется как запасной вариант, если пользователь или\n" -" гильдия не установили предпочтение. По умолчанию используется\n" -" встраиваемые сообщения.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " +msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 +#, docstring +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." msgstr "Встраиваемые теперь по умолчанию {}." -#: redbot/core/core_commands.py:388 -#, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " -msgstr "\n" -" Переключить настройку встраиваемых сообщений гильдии.\n\n" -" Если для параметра Enabled не установлено\n" -" значение, настройка будет отменена, и вместо\n" -" нее будет использоваться глобальное значение\n" -" по умолчанию.\n\n" -" Если установлено, оно будет использоваться вместо\n" -" глобального значения по умолчанию, чтобы определить,\n" -" следует ли использовать встраиваемые сообщения. Оно\n" -" используется для всех команд, выполняемых в канале\n" -" гильдии, кроме команд справки.\n" -" " +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" +msgstr "отключен" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "включен" + +#: redbot/core/core_commands.py:375 +#, docstring +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." msgstr "Настройки теперь восстанавливаются." -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." msgstr "Настройки {} для этой гильдии." -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " -msgstr "\n" -" Переключить настройку встраиваемых сообщений пользователя.\n\n" -" Если для параметра Enabled не установлено\n" -" значение, настройка будет отменена, и вместо\n" -" нее будет использоваться глобальное значение\n" -" по умолчанию.\n\n" -" Если установлено, оно будет использоваться вместо\n" -" глобального значения по умолчанию, чтобы определить,\n" -" следует ли использовать встраиваемые сообщения. Оно\n" -" используется для всех команд, выполняемых в личных\n" -" сообщениях с ботом, а также для всех команд помощи везде.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " +msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." msgstr "Настройки {} для вас." -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:420 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" -msgstr "Отправляет владельцу последнее исключение команды, которое произошло\n\n" -" Если общедоступно (указано \"yes\"), оно будет отправлено в чат" +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" +msgstr "" -#: redbot/core/core_commands.py:448 +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 #, docstring msgid "Show's Red's invite url" msgstr "Показать ссылку для приглашения Red" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" +msgstr "" + +#: redbot/core/core_commands.py:448 +#, docstring +msgid "\\n Define if the command should be accessible for the average users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" msgstr "Покинуть сервер" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "Время ответа истекло." + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" msgstr "Список серверов и разрешение покинуть их" -#: redbot/core/core_commands.py:520 +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "Готово." + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring msgid "Loads packages" msgstr "Загружает пакеты" -#: redbot/core/core_commands.py:552 +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring msgid "Unloads packages" msgstr "Выгружает пакеты" -#: redbot/core/core_commands.py:570 +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring msgid "Reloads packages" msgstr "Перезагружает пакеты" -#: redbot/core/core_commands.py:594 +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring msgid "Shuts down the bot" msgstr "Выключает бота" -#: redbot/core/core_commands.py:599 +#: redbot/core/core_commands.py:735 msgid "Shutting down... " msgstr "Завершение работы... " -#: redbot/core/core_commands.py:605 +#: redbot/core/core_commands.py:741 #, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" -msgstr "Пытается перезагрузить Red\n\n" -" Завершает работу Red с кодом выхода 26\n" -" Перезапуск не гарантирован: он должен\n" -" обрабатываться используемым менеджером\n" -" процессов" +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" +msgstr "" -#: redbot/core/core_commands.py:612 +#: redbot/core/core_commands.py:748 msgid "Restarting..." msgstr "Перезапуск..." -#: redbot/core/core_commands.py:617 +#: redbot/core/core_commands.py:753 #, docstring msgid "Changes Red's settings" msgstr "Изменяет настройки Red" -#: redbot/core/core_commands.py:649 +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" +msgstr "" + +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" +msgstr "" + +#: redbot/core/core_commands.py:795 #, docstring -msgid "Sets the admin role for this server" -msgstr "Устанавливает роль администратора для этого сервера" +msgid "\\n Adds an admin role for this guild.\\n " +msgstr "" -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." -msgstr "Роль администратора была установлена для этого сервера." +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." +msgstr "" -#: redbot/core/core_commands.py:657 +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 #, docstring -msgid "Sets the mod role for this server" -msgstr "Устанавливает роль модератора для этого сервера" +msgid "\\n Adds a mod role for this guild.\\n " +msgstr "" -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." -msgstr "Роль модератора была установлена для этого сервера." +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." +msgstr "" -#: redbot/core/core_commands.py:665 +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 #, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " -msgstr "\n" -" Переключите, использовать ли цвет, настроенный владельцем\n" -" бота, для встраиваемых сообщений.\n\n" -" По умолчанию не используется настроенный цвет бота, в этом\n" -" случае используемый цвет будет цветом главной роли бота.\n" -" " +msgid "\\n Removes an admin role for this guild.\\n " +msgstr "" -#: redbot/core/core_commands.py:674 +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 msgid "The bot {} use its configured color for embeds." msgstr "Бот {} использовать свой настроенный цвет для встраивания сообщений." -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will not" msgstr "не будет" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will" msgstr "будет" -#: redbot/core/core_commands.py:683 +#: redbot/core/core_commands.py:865 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " -msgstr "\n" -" Включите или отключите поиск неопределенной команды для сервера.\n\n" -" По умолчанию поиск неопределенной команды отключен.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " +msgstr "" -#: redbot/core/core_commands.py:691 +#: redbot/core/core_commands.py:873 msgid "Fuzzy command search has been {} for this server." msgstr "Поиск неопределенной команды был {} для этого сервера." -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "отключен" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "включен" - -#: redbot/core/core_commands.py:699 +#: redbot/core/core_commands.py:881 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " -msgstr "\n" -" Включите или отключите поиск неопределенных команд в личных сообщениях.\n\n" -" По умолчанию поиск неопределенных команд отключен.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " +msgstr "" -#: redbot/core/core_commands.py:707 +#: redbot/core/core_commands.py:889 msgid "Fuzzy command search has been {} in DMs." msgstr "Поиск неопределенных команд был {} в личных сообщениях." -#: redbot/core/core_commands.py:715 +#: redbot/core/core_commands.py:897 #, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " -msgstr "\n" -" Устанавливает цвет по умолчанию, который будет использоваться для встраиваемых сообщений бота.\n\n" -" Приемлемые значения для параметра цвета можно найти по адресу:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " +msgstr "" -#: redbot/core/core_commands.py:725 +#: redbot/core/core_commands.py:907 msgid "The color has been reset." msgstr "Цвет был сброшен." -#: redbot/core/core_commands.py:728 +#: redbot/core/core_commands.py:910 msgid "The color has been set." msgstr "Цвет был установлен." -#: redbot/core/core_commands.py:733 +#: redbot/core/core_commands.py:915 #, docstring msgid "Sets Red's avatar" msgstr "Устанавливает аватар Red" -#: redbot/core/core_commands.py:742 +#: redbot/core/core_commands.py:924 msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." msgstr "Не удалось. Помните, что вы можете изменять мой аватар до 2-ух раз в час. URL-адрес должен быть прямой ссылкой на JPG / PNG." -#: redbot/core/core_commands.py:749 +#: redbot/core/core_commands.py:931 msgid "JPG / PNG format only." msgstr "JPG / PNG формат только." -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 -msgid "Done." -msgstr "Готово." - -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:939 #, docstring msgid "Sets Red's playing status" msgstr "Устанавливает игровой статус Red" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "Игра установлена." -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" msgstr "Устанавливает статус прослушивания Red" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." msgstr "Прослушка установлена." -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" msgstr "Устанавливает статус просмотра Red" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." msgstr "Просмотр установлен." -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " -msgstr "Устанавливает статус Red\n\n" -" Доступные статусы:\n" -" online - в сети\n" -" idle - не активен\n" -" dnd - не беспокоить\n" -" invisible - невидимый\n" -" " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " +msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "Статус изменён на {}." -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." -msgstr "Устанавливает статус стрима Red\n" -" Если оставить как streamer, так и stream_title пустыми, это очистит его." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." +msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" msgstr "Устанавливает имя пользователя Red" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "Не удалось изменить имя. Помните, что вы можете делать это до 2-ух раз в час. Используйте никнеймы, если вам нужны частые изменения. `{} установить никнейм`" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" msgstr "Устанавливает никнейм Red" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "Мне не хватает разрешений чтобы изменить свой ник." -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" msgstr "Устанавливает глобальный префикс(ы) Red" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "Префикс установлен." -#: redbot/core/core_commands.py:890 +#: redbot/core/core_commands.py:1072 #, docstring msgid "Sets Red's server prefix(es)" msgstr "Устанавливает префикс(ы) сервера Red" -#: redbot/core/core_commands.py:893 +#: redbot/core/core_commands.py:1075 msgid "Guild prefixes have been reset." msgstr "Префиксы сервера были сброшены." -#: redbot/core/core_commands.py:902 +#: redbot/core/core_commands.py:1084 #, docstring msgid "Sets Red's main owner" msgstr "Устанавливает основного владельца Red" -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "\n" -"Код верификации:" +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "Помните:\n" +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" -#: redbot/core/core_commands.py:919 +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." msgstr "Я напечатал одноразовый токен в консоль. Скопируйте и вставьте для подтверждения что вы являетесь владельцем." -#: redbot/core/core_commands.py:932 +#: redbot/core/core_commands.py:1120 msgid "The `{prefix}set owner` request has timed out." msgstr "Время запроса `{prefix}set owner` истекло." -#: redbot/core/core_commands.py:939 +#: redbot/core/core_commands.py:1127 msgid "You have been set as owner." msgstr "Вы были назначены владельцем." -#: redbot/core/core_commands.py:941 +#: redbot/core/core_commands.py:1129 msgid "Invalid token." msgstr "Неверный токен." -#: redbot/core/core_commands.py:946 +#: redbot/core/core_commands.py:1134 #, docstring msgid "Change bot token." msgstr "Измените токен бота." -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" -msgstr "Пожалуйста используйте эту команду в личных сообщениях. Пользователи увидели сейчас ваш токен, Рекомендуется сбросить его сейчас. Переходите по ссылке ниже и выберите 'просмотреть токен' и 'Сгенерировать новый токен?'.\n\n" -"https://discordapp.com/developers/applications/me/{}" +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" +msgstr "" -#: redbot/core/core_commands.py:971 +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 #, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " -msgstr "\n" -" Изменяет локализацию бота.\n\n" -" Используйте [p]listlocales, чтобы получить список доступных локализаций.\n\n" -" Для сброса на английский используйте \"en-US\".\n" -" " +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " +msgstr "" -#: redbot/core/core_commands.py:982 +#: redbot/core/core_commands.py:1172 msgid "Locale has been set." msgstr "Локализация была установлена." -#: redbot/core/core_commands.py:987 +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 #, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " -msgstr "Включение или отключение ведения журнала Sentry.\n\n" -" Sentry - это сервис, который Red использует для управления\n" -" отчетами об ошибках. Он должен быть отключен, если вы \n" -" сделали свои собственные изменения в пакете redbot.\n" -" " +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " +msgstr "" -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." -msgstr "Готово. Часовое Журналирование теперь включено." +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." +msgstr "" -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." -msgstr "Готово. Часовое Журналирование теперь отключено." +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." +msgstr "" -#: redbot/core/core_commands.py:1004 +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 #, docstring msgid "Manage settings for the help command." msgstr "Управление настройками для команды справки." -#: redbot/core/core_commands.py:1009 +#: redbot/core/core_commands.py:1228 #, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " -msgstr "Установите ограничение символов для каждой страницы в сообщении справки.\n\n" -" Этот параметр применяется только к встроенной справке.\n\n" -" Обратите внимание, что установка предельно малого\n" -" количества символов может означать, что некоторые\n" -" страницы будут превышать это ограничение. Это связано\n" -" с тем, что категории никогда не распределяются по\n" -" нескольким страницам в справочном сообщении.\n\n" -" Значение по умолчанию составляет 1000 символов.\n" -" " +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " +msgstr "" -#: redbot/core/core_commands.py:1020 +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 msgid "You must give a positive value!" msgstr "Вы должны дать положительное значение!" -#: redbot/core/core_commands.py:1024 +#: redbot/core/core_commands.py:1317 msgid "Done. The character limit per page has been set to {}." msgstr "Готово. Максимальное количество символов на странице было установлено равным {}." -#: redbot/core/core_commands.py:1028 +#: redbot/core/core_commands.py:1321 #, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " -msgstr "Установите максимальное количество страниц справки, отправляемых в канал сервера.\n\n" -" Этот параметр применяется только к встроенной справке.\n\n" -" Если справочное сообщение содержит больше страниц, чем это значение,\n" -" справочное сообщение будет отправлено автору команды через личные\n" -" сообщения. Это должно помочь уменьшить спам в текстовых каналах сервера.\n\n" -" Значение по умолчанию составляет 2 страницы.\n" -" " +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " +msgstr "" -#: redbot/core/core_commands.py:1039 +#: redbot/core/core_commands.py:1332 msgid "You must give a value of zero or greater!" msgstr "Вы должны дать значение ноль или больше!" -#: redbot/core/core_commands.py:1043 +#: redbot/core/core_commands.py:1336 msgid "Done. The page limit has been set to {}." msgstr "Готово. Ограничение на количество страниц установлено на {}." -#: redbot/core/core_commands.py:1047 +#: redbot/core/core_commands.py:1340 #, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " -msgstr "\n" -" Установите подзаголовок, который будет использоваться.\n\n" -" Этот параметр применяется только к встроенной справке.\n" -" Если лозунг не указан, вместо него будет использоваться\n" -" значение по умолчанию.\n" -" " +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " +msgstr "" -#: redbot/core/core_commands.py:1055 +#: redbot/core/core_commands.py:1348 msgid "The tagline has been reset." msgstr "Подзаголовок был сброшен." -#: redbot/core/core_commands.py:1059 +#: redbot/core/core_commands.py:1352 msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." msgstr "Ваш подзаголовок слишком длинный! Пожалуйста, уменьшите его до 2048 символов." -#: redbot/core/core_commands.py:1067 +#: redbot/core/core_commands.py:1360 msgid "The tagline has been set to {}." msgstr "Подзаголовок был установлен на {}." -#: redbot/core/core_commands.py:1072 +#: redbot/core/core_commands.py:1365 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " -msgstr "\n" -" Список всех доступых локализаций\n\n" -" Используйте `[p]set locale`, чтобы установить локализацию\n" -" " +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " +msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." msgstr "Создает резервную копию всех данных для сборки." -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "Резервная копия экземпляра сделана. Она находится {}." -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." -msgstr "Эта резервная копия слишком велика для отправки через личные сообщения." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." +msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" msgstr "Хотите получить копию через личные сообщения? (y/n)" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "Время ответа истекло." - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" msgstr "Ок, уже в пути!" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" msgstr "Вот копия резервной копии" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" msgstr "Кажется, я не могу написать вам в личные сообщения. Вы закрыли ЛС?" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." msgstr "Я не смог отправить файл резервной копии." -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." msgstr "Хорошо, тогда." -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." msgstr "Эту директорию нельзя использовать..." -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" msgstr "Отправляет сообщение владельцу" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" msgstr "ID пользователя: {}" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "через DM" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "от {}" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" msgstr " | ID сервера: {}" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "Используйте `{}dm {} `чтобы ответить пользователю" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "Отправил {} {}" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" -msgstr "Я не могу прислать ваше сообщение. Я не могу найти своего владельца... *вздох*" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." +msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "Я не могу доставить ваше сообщение. Извините." - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "Ваше сообщение было отправлено." -#: redbot/core/core_commands.py:1249 -#, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" -msgstr "Отправляет личное сообщение пользователю\n\n" -" Для этой команды нужен ID пользователя.\n" -" Чтобы получить ID пользователя, включите\n" -" \"режим разработчика\" в настройках Discord,\n" -" во вкладке \"внешний вид\". Затем щелкните\n" -" правой кнопкой мыши на пользователя и\n" -" скопируйте его ID" +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." +msgstr "Я не могу доставить ваше сообщение. Извините." -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1589 +#, docstring +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" +msgstr "" + +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "Неверный ID или пользователь не найден. Вы можете только отправлять сообщения только тем людям, с которыми я совместно использую сервер." -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" msgstr "Владелец {}" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" msgstr "Вы можете ответить на это сообщение с {} контактом" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" msgstr "Извините, я не смог доставить сообщение для %s" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" msgstr "Сообщение доставлено к %s" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " -msgstr "\n" -" Команды управления белым списком.\n" -" " +msgid "Prints the bot's data path." +msgstr "" -#: redbot/core/core_commands.py:1309 +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" +msgstr "" + +#: redbot/core/core_commands.py:1652 #, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " -msgstr "\n" -" Добавляет пользователя в белый список.\n" -" " +msgid "Shows debug information useful for debugging.." +msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." msgstr "Пользователь был добавлен в белый список." -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " -msgstr "\n" -" Список пользователей в белом списке.\n" -" " +msgid "\\n Lists whitelisted users.\\n " +msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "Пользователи в белом списке:" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " -msgstr "\n" -" Удаляет пользователя из белого списка.\n" -" " +msgid "\\n Removes user from whitelist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "Пользователь был удалён из белого списка." -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "Пользователь не в белом списке." -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " -msgstr "\n" -" Очищает белый список.\n" -" " +msgid "\\n Clears the whitelist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." msgstr "Белый список был очищен." -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " -msgstr "\n" -" команды управления черным списком.\n" -" " +msgid "\\n Blacklist management commands.\\n " +msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " -msgstr "\n" -" Добавляет пользователя в черный список.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" msgstr "Вы не можете добавить владельца в чёрный список!" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "Пользователь добавлен в черный список." -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " -msgstr "\n" -" Список пользователей в черном списке.\n" -" " +msgid "\\n Lists blacklisted users.\\n " +msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" -msgstr "черный список пользователей:" +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" +msgstr "" -#: redbot/core/core_commands.py:1396 +#: redbot/core/core_commands.py:1799 #, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " -msgstr "\n" -" Удаляет пользователя из черного списка.\n" -" " +msgid "\\n Removes user from blacklist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "Пользователь был удалён из чёрного списка." -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "Пользователь не чёрном списке." -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " -msgstr "\n" -" Очищает черный список.\n" -" " +msgid "\\n Clears the blacklist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." -msgstr "чёрный список очищен." +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." +msgstr "" -#: redbot/core/core_commands.py:1432 +#: redbot/core/core_commands.py:1826 #, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " -msgstr "\n" -" Добавляет пользователя или роль в белый список.\n" -" " +msgid "\\n Whitelist management commands.\\n " +msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." msgstr "Роль добавлена в белый список." -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " -msgstr "\n" -" Список пользователей и ролей в белом списке.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " +msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" msgstr "Пользователи и роли в белом списке:" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " -msgstr "\n" -" Удаляет пользователя или роль из белого списка.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." msgstr "Роль удалена из белого списка." -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." msgstr "Роль не была в белом списке." -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " -msgstr "\n" -" Добавляет пользователя или роль в черный список.\n" -" " +msgid "\\n Clears the whitelist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." msgstr "Роль добавлена в черный список." -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " -msgstr "\n" -" Список пользователей и ролей в черном списке.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " +msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" -msgstr "пользователи и роли в черном списке:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" +msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " -msgstr "\n" -" Удаляет пользователя или роль из черного списка.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." msgstr "Роль была удалена из черного списка." -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." msgstr "Роль не была в черном списке." -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." msgstr "Управление командами бота." -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " -msgstr "Отключить команду.\n\n" -" Если вы владелец бота, по умолчанию это отключит\n" -" команды.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " +msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "Отключить команду глобально." -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." msgstr "Я не мог найти эту команду. Обратите внимание, что она чувствительна к регистру." -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "Эта команда уже отключена глобально." -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "Отключить команду только на этом сервере." -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "Эта команда уже отключена на этом сервере." -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " -msgstr "Включить команду.\n\n" -" Если вы владелец бота, он попытается включить\n" -" глобально отключенную команду по умолчанию.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " +msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." msgstr "Включить команду глобально." -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." msgstr "Эта команда уже включена глобально." -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." msgstr "Включить команду на этом сервере." -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." msgstr "Эта команда уже включена на этом сервере." -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " -msgstr "Установите ответ бота на отключенные команды.\n\n" -" Оставьте пустым, чтобы ничего не отправлять.\n\n" -" Чтобы включить имя команды в сообщение, добавьте\n" -" заполнитель `{command}`.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " +msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " -msgstr "\n" -" Настройки сервера для защиты от автоматических действий\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " +msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " -msgstr "\n" -" Получить текущих участников и роли\n\n" -" настроенных для автоматической защиты от действий модерации\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " +msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" -msgstr "Роли, невосприимчивые к действиям автоматической модерации:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" +msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" -msgstr "Участники, невосприимчивые к действиям автоматической модерации:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" +msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." msgstr "Здесь нет настроек невосприимчивости." -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " -msgstr "\n" -" Сделать пользователя или роли невосприимчивыми к действиям автоматической модерации\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." msgstr "Уже добавлено." -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 msgid "Not in list." msgstr "Нет в списке." -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " -msgstr "\n" -" Проверяет, будет ли пользователь или роль считаться защищенными от автоматических действий\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " +msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" msgstr "Они невосприимчивы" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" msgstr "Они не невосприимчивы" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " -msgstr "Оценить утверждение кода Python.\n\n" -" Бот всегда ответит возвращаемым значением кода. Если\n" -" возвращаемое значение кода является сопрограммой, оно\n" -" будет ожидаться, и результатом будет ответ бота.\n\n" -" Примечание: только одно утверждение может быть оценено.\n" -" Использование await, yield или подобных ограниченных ключевых\n" -" слов приведет к синтаксической ошибке. Для нескольких строк\n" -" или асинхронного кода см. [p]repl или [p]eval.\n\n" -" Переменные среды:\n" -" ctx - контекст вызова команды\n" -" bot - объект бота\n" -" channel - текущий объект канала\n" -" author - объект участника команды автора\n" -" message - объект сообщения команды\n" -" discord - библиотека discord.py\n" -" commands - redbot.core.commands\n" -" _ - Результат последней команды dev.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " +msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " -msgstr "Выполнить асинхронный код.\n\n" -" Эта команда помещает код в тело асинхронной функции, а затем\n" -" вызывает и ожидает ее. Бот ответит всем, что напечатано в stdout,\n" -" а также вернет значение функции.\n\n" -" Код может быть внутри кодового блока, встроенного кода или ни того,\n" -" ни другого, если они не смешаны и правильно отформатированы.\n\n" -" Переменные среды:\n" -" ctx - контекст вызова команды\n" -" bot - объект бота\n" -" channel - текущий объект канала\n" -" author - объект участника команды автора\n" -" message - объект сообщения команды\n" -" discord - библиотека discord.py\n" -" commands - redbot.core.commands\n" -" _ - Результат последней команды dev.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " +msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " -msgstr "Открыть интерактивный REPL.\n\n" -" REPL распознает код только как сообщения, которые начинаются с\n" -" обратной черты. Это включает в себя кодовые блоки, и, как таковые,\n" -" можно оценить несколько строк.\n\n" -" Вы не можете ожидать какого-либо кода в этом REPL, если не определите\n" -" его внутри асинхронной функции.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " +msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "Уже выполняется сеанс REPL в этом канале. Выйдите из него с `quit`." -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "Введите код для выполнения или оценки. `exit()` или `quit` чтобы выйти." -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "Непредвиденная ошибка: `{}`" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " -msgstr "Дразнить другого пользователя, вызывающего команду.\n\n" -" Префикс не должен быть введен.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " +msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " -msgstr "Отправьте событие сообщения, как если бы оно было отправлено другим пользователем.\n\n" -" Читает только сырое содержание сообщения. Вложения, встраивания\n" -" и т. д. игнорируются.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " +msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." msgstr "{user}'s баланс не может подняться выше {max:,} {currency}." -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " -msgstr "Показать справочную документацию.\n\n" -" - `[p]help`: Показать справочное руководство.\n" -" - `[p]help команда`: Показать справку для команды.\n" -" - `[p]help категория`: Показать команды и описание для категории,\n" -" " +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" +msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." -msgstr "Я не смог отправить вам сообщение помощи в личные сообщения. Либо вы заблокировали меня, либо вы отключили ЛС на этом сервере." +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" +msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." -msgstr "Команда *{command_name}* не имеет подкоманд." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" +msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." -msgstr "Команда *{command_name}* не найдена." +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" +msgstr "" diff --git a/redbot/core/locales/sk-SK.po b/redbot/core/locales/sk-SK.po index 7d21ac489..6f7da6de7 100644 --- a/redbot/core/locales/sk-SK.po +++ b/redbot/core/locales/sk-SK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Slovak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,6 +16,14 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: sk_SK\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." @@ -23,21 +31,16 @@ msgstr "" #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " msgstr "" #: redbot/core/cog_manager.py:343 @@ -50,10 +53,7 @@ msgstr "" #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 @@ -70,9 +70,7 @@ msgstr "" #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " msgstr "" #: redbot/core/cog_manager.py:392 @@ -89,12 +87,7 @@ msgstr "" #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " msgstr "" #: redbot/core/cog_manager.py:420 @@ -107,1028 +100,1312 @@ msgstr "" #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" msgstr "" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." msgstr "" -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" msgstr "" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" msgstr "" -#: redbot/core/core_commands.py:349 -#, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 +#, docstring +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." msgstr "" -#: redbot/core/core_commands.py:388 -#, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" msgstr "" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "" + +#: redbot/core/core_commands.py:375 +#, docstring +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." msgstr "" -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." msgstr "" -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." msgstr "" -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:420 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" msgstr "" -#: redbot/core/core_commands.py:448 +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 #, docstring msgid "Show's Red's invite url" msgstr "" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" +msgstr "" + +#: redbot/core/core_commands.py:448 +#, docstring +msgid "\\n Define if the command should be accessible for the average users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" msgstr "" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "" + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" msgstr "" -#: redbot/core/core_commands.py:520 +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "" + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring msgid "Loads packages" msgstr "" -#: redbot/core/core_commands.py:552 +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring msgid "Unloads packages" msgstr "" -#: redbot/core/core_commands.py:570 +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring msgid "Reloads packages" msgstr "" -#: redbot/core/core_commands.py:594 +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring msgid "Shuts down the bot" msgstr "" -#: redbot/core/core_commands.py:599 +#: redbot/core/core_commands.py:735 msgid "Shutting down... " msgstr "" -#: redbot/core/core_commands.py:605 +#: redbot/core/core_commands.py:741 #, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" msgstr "" -#: redbot/core/core_commands.py:612 +#: redbot/core/core_commands.py:748 msgid "Restarting..." msgstr "" -#: redbot/core/core_commands.py:617 +#: redbot/core/core_commands.py:753 #, docstring msgid "Changes Red's settings" msgstr "" -#: redbot/core/core_commands.py:649 +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" +msgstr "" + +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" +msgstr "" + +#: redbot/core/core_commands.py:795 #, docstring -msgid "Sets the admin role for this server" +msgid "\\n Adds an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." msgstr "" -#: redbot/core/core_commands.py:657 +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 #, docstring -msgid "Sets the mod role for this server" +msgid "\\n Adds a mod role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." msgstr "" -#: redbot/core/core_commands.py:665 +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 #, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " +msgid "\\n Removes an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:674 +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 msgid "The bot {} use its configured color for embeds." msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will not" msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will" msgstr "" -#: redbot/core/core_commands.py:683 +#: redbot/core/core_commands.py:865 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:691 +#: redbot/core/core_commands.py:873 msgid "Fuzzy command search has been {} for this server." msgstr "" -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "" - -#: redbot/core/core_commands.py:699 +#: redbot/core/core_commands.py:881 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:707 +#: redbot/core/core_commands.py:889 msgid "Fuzzy command search has been {} in DMs." msgstr "" -#: redbot/core/core_commands.py:715 +#: redbot/core/core_commands.py:897 #, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " msgstr "" -#: redbot/core/core_commands.py:725 +#: redbot/core/core_commands.py:907 msgid "The color has been reset." msgstr "" -#: redbot/core/core_commands.py:728 +#: redbot/core/core_commands.py:910 msgid "The color has been set." msgstr "" -#: redbot/core/core_commands.py:733 +#: redbot/core/core_commands.py:915 #, docstring msgid "Sets Red's avatar" msgstr "" -#: redbot/core/core_commands.py:742 +#: redbot/core/core_commands.py:924 msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." msgstr "" -#: redbot/core/core_commands.py:749 +#: redbot/core/core_commands.py:931 msgid "JPG / PNG format only." msgstr "" -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 -msgid "Done." -msgstr "" - -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:939 #, docstring msgid "Sets Red's playing status" msgstr "" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "" -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" msgstr "" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." msgstr "" -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" msgstr "" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." msgstr "" -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "" -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" msgstr "" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" msgstr "" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "" -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" msgstr "" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "" -#: redbot/core/core_commands.py:890 -#, docstring -msgid "Sets Red's server prefix(es)" -msgstr "" - -#: redbot/core/core_commands.py:893 -msgid "Guild prefixes have been reset." -msgstr "" - -#: redbot/core/core_commands.py:902 -#, docstring -msgid "Sets Red's main owner" -msgstr "" - -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "" - -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "" - -#: redbot/core/core_commands.py:919 -msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." -msgstr "" - -#: redbot/core/core_commands.py:932 -msgid "The `{prefix}set owner` request has timed out." -msgstr "" - -#: redbot/core/core_commands.py:939 -msgid "You have been set as owner." -msgstr "" - -#: redbot/core/core_commands.py:941 -msgid "Invalid token." -msgstr "" - -#: redbot/core/core_commands.py:946 -#, docstring -msgid "Change bot token." -msgstr "" - -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" -msgstr "" - -#: redbot/core/core_commands.py:971 -#, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:982 -msgid "Locale has been set." -msgstr "" - -#: redbot/core/core_commands.py:987 -#, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." -msgstr "" - -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." -msgstr "" - -#: redbot/core/core_commands.py:1004 -#, docstring -msgid "Manage settings for the help command." -msgstr "" - -#: redbot/core/core_commands.py:1009 -#, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1020 -msgid "You must give a positive value!" -msgstr "" - -#: redbot/core/core_commands.py:1024 -msgid "Done. The character limit per page has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1028 -#, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1039 -msgid "You must give a value of zero or greater!" -msgstr "" - -#: redbot/core/core_commands.py:1043 -msgid "Done. The page limit has been set to {}." -msgstr "" - -#: redbot/core/core_commands.py:1047 -#, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " -msgstr "" - -#: redbot/core/core_commands.py:1055 -msgid "The tagline has been reset." -msgstr "" - -#: redbot/core/core_commands.py:1059 -msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." -msgstr "" - -#: redbot/core/core_commands.py:1067 -msgid "The tagline has been set to {}." -msgstr "" - #: redbot/core/core_commands.py:1072 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " +msgid "Sets Red's server prefix(es)" msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1075 +msgid "Guild prefixes have been reset." +msgstr "" + +#: redbot/core/core_commands.py:1084 +#, docstring +msgid "Sets Red's main owner" +msgstr "" + +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" + +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" + +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 +msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." +msgstr "" + +#: redbot/core/core_commands.py:1120 +msgid "The `{prefix}set owner` request has timed out." +msgstr "" + +#: redbot/core/core_commands.py:1127 +msgid "You have been set as owner." +msgstr "" + +#: redbot/core/core_commands.py:1129 +msgid "Invalid token." +msgstr "" + +#: redbot/core/core_commands.py:1134 +#, docstring +msgid "Change bot token." +msgstr "" + +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" +msgstr "" + +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 +#, docstring +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " +msgstr "" + +#: redbot/core/core_commands.py:1172 +msgid "Locale has been set." +msgstr "" + +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 +#, docstring +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " +msgstr "" + +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." +msgstr "" + +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." +msgstr "" + +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 +#, docstring +msgid "Manage settings for the help command." +msgstr "" + +#: redbot/core/core_commands.py:1228 +#, docstring +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 +msgid "You must give a positive value!" +msgstr "" + +#: redbot/core/core_commands.py:1317 +msgid "Done. The character limit per page has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1321 +#, docstring +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1332 +msgid "You must give a value of zero or greater!" +msgstr "" + +#: redbot/core/core_commands.py:1336 +msgid "Done. The page limit has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1340 +#, docstring +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1348 +msgid "The tagline has been reset." +msgstr "" + +#: redbot/core/core_commands.py:1352 +msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." +msgstr "" + +#: redbot/core/core_commands.py:1360 +msgid "The tagline has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1365 +#, docstring +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " +msgstr "" + +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." msgstr "" -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "" -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" msgstr "" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "" - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" msgstr "" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" msgstr "" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" msgstr "" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." msgstr "" -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." msgstr "" -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." msgstr "" -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" msgstr "" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" msgstr "" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" msgstr "" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "" - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "" -#: redbot/core/core_commands.py:1249 -#, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." msgstr "" -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1589 +#, docstring +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" +msgstr "" + +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "" -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" msgstr "" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" msgstr "" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" msgstr "" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" msgstr "" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " +msgid "Prints the bot's data path." msgstr "" -#: redbot/core/core_commands.py:1309 -#, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1652 +#, docstring +msgid "Shows debug information useful for debugging.." +msgstr "" + +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " +msgid "\\n Lists whitelisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " +msgid "\\n Removes user from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " +msgid "\\n Blacklist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" msgstr "" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " +msgid "\\n Lists blacklisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" msgstr "" -#: redbot/core/core_commands.py:1396 +#: redbot/core/core_commands.py:1799 #, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " +msgid "\\n Removes user from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1432 +#: redbot/core/core_commands.py:1826 #, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " +msgid "\\n Whitelist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" msgstr "" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." msgstr "" -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "" -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." msgstr "" -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "" -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "" -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "" -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." msgstr "" -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." msgstr "" -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." msgstr "" -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." msgstr "" -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." msgstr "" -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." msgstr "" -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 msgid "Not in list." msgstr "" -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" msgstr "" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" msgstr "" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "" -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "" -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/sv-SE.po b/redbot/core/locales/sv-SE.po index c4692261b..24b0c496a 100644 --- a/redbot/core/locales/sv-SE.po +++ b/redbot/core/locales/sv-SE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,6 +16,14 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: sv_SE\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." @@ -23,21 +31,16 @@ msgstr "" #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " msgstr "" #: redbot/core/cog_manager.py:343 @@ -50,10 +53,7 @@ msgstr "Sökvägen har lagts till." #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 @@ -70,9 +70,7 @@ msgstr "Sökvägen är borttagen." #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " msgstr "" #: redbot/core/cog_manager.py:392 @@ -89,12 +87,7 @@ msgstr "Sökvägarna omordnade." #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " msgstr "" #: redbot/core/cog_manager.py:420 @@ -107,1029 +100,1312 @@ msgstr "Boten kommer att installera nya cogar i `{}` mappen." #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" msgstr "" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." msgstr "" -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" msgstr "" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" msgstr "" -#: redbot/core/core_commands.py:349 -#, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 +#, docstring +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." msgstr "" -#: redbot/core/core_commands.py:388 -#, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" msgstr "" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "" + +#: redbot/core/core_commands.py:375 +#, docstring +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." msgstr "" -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." msgstr "" -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." msgstr "" -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:420 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" msgstr "" -#: redbot/core/core_commands.py:448 +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 #, docstring msgid "Show's Red's invite url" msgstr "" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" +msgstr "" + +#: redbot/core/core_commands.py:448 +#, docstring +msgid "\\n Define if the command should be accessible for the average users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" msgstr "" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "" + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" msgstr "" -#: redbot/core/core_commands.py:520 +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "Klart." + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring msgid "Loads packages" msgstr "" -#: redbot/core/core_commands.py:552 +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring msgid "Unloads packages" msgstr "" -#: redbot/core/core_commands.py:570 +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring msgid "Reloads packages" msgstr "" -#: redbot/core/core_commands.py:594 +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring msgid "Shuts down the bot" msgstr "" -#: redbot/core/core_commands.py:599 +#: redbot/core/core_commands.py:735 msgid "Shutting down... " msgstr "Stänger ner... " -#: redbot/core/core_commands.py:605 +#: redbot/core/core_commands.py:741 #, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" msgstr "" -#: redbot/core/core_commands.py:612 +#: redbot/core/core_commands.py:748 msgid "Restarting..." msgstr "Startar om..." -#: redbot/core/core_commands.py:617 +#: redbot/core/core_commands.py:753 #, docstring msgid "Changes Red's settings" msgstr "" -#: redbot/core/core_commands.py:649 -#, docstring -msgid "Sets the admin role for this server" +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" msgstr "" -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." -msgstr "Admin rollen för denna guild är nu vald." - -#: redbot/core/core_commands.py:657 -#, docstring -msgid "Sets the mod role for this server" +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" msgstr "" -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." -msgstr "Mod rollen för denna guild är nu vald." - -#: redbot/core/core_commands.py:665 +#: redbot/core/core_commands.py:795 #, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " +msgid "\\n Adds an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:674 +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." +msgstr "" + +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 +#, docstring +msgid "\\n Adds a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." +msgstr "" + +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 +#, docstring +msgid "\\n Removes an admin role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 msgid "The bot {} use its configured color for embeds." msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will not" msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will" msgstr "" -#: redbot/core/core_commands.py:683 +#: redbot/core/core_commands.py:865 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:691 +#: redbot/core/core_commands.py:873 msgid "Fuzzy command search has been {} for this server." msgstr "" -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "" - -#: redbot/core/core_commands.py:699 +#: redbot/core/core_commands.py:881 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:707 +#: redbot/core/core_commands.py:889 msgid "Fuzzy command search has been {} in DMs." msgstr "" -#: redbot/core/core_commands.py:715 +#: redbot/core/core_commands.py:897 #, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " msgstr "" -#: redbot/core/core_commands.py:725 +#: redbot/core/core_commands.py:907 msgid "The color has been reset." msgstr "" -#: redbot/core/core_commands.py:728 +#: redbot/core/core_commands.py:910 msgid "The color has been set." msgstr "" -#: redbot/core/core_commands.py:733 +#: redbot/core/core_commands.py:915 #, docstring msgid "Sets Red's avatar" msgstr "" -#: redbot/core/core_commands.py:742 +#: redbot/core/core_commands.py:924 msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." msgstr "Fel uppstod. Kom ihåg att du kan ändra min avatar upp till två gånger per time. URLen måste vara en direkt länk till en JPT / PNG." -#: redbot/core/core_commands.py:749 +#: redbot/core/core_commands.py:931 msgid "JPG / PNG format only." msgstr "Endast JPG / PNG format." -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 -msgid "Done." -msgstr "Klart." - -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:939 #, docstring msgid "Sets Red's playing status" msgstr "" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "Spelet ändrat." -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" msgstr "" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." msgstr "Lyssnar på inställt." -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" msgstr "" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." msgstr "Tittar på inställt." -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "" -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" msgstr "" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "Fel uppstod vid ändring av namnet. Kom ihåg att du endast kan göra detta upp till 2 gånger per timme. Använd smeknamn om du behöver ändra ofta. `{}set nickname`" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" msgstr "" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "Jag saknar behörighet för att ändra mitt egna smeknamn." -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" msgstr "" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "Prefix ändrat." -#: redbot/core/core_commands.py:890 +#: redbot/core/core_commands.py:1072 #, docstring msgid "Sets Red's server prefix(es)" msgstr "" -#: redbot/core/core_commands.py:893 +#: redbot/core/core_commands.py:1075 msgid "Guild prefixes have been reset." msgstr "Guild prefix har rensats." -#: redbot/core/core_commands.py:902 +#: redbot/core/core_commands.py:1084 #, docstring msgid "Sets Red's main owner" msgstr "" -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "\n" -"Verifikations token:" +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "Kom ihåg:\n" +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" -#: redbot/core/core_commands.py:919 +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." msgstr "Jag har skrivit ett engångs token i konsolen. Kopiera detta och klistra in det här för att konfirmera att du är ägare." -#: redbot/core/core_commands.py:932 +#: redbot/core/core_commands.py:1120 msgid "The `{prefix}set owner` request has timed out." msgstr "" -#: redbot/core/core_commands.py:939 +#: redbot/core/core_commands.py:1127 msgid "You have been set as owner." msgstr "Du är nu satt som ägare." -#: redbot/core/core_commands.py:941 +#: redbot/core/core_commands.py:1129 msgid "Invalid token." msgstr "Ogiltigt token." -#: redbot/core/core_commands.py:946 +#: redbot/core/core_commands.py:1134 #, docstring msgid "Change bot token." msgstr "" -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" msgstr "" -#: redbot/core/core_commands.py:971 +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 #, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " msgstr "" -#: redbot/core/core_commands.py:982 +#: redbot/core/core_commands.py:1172 msgid "Locale has been set." msgstr "Språket har ändrats." -#: redbot/core/core_commands.py:987 -#, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." msgstr "" -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." -msgstr "Klart. Sentry loggning är nu aktiverat." +#: redbot/core/core_commands.py:1184 +#, docstring +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " +msgstr "" -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." -msgstr "Klart. Sentry loggning är nu inaktiverat." +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." +msgstr "" -#: redbot/core/core_commands.py:1004 +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." +msgstr "" + +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 #, docstring msgid "Manage settings for the help command." msgstr "" -#: redbot/core/core_commands.py:1009 +#: redbot/core/core_commands.py:1228 #, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " msgstr "" -#: redbot/core/core_commands.py:1020 +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 msgid "You must give a positive value!" msgstr "" -#: redbot/core/core_commands.py:1024 +#: redbot/core/core_commands.py:1317 msgid "Done. The character limit per page has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1028 +#: redbot/core/core_commands.py:1321 #, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " msgstr "" -#: redbot/core/core_commands.py:1039 +#: redbot/core/core_commands.py:1332 msgid "You must give a value of zero or greater!" msgstr "" -#: redbot/core/core_commands.py:1043 +#: redbot/core/core_commands.py:1336 msgid "Done. The page limit has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1047 +#: redbot/core/core_commands.py:1340 #, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " msgstr "" -#: redbot/core/core_commands.py:1055 +#: redbot/core/core_commands.py:1348 msgid "The tagline has been reset." msgstr "" -#: redbot/core/core_commands.py:1059 +#: redbot/core/core_commands.py:1352 msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." msgstr "" -#: redbot/core/core_commands.py:1067 +#: redbot/core/core_commands.py:1360 msgid "The tagline has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1072 +#: redbot/core/core_commands.py:1365 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." msgstr "" -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "" -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" msgstr "" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "" - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" msgstr "" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" msgstr "" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" msgstr "" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." msgstr "" -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." msgstr "" -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." msgstr "" -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" msgstr "" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" msgstr "" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "genom DM" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "från {}" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" msgstr "" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "Använd `{}dm {} `för att svara användaren" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "Skickat av {} {}" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" -msgstr "Jag kan inte skicka ditt meddelande, Jag kan inte hitta min ägare... *suck*" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." +msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "Jag kan inte leverera ditt meddelande. Förlåt." - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "Ditt meddelande har sänts." -#: redbot/core/core_commands.py:1249 +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." +msgstr "Jag kan inte leverera ditt meddelande. Förlåt." + +#: redbot/core/core_commands.py:1589 #, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" msgstr "" -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "Ogiltigt ID eller användaren kunde inte hittas. Du kan endast skicka meddelanden som jag delar server med." -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" msgstr "" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" msgstr "" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" msgstr "" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" msgstr "" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " +msgid "Prints the bot's data path." msgstr "" -#: redbot/core/core_commands.py:1309 -#, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1652 +#, docstring +msgid "Shows debug information useful for debugging.." +msgstr "" + +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." msgstr "Användaren är nu vitlistad." -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " +msgid "\\n Lists whitelisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "Vitlistade användare:" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " +msgid "\\n Removes user from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "Användaren är nu borttagen från vitlistan." -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "Användaren finns inte i vitlistan." -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." msgstr "Vitlistan har rensats." -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " +msgid "\\n Blacklist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" msgstr "Du kan inte svartlista en ägare!" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "Användaren är nu svartlistad." -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " +msgid "\\n Lists blacklisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" -msgstr "svartlistade användare:" - -#: redbot/core/core_commands.py:1396 -#, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1799 +#, docstring +msgid "\\n Removes user from blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "Användaren borttagen från svartlistan." -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "Användaren är inte i svartlistan." -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." -msgstr "svartlistan är nu rensad." - -#: redbot/core/core_commands.py:1432 -#, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1826 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" msgstr "" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." msgstr "" -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "" -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." msgstr "" -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "" -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "" -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "" -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." msgstr "" -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." msgstr "" -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." msgstr "" -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." msgstr "" -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." msgstr "" -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." msgstr "" -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 msgid "Not in list." msgstr "" -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" msgstr "" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" msgstr "" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "Kör redan en REPL session i denna kanal, avsluta den med `quit`." -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "Skriv kod som ska köras eller utvärderas. `exit()` eller `quit` för att avsluta." -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "Oväntat fel: `{}`" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/tr-TR.po b/redbot/core/locales/tr-TR.po index 37c3d3fcb..43b3fbb5e 100644 --- a/redbot/core/locales/tr-TR.po +++ b/redbot/core/locales/tr-TR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,6 +16,14 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: tr_TR\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." @@ -23,27 +31,17 @@ msgstr "Red'in cog Yöneticisi ile arabirim komutları." #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " -msgstr "\n" -" Geçerli cog yolları, öncelik sırasına göre listeler.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " +msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" -msgstr "Yükleme yolu: {install_path}\n" -"çekirdek yol: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" +msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " -msgstr "\n" -" Bir yol mevcut cog yollar listesine ekleyin.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " +msgstr "" #: redbot/core/cog_manager.py:343 msgid "That path does not exist or does not point to a valid directory." @@ -55,17 +53,12 @@ msgstr "Reklam başarıyla eklendi." #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " -msgstr "\n" -" Path_number verilen kullanılabilir cog yolları bir yolu kaldırır! yolları\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " +msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 msgid "Path numbers must be positive." -msgstr "" +msgstr "Sayfa numarası pozitif olmalıdır." #: redbot/core/cog_manager.py:369 msgid "That is an invalid path number." @@ -77,12 +70,8 @@ msgstr "Reklam başarıyla eklendi." #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " -msgstr "\n" -" Kendi içinde farklı Smm Bulma'ya izin veren yolları yeniden sıralar.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " +msgstr "" #: redbot/core/cog_manager.py:392 msgid "Invalid 'from' index." @@ -98,18 +87,8 @@ msgstr "Yolları yeniden sıralanmış." #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " -msgstr "\n" -" Geçerli yükleme yolu döndürür veya bir varsa ayarlar.\n" -" sağlanan yolun mutlak olması gerekir veya bot\n" -" göre dizin ve önceden mevcut olmalıdır.\n\n" -" yüklü hiçbir Smm süreç içinde aktarılır.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " +msgstr "" #: redbot/core/cog_manager.py:420 msgid "That path does not exist." @@ -121,1207 +100,1312 @@ msgstr "Bot yeni Smm '{}' dizinine yükler." #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " -msgstr "\n" -" Tüm yüklü ve kullanılabilir Smm listeler.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " +msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" -msgstr "** (dolu): **\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" +msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" -msgstr "** (boş): **\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" +msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" msgstr "Çekirdek işlevleri için ilgili komutları" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." msgstr "Pong." -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" msgstr "Red hakkında bilgi gösterir" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" msgstr "Red'in uptime gösterir" -#: redbot/core/core_commands.py:349 -#, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " -msgstr "\n" -" Değiştirme komutlarını açma veya kapatma katıştırır.\n\n\n" -" ' ye (\n" -" komutları) destekleyen bir komutun bir tepki olarak kullanım gömer olsun veya olmasın bu ayarı belirler.\n" -" için varsayılandır kullanım katıştırır.\n" -" " +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" +msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " -msgstr "\n" -" Ayarı Değiştir global gömün.\n\n" -" Kullanıcı\n" -" veya lonca bir tercihi ayarlarsanız değil bu bir geri dönüş kullanılır.\n" -" varsayılandır kullanmak için katıştırır.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " +msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 +#, docstring +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." msgstr "Gömer oldular (varsayılan olarak)." -#: redbot/core/core_commands.py:388 -#, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " -msgstr "\n" -" Ayarı Değiştir Lonca'nın gömün. etkin ise\n\n" -" değil, ayarı tanımsız olur ve\n" -" genel varsayılan yerine kullanılır.\n\n" -" set, bu yerine genel varsayılan\n" -" kullanmak üzere gömer olup olmadığını belirlemek için kullanılır eğer. Bu bir filo kanal\n" -" yardım komutları için dışında yapılan tüm komutları için kullanılan\n" -" ' tir.\n" -" " +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" +msgstr "deaktif" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "açıldı" + +#: redbot/core/core_commands.py:375 +#, docstring +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." msgstr "Embed'ler artık global ayarlara geri dönecek." -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." msgstr "Gömer {} Bu filo için oldular." -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " -msgstr "\n" -" Ayarı Değiştir Lonca'nın gömün. etkin ise\n\n" -" değil, ayarı tanımsız olur ve\n" -" genel varsayılan yerine kullanılır.\n\n" -" set, bu yerine genel varsayılan\n" -" kullanmak üzere gömer olup olmadığını belirlemek için kullanılır eğer. Bu bir filo kanal\n" -" yardım komutları için dışında yapılan tüm komutları için kullanılan\n" -" ' tir.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " +msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." msgstr "Gömer {} Bu filo için oldular." -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:420 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" -msgstr "Oluştu son komut özel durum sahibine gönderir kamu (Evet belirtilirse,), bu sohbet için bunun yerine gönderilir" +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" +msgstr "" -#: redbot/core/core_commands.py:448 +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 #, docstring msgid "Show's Red's invite url" msgstr "Red'in davet linkini gösterir" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" +msgstr "" + +#: redbot/core/core_commands.py:448 +#, docstring +msgid "\\n Define if the command should be accessible for the average users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" msgstr "Sunucudan çıkar" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "Yanıt yok, zaman aşımı oluştu." + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" msgstr "Listeler ve sunucuları gitmek verir" -#: redbot/core/core_commands.py:520 +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "Tamamdır." + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring msgid "Loads packages" msgstr "Paketleri yükler" -#: redbot/core/core_commands.py:552 +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring msgid "Unloads packages" msgstr "Bellekten paketleri" -#: redbot/core/core_commands.py:570 +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring msgid "Reloads packages" msgstr "Bellekten paketleri" -#: redbot/core/core_commands.py:594 +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring msgid "Shuts down the bot" msgstr "Botu kapatır" -#: redbot/core/core_commands.py:599 +#: redbot/core/core_commands.py:735 msgid "Shutting down... " msgstr "Kapatılıyor..." -#: redbot/core/core_commands.py:605 +#: redbot/core/core_commands.py:741 #, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" -msgstr "Kırmızı\n\n" -" ile çıkın kırmızı yapar yeniden denemesi çıkmak kodu 26\n" -" yeniden garanti:\n" -" ile kullanılan işlem yöneticisi tarafından ele alınmalıdır" +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" +msgstr "" -#: redbot/core/core_commands.py:612 +#: redbot/core/core_commands.py:748 msgid "Restarting..." msgstr "Yeniden başlatılıyor..." -#: redbot/core/core_commands.py:617 +#: redbot/core/core_commands.py:753 #, docstring msgid "Changes Red's settings" msgstr "Red'in ayarlarını değiştirir" -#: redbot/core/core_commands.py:649 +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" +msgstr "" + +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" +msgstr "" + +#: redbot/core/core_commands.py:795 #, docstring -msgid "Sets the admin role for this server" -msgstr "Bu sunucu için yönetici rolü ayarlar" +msgid "\\n Adds an admin role for this guild.\\n " +msgstr "" -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." -msgstr "Bu lonca için yönetici rolü belirlendi." +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." +msgstr "" -#: redbot/core/core_commands.py:657 +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 #, docstring -msgid "Sets the mod role for this server" -msgstr "Bu sunucu için yönetici rolü ayarlar" +msgid "\\n Adds a mod role for this guild.\\n " +msgstr "" -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." -msgstr "Bu lonca için yönetici rolü belirlendi." +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." +msgstr "" -#: redbot/core/core_commands.py:665 +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 #, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " -msgstr "\n" -" Geçiş yapmak için bot sahibi yapılandırılmış renk kullanmak için gömer olup olmadığını.\n\n" -" bot yapılandırılmış renk kullanılan durum\n" -" renk renk bot'ın en iyi rolü olacak, kullanmamak için varsayılandır.\n" -" " +msgid "\\n Removes an admin role for this guild.\\n " +msgstr "" -#: redbot/core/core_commands.py:674 +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 msgid "The bot {} use its configured color for embeds." msgstr "Bot {} kullanmak için yapılandırılmış rengini katıştırır." -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will not" msgstr "olmayacak" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will" msgstr "olacak" -#: redbot/core/core_commands.py:683 +#: redbot/core/core_commands.py:865 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " -msgstr "\n" -" Belirsiz komut arama sunucusu için etkinleştirilip etkinleştirilmeyeceğini geçiş.\n\n" -" devre dışı bırakılması bulanık komut arama için varsayılandır.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " +msgstr "" -#: redbot/core/core_commands.py:691 +#: redbot/core/core_commands.py:873 msgid "Fuzzy command search has been {} for this server." msgstr "Bulanık komut arama {} bu sunucu için olmuştur." -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "deaktif" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "açıldı" - -#: redbot/core/core_commands.py:699 +#: redbot/core/core_commands.py:881 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " -msgstr "\n" -" Belirsiz komut arama sunucusu için etkinleştirilip etkinleştirilmeyeceğini geçiş.\n\n" -" devre dışı bırakılması bulanık komut arama için varsayılandır.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " +msgstr "" -#: redbot/core/core_commands.py:707 +#: redbot/core/core_commands.py:889 msgid "Fuzzy command search has been {} in DMs." msgstr "Bulanık komut arama {} DMs içinde olmuştur." -#: redbot/core/core_commands.py:715 +#: redbot/core/core_commands.py:897 #, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " -msgstr "\n" -" Bot için kullanılacak bir varsayılan renk kümeleri katıştırır. renk parametresi için kabul edilebilir değerler\n\n" -" bulunabilir:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " +msgstr "" -#: redbot/core/core_commands.py:725 +#: redbot/core/core_commands.py:907 msgid "The color has been reset." msgstr "Renk sıfırlandı." -#: redbot/core/core_commands.py:728 +#: redbot/core/core_commands.py:910 msgid "The color has been set." msgstr "Renk ayarlandı." -#: redbot/core/core_commands.py:733 +#: redbot/core/core_commands.py:915 #, docstring msgid "Sets Red's avatar" msgstr "Red'in avatarını ayarlar" -#: redbot/core/core_commands.py:742 +#: redbot/core/core_commands.py:924 msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." msgstr "Başarısız oldu. Avatarımı saatte iki defaya kadar düzenleyebileceğinizi unutmayın. URL, JPG / PNG’ye doğrudan bağlantı olmalıdır." -#: redbot/core/core_commands.py:749 +#: redbot/core/core_commands.py:931 msgid "JPG / PNG format only." msgstr "Sadece JPG / PNG formatında." -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 -msgid "Done." -msgstr "Tamamdır." - -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:939 #, docstring msgid "Sets Red's playing status" msgstr "Red'in oyun durumunu ayarlar" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "Oyun seti." -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" msgstr "Red'in dinleme durumunu ayarlar" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." msgstr "Dinleme seti." -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" msgstr "Red'in izlenme durumunu ayarlar" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." msgstr "Seti izlemek." -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " -msgstr "Red'in durumunu ayarlar\n\n" -" Mevcut durumlar:\n" -" internet üzerinden\n" -" boş\n" -" dnd\n" -" görünmez " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " +msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "Durum {} olarak değiştirildi." -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." -msgstr "Kırmızı'nın akış durumunu ayarlar Hem akışı hem de akış başlığını boş bırakmak onu temizler." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." +msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" msgstr "Red'in kullanıcı adını belirler" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "İsim değiştirilemedi. Bunu sadece saatte 2 defaya kadar yapabileceğinizi unutmayın. Sık değişikliklere ihtiyacınız varsa takma ad kullanın. `{} set takma adı '" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" msgstr "Red'in kullanıcı adını belirler" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "Kendi takma ismimi değiştirmek için izinlerim yok." -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" msgstr "Red'in global öneklerini ayarlar" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "Önek seti." -#: redbot/core/core_commands.py:890 +#: redbot/core/core_commands.py:1072 #, docstring msgid "Sets Red's server prefix(es)" msgstr "Red'in global öneklerini ayarlar" -#: redbot/core/core_commands.py:893 +#: redbot/core/core_commands.py:1075 msgid "Guild prefixes have been reset." msgstr "Lonca önekleri sıfırlandı." -#: redbot/core/core_commands.py:902 +#: redbot/core/core_commands.py:1084 #, docstring msgid "Sets Red's main owner" msgstr "Kırmızı'nın ana sahibi ayarlar" -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "\n" -"Doğrulama kodu:" +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "Unutmayın:\n" +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" -#: redbot/core/core_commands.py:919 +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." msgstr "Tek seferlik bir belirteç konsol yazdırabilirsiniz. Kopyala Yapıştır burada sahibi olduğunuzu onaylamak için." -#: redbot/core/core_commands.py:932 +#: redbot/core/core_commands.py:1120 msgid "The `{prefix}set owner` request has timed out." msgstr "'Sahibi{prefix}set' isteği zaman aşımına uğradı." -#: redbot/core/core_commands.py:939 +#: redbot/core/core_commands.py:1127 msgid "You have been set as owner." msgstr "Sahibi olarak belirlendi." -#: redbot/core/core_commands.py:941 +#: redbot/core/core_commands.py:1129 msgid "Invalid token." msgstr "Geçersiz token." -#: redbot/core/core_commands.py:946 +#: redbot/core/core_commands.py:1134 #, docstring msgid "Change bot token." msgstr "Değişiklik bot simgesi." -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" -msgstr "Lütfen o komutu DM kullanın. Kullanıcılar muhtemelen belirtecinizi gördüğüne göre şu anda sıfırlamak için önerilir. Aşağıdaki bağlantı gidip 'Açığa vurmak Token' ve 'Oluştur yeni bir belirteci?' i seçin.\n\n" -"https://discordapp.com/developers/applications/me/ {}" +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" +msgstr "" -#: redbot/core/core_commands.py:971 +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 #, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " -msgstr "\n" -" Değişiklikleri bot yerel ayarı.\n\n" -" [p]listlocales kullanılabilir yerel ayarlar listesini almak için kullanın.\n\n" -" \"en-US\" İngilizce'ye sıfırlamak için kullanın.\n" -" " +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " +msgstr "" -#: redbot/core/core_commands.py:982 +#: redbot/core/core_commands.py:1172 msgid "Locale has been set." msgstr "Yerel ayarı belirlemek." -#: redbot/core/core_commands.py:987 +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 #, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " -msgstr "Etkinleştirmek veya nöbetçi günlüğü devre dışı.\n\n" -" nöbetçi kırmızı hata bildirimi yönetmek için kullandığı bir hizmettir. Bu\n" -" gerekir devre dışı bırakılabilir redbot\n" -" paket kendi değişiklikler yaptıysanız.\n" -" " +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " +msgstr "" -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." -msgstr "Bitmiş. Günlük nöbetçi şimdi etkinleştirildi." +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." +msgstr "" -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." -msgstr "Bitmiş. Günlük nöbetçi şimdi devre dışı." +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." +msgstr "" -#: redbot/core/core_commands.py:1004 +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 #, docstring msgid "Manage settings for the help command." msgstr "Yardım komutu ayarlarını yönetin." -#: redbot/core/core_commands.py:1009 +#: redbot/core/core_commands.py:1228 #, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " -msgstr "Her sayfa için karakter sınırını yardım iletisini ayarlayın.\n\n" -" Bu ayar yalnızca katıştırılmış Yardım için uygulanır.\n\n" -" relitavely küçük karakter sınırını ayarlama\n" -" Mayıs unutmayın demek bazı sayfaları bu sınırı aşacak. Yardım iletide birden çok sayfalar arasında kategorisi\n" -" asla yayıldığı için bu.\n\n" -" varsayılan değer 1000 karakter olabilir.\n" -" " +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " +msgstr "" -#: redbot/core/core_commands.py:1020 +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 msgid "You must give a positive value!" msgstr "Pozitif bir değer vermelisiniz!" -#: redbot/core/core_commands.py:1024 +#: redbot/core/core_commands.py:1317 msgid "Done. The character limit per page has been set to {}." msgstr "Bitmiş. Sayfa başına karakter sınırı {} için ayarlandı." -#: redbot/core/core_commands.py:1028 +#: redbot/core/core_commands.py:1321 #, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " -msgstr "Bir sunucu kanal olarak gönderilen yardım sayfa maksimum sayısını ayarlayın.\n\n" -" Bu ayar yalnızca katıştırılmış Yardım için uygulanır. bir yardım iletisi bu değerden yardım ileti\n" -" daha fazla sayfa içeriyorsa,\n\n" -" komut yazar DM üzerinden gönderilmesi. Sunucu\n" -" metin kanalları spam azaltmaya yardımcı olmak için bu.\n\n" -" 2 sayfa varsayılan değerdir.\n" -" " +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " +msgstr "" -#: redbot/core/core_commands.py:1039 +#: redbot/core/core_commands.py:1332 msgid "You must give a value of zero or greater!" msgstr "Sıfır veya daha büyük bir değer vermek gerekir!" -#: redbot/core/core_commands.py:1043 +#: redbot/core/core_commands.py:1336 msgid "Done. The page limit has been set to {}." msgstr "Bitmiş. Sayfa sınırı {} için ayarlandı." -#: redbot/core/core_commands.py:1047 +#: redbot/core/core_commands.py:1340 #, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " -msgstr "\n" -" Set kullanılmak üzere slogan.\n\n" -" Bu ayar yalnızca katıştırılmış Yardım için uygulanır. Hiçbir mesaj alanı belirtilen\n" -" ise, varsayılan yerine kullanılır.\n" -" " +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " +msgstr "" -#: redbot/core/core_commands.py:1055 +#: redbot/core/core_commands.py:1348 msgid "The tagline has been reset." msgstr "Tagline sıfırlandı." -#: redbot/core/core_commands.py:1059 +#: redbot/core/core_commands.py:1352 msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." msgstr "Senin slogan çok uzundur! Lütfen en fazla 2048 karakter uzunluğunda olmasını kısaltın." -#: redbot/core/core_commands.py:1067 +#: redbot/core/core_commands.py:1360 msgid "The tagline has been set to {}." msgstr "Tagline {} için ayarlandı." -#: redbot/core/core_commands.py:1072 +#: redbot/core/core_commands.py:1365 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " -msgstr "\n" -"Kullanım
'2
yerel ayarını ayarlamak' tüm kullanılabilir yerel ayarlar\n\n" -" \n" -" listeler bir yerel ayar\n" -" ayarlamak için " +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " +msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." msgstr "Örnek için tüm verilerin yedeğini oluşturur." -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "Bu örnek, bir yedek yapılmıştır. Bu {}." -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" msgstr "DM üzerinden bir kopyasını almak ister misiniz? (e/h)" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "Yanıt yok, zaman aşımı oluştu." - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" msgstr "Tamam, yola çıktı!" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" msgstr "Yedek bir kopyası" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" -msgstr "" +msgstr "Sana DM atamıyorum. DMlerin kapalı durumda mı?" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." -msgstr "" +msgstr "Sana yedeği gönderemiyorum." -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." msgstr "Tamam o zaman." -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." msgstr "Bu dizinin var gibi görünmüyor..." -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" msgstr "Kullanıcıya mesaj gönder" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" msgstr "Kullanıcı Kimliği" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "vasitasiyla" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "()" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" msgstr " | sunucu kimliği: {}" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "Bu Kullanıcı için yanıt için ' {} dm {} ' kullanın" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "{} {} Tarafından gönderilen" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" -msgstr "Mesajınız gönderemezsiniz, benim sahibi bulmak kuramıyorum * iç çekme *" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." +msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "Mesajınızı teslim edemiyorum. Afedersiniz." - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "Mesajınız gönderildi." -#: redbot/core/core_commands.py:1249 -#, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" -msgstr "Bir kullanıcıya bir DM gönderir\n\n" -" Bu komutun çalışması için bir kullanıcı kimliği gerekiyor.\n" -" Bir kullanıcı kimliği almak için Discord'un 'geliştirici modu'nu etkinleştirin\n" -" ayarlar, 'görünüm' sekmesi. Ardından bir kullanıcıyı sağ tıklayın\n" -" ve kimliklerini kopyala" +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." +msgstr "Mesajınızı teslim edemiyorum. Afedersiniz." -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1589 +#, docstring +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" +msgstr "" + +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "Geçersiz kimlik veya Kullanıcı bulunamadı. Yalnızca kişilere ileti gönderebilirsiniz bir sunucu ile paylaşmak." -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" msgstr "Sahibi {}" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" msgstr "{} Kişi bu iletiyle yanıtlayabilirsiniz" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" msgstr "Üzgünüz, ben mesajınızı teslim edemedin için {}" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" msgstr "Mesaj iletildi" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " -msgstr "\n" -" Beyaz liste yönetimi komutları.\n" -" " +msgid "Prints the bot's data path." +msgstr "" -#: redbot/core/core_commands.py:1309 +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" +msgstr "" + +#: redbot/core/core_commands.py:1652 #, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " -msgstr "\n" -" Kullanıcı beyaz listeye ekler.\n" -" " +msgid "Shows debug information useful for debugging.." +msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." msgstr "Kullanıcı izin verilenler listenize eklendi." -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " -msgstr "\n" -" Beyaz liste kullanıcıları listeler.\n" -" " +msgid "\\n Lists whitelisted users.\\n " +msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "Beyaz listeye alınmış Ip`ler:" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " -msgstr "\n" -" Kullanıcı beyaz listeye ekler.\n" -" " +msgid "\\n Removes user from whitelist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "Kullanıcı hesaptan kaldırıldı." -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "Kullanıcı içinde beyaz değildi." -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " -msgstr "\n" -" Kullanıcı beyaz listeye ekler.\n" -" " +msgid "\\n Clears the whitelist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." msgstr "Beyaz Liste temizlendi." -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " -msgstr "\n" -" beyaz liste yönetimi komutları.\n" -" " +msgid "\\n Blacklist management commands.\\n " +msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " -msgstr "\n" -" Kullanıcı beyaz listeye ekler.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" msgstr "Arkadaşını kara listeye ekleyemezsin!" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "%s kara listeye eklendi." -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " -msgstr "\n" -" Beyaz liste kullanıcıları listeler.\n" -" " +msgid "\\n Lists blacklisted users.\\n " +msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" -msgstr "beyaz listeye alınmış Ip`ler:" +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" +msgstr "" -#: redbot/core/core_commands.py:1396 +#: redbot/core/core_commands.py:1799 #, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " -msgstr "\n" -" Kullanıcı beyaz listeye ekler.\n" -" " +msgid "\\n Removes user from blacklist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "Kullanıcı hesaptan kaldırıldı." -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "Kullanıcı içinde beyaz değildi." -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " -msgstr "\n" -" Kullanıcı beyaz listeye ekler.\n" -" " +msgid "\\n Clears the blacklist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." -msgstr "beyaz Liste temizlendi." +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." +msgstr "" -#: redbot/core/core_commands.py:1432 +#: redbot/core/core_commands.py:1826 #, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " -msgstr "\n" -" Bir kullanıcı veya rolün beyaz listeye ekler.\n" -" " +msgid "\\n Whitelist management commands.\\n " +msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." msgstr "Rol beyaz listeye eklendi." -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " -msgstr "\n" -" Beyaz liste kullanıcıları ve rolleri listeler.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " +msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" msgstr "Beyaz liste kullanıcılar ve roller:" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " -msgstr "\n" -" Kullanıcı veya rolün beyaz liste kaldırır.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." msgstr "Rol beyaz liste kaldırıldı." -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." msgstr "Rol içinde beyaz değildi." -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " -msgstr "\n" -" Bir kullanıcı veya rolün için blacklist ekler.\n" -" " +msgid "\\n Clears the whitelist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." msgstr "Rol kara listeye eklendi." -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " -msgstr "\n" -" Kullanıcı ve rolleri listeler kara listeye.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " +msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" -msgstr "kara listeye kullanıcılar ve roller:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" +msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " -msgstr "\n" -" Kullanıcı veya rolün kara kaldırır.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " +msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." msgstr "Rol kara kaldırıldı." -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." msgstr "Rol kara liste içinde değildi." -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." msgstr "Bot komutları yönetme." -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " -msgstr "Bir komutu devre dışı bırakın.\n\n" -" bot sahibi iseniz, bu komutları\n" -" genel olarak varsayılan olarak devre dışı bırakır.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " +msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "Bir komut genel olarak devre dışı bırakın." -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." msgstr "Bu komut bulamadım. Lütfen büyük küçük harf duyarlı olduğunu unutmayın." -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "Bu komut zaten genel olarak devre dışı bırakıldı." -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "Yalnızca bu sunucuya bir komutu devre dışı bırakın." -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "Bu komut zaten bu Server'da devre dışı bırakıldı." -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " -msgstr "Bir komutu devre dışı bırakın.\n\n" -" bot sahibi iseniz, bu komutları\n" -" genel olarak varsayılan olarak devre dışı bırakır.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " +msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." msgstr "Genel olarak bir komut etkinleştirmek." -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." msgstr "Bu komut genel olarak zaten etkinleştirilmiştir." -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." msgstr "Bu sunucu bir komutu etkinleştirin." -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." msgstr "Bu komut bu sunucu zaten etkinleştirilmiştir." -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " -msgstr "Bot'ın yanıt Engelli komutları olarak ayarlayın.\n\n" -" hiçbir şey göndermek için boş bırakın.\n\n" -" iletide komut adı eklemek için\n" -" '{command}' yer tutucu Ekle.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " +msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " -msgstr "\n" -"Dokunulmazlık otomatik eylemler\n" -" \n" -" sunucu ayarlarını " +msgid "\\n Server settings for immunity from automated actions\\n " +msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " -msgstr "\n" -"Otomatik denetimi eylem dokunulmazlık\n" -" için yapılandırılmış geçerli Üyeler ve rolleri\n\n" -"
0's
olsun " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " +msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" -msgstr "Rolleri üzerinden bağışıklık otomatik ılımlılık eylemler:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" +msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" -msgstr "Rolleri üzerinden bağışıklık otomatik ılımlılık eylemler:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" +msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." msgstr "Buradaki hiçbir immunty ayarlar." -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " -msgstr "\n" -" bir Kullanıcı ya da rol bağışıklık otomatik ılımlılık eylemler\n" -" sağlar " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." msgstr "Zaten eklendi." -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 msgid "Not in list." msgstr "Listede değil." -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " -msgstr "bir kullanıcı veya rolün Otomatik eylemler\n" -" ' den bağışıklık olmak kabul eğer \n" -" denetler " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " +msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" msgstr "Bağışık olduklarını" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" msgstr "Onlar bağışıklık değildir" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " -msgstr "Bir deyim python kod değerlendirmek.\n\n" -" bot her zaman kodu dönüş değeri ile yanıt verir.\n" -" dönüş değeri kodu, bir coroutine ise, beklenen,\n" -" ve bunun sonuçlarını bot'ın yanıt olacaktır.\n\n" -" Not: tek bir deyimi değerlendirilir. Kullanarak bekliyor, verim veya\n" -" benzer sınırlı anahtar sözcükler bir sözdizimi hatası neden olur. Birden fazla\n" -" satırları veya zaman uyumsuz kod için [p]çoğaltma veya [p]eval bakın.\n\n" -" ortam değişkenleri:\n" -" ctx - komut invokation bağlam\n" -" bot - bot nesne\n" -" Kanal - geçerli kanal nesne\n" -" yazar - komut yazarın üye nesne\n" -" mesaj - komut iletisi nesne\n" -" anlaşmazlık - discord.py kitaplığı < div class = \"notranslate\" > 15 - redbot.core.commands\n" -" _ - son dev komutun sonucu komutları.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " +msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " -msgstr "Zaman uyumsuz kod yürütebilir.\n\n" -" bu komut kodu bir zaman uyumsuz işlev gövdesine tamamladı ve ardından\n" -" çağırır ve bu bekliyor. Bot\n" -" stdout yanı sıra işlevin dönüş değeri baskılı bir şey ile yanıt verir.\n\n" -" kod içinde bir codeblock, satır içi kod veya her ikisi de uzun\n" -" olarak değil karışık ve onlar doğru şekilde biçimlendirilip gibi olabilir.\n\n" -" ortam değişkenleri:\n" -" ctx - komut invokation bağlam\n" -" bot - bot\n" -" kanal - c nesne geçerli kanal nesne\n" -" yazar - komut yazarın üye nesne\n" -" mesaj - komut iletisi nesne\n" -" anlaşmazlık - discord.py kitaplığı < div sınıf \"notranslate\" = > 12 - redbot.core.commands\n" -" _ - son dev komutun sonucu komutları.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " +msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " -msgstr "Açık bir etkileşimli REPL.\n\n" -" çoğaltma yalnızca kod\n" -" çalıştırma ile start iletileri olarak tanıyacak. Bu codeblocks içerir ve bu nedenle değerlendirilen\n" -" birden fazla satır olabilir.\n\n\n" -" zaman uyumsuz işlevinin içinde tanımladığınız sürece sizi bu çoğaltma herhangi bir kodda bekliyor değil.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " +msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "Zaten bir çoğaltma oturum bu kanalda çalışan. Bunu 'istifa ile' çık." -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "Yürütmek veya değerlendirmek için kod girin. 'çıkış' veya 'çıkmak' çıkmak için." -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "Beklenmeyen hata: '{}'" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " -msgstr "Başka bir Kullanıcı bir komut çağırma alay.\n\n" -" öneki girilmelidir değil.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " +msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " -msgstr "Sanki başka bir kullanıcı tarafından gönderilen ileti olayına gönderme.\n\n" -" yalnızca ileti ham içeriğini okur. Ekleri, vb gömer\n" -" göz ardı vardır.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " +msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." msgstr "{user}' ın denge değil artış yukarıda {max:,} {currency}." -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " -msgstr "Yardım belgeleri göster.\n\n" -" -
'1
Yardım': Yardım'ı el ile göstermek.\n" -" -
'3
yardım komutu': bir komutunun yardımını göster.\n" -" -
'5
yardım kategori': göster komutları ve açıklama için bir kategori,\n" -" " - -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." -msgstr "Ben yardım için DM. göndermek olamazdı ya beni engelledi ya DMs bu Server'da devre dışı." - -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" +msgstr "" + +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" +msgstr "" + +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/zh-CN.po b/redbot/core/locales/zh-CN.po index 500993b6a..f799ef217 100644 --- a/redbot/core/locales/zh-CN.po +++ b/redbot/core/locales/zh-CN.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-02-17 02:24+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,6 +16,14 @@ msgstr "" "X-Crowdin-File: /core/locales/messages.pot\n" "Language: zh_CN\n" +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + #: redbot/core/cog_manager.py:312 #, docstring msgid "Commands to interface with Red's cog manager." @@ -23,21 +31,16 @@ msgstr "" #: redbot/core/cog_manager.py:317 #, docstring -msgid "\n" -" Lists current cog paths in order of priority.\n" -" " +msgid "\\n Lists current cog paths in order of priority.\\n " msgstr "" #: redbot/core/cog_manager.py:325 -msgid "Install Path: {install_path}\n" -"Core Path: {core_path}\n\n" +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" msgstr "" #: redbot/core/cog_manager.py:339 #, docstring -msgid "\n" -" Add a path to the list of available cog paths.\n" -" " +msgid "\\n Add a path to the list of available cog paths.\\n " msgstr "" #: redbot/core/cog_manager.py:343 @@ -50,10 +53,7 @@ msgstr "路径已成功添加。" #: redbot/core/cog_manager.py:356 #, docstring -msgid "\n" -" Removes a path from the available cog paths given the path_number\n" -" from !paths\n" -" " +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " msgstr "" #: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 @@ -70,9 +70,7 @@ msgstr "路径已被成功删除。" #: redbot/core/cog_manager.py:378 #, docstring -msgid "\n" -" Reorders paths internally to allow discovery of different cogs.\n" -" " +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " msgstr "" #: redbot/core/cog_manager.py:392 @@ -89,12 +87,7 @@ msgstr "已重新排序路径。" #: redbot/core/cog_manager.py:407 #, docstring -msgid "\n" -" Returns the current install path or sets it if one is provided.\n" -" The provided path must be absolute or relative to the bot's\n" -" directory and it must already exist.\n\n" -" No installed cogs will be transferred in the process.\n" -" " +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " msgstr "" #: redbot/core/cog_manager.py:420 @@ -107,1028 +100,1312 @@ msgstr "机器人将安装新的齿轮到`{}`目录。" #: redbot/core/cog_manager.py:431 #, docstring -msgid "\n" -" Lists all loaded and available cogs.\n" -" " +msgid "\\n Lists all loaded and available cogs.\\n " msgstr "" -#: redbot/core/cog_manager.py:444 redbot/core/cog_manager.py:455 -msgid "**{} loaded:**\n" +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" msgstr "" -#: redbot/core/cog_manager.py:445 redbot/core/cog_manager.py:457 -msgid "**{} unloaded:**\n" +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" msgstr "" -#: redbot/core/core_commands.py:263 +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 #, docstring msgid "Commands related to core functions" msgstr "" -#: redbot/core/core_commands.py:267 +#: redbot/core/core_commands.py:268 #, docstring msgid "Pong." msgstr "" -#: redbot/core/core_commands.py:272 +#: redbot/core/core_commands.py:273 #, docstring msgid "Shows info about Red" msgstr "" -#: redbot/core/core_commands.py:322 +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 #, docstring msgid "Shows Red's uptime" msgstr "" -#: redbot/core/core_commands.py:349 -#, docstring -msgid "\n" -" Commands for toggling embeds on or off.\n\n" -" This setting determines whether or not to\n" -" use embeds as a response to a command (for\n" -" commands that support it). The default is to\n" -" use embeds.\n" -" " +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" msgstr "" -#: redbot/core/core_commands.py:371 +#: redbot/core/core_commands.py:336 #, docstring -msgid "\n" -" Toggle the global embed setting.\n\n" -" This is used as a fallback if the user\n" -" or guild hasn't set a preference. The\n" -" default is to use embeds.\n" -" " +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " msgstr "" -#: redbot/core/core_commands.py:381 +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 +#, docstring +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:368 msgid "Embeds are now {} by default." msgstr "" -#: redbot/core/core_commands.py:388 -#, docstring -msgid "\n" -" Toggle the guild's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a guild channel except\n" -" for help commands.\n" -" " +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" msgstr "" -#: redbot/core/core_commands.py:401 redbot/core/core_commands.py:422 +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "" + +#: redbot/core/core_commands.py:375 +#, docstring +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 msgid "Embeds will now fall back to the global setting." msgstr "" -#: redbot/core/core_commands.py:404 +#: redbot/core/core_commands.py:391 msgid "Embeds are now {} for this guild." msgstr "" -#: redbot/core/core_commands.py:409 +#: redbot/core/core_commands.py:398 #, docstring -msgid "\n" -" Toggle the user's embed setting.\n\n" -" If enabled is None, the setting will be unset and\n" -" the global default will be used instead.\n\n" -" If set, this is used instead of the global default\n" -" to determine whether or not to use embeds. This is\n" -" used for all commands done in a DM with the bot, as\n" -" well as all help commands everywhere.\n" -" " +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " msgstr "" -#: redbot/core/core_commands.py:425 +#: redbot/core/core_commands.py:414 msgid "Embeds are now {} for you." msgstr "" -#: redbot/core/core_commands.py:431 +#: redbot/core/core_commands.py:420 #, docstring -msgid "Sends to the owner the last command exception that has occurred\n\n" -" If public (yes is specified), it will be sent to the chat instead" +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" msgstr "" -#: redbot/core/core_commands.py:448 +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 #, docstring msgid "Show's Red's invite url" msgstr "" -#: redbot/core/core_commands.py:455 +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" +msgstr "" + +#: redbot/core/core_commands.py:448 +#, docstring +msgid "\\n Define if the command should be accessible for the average users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 #, docstring msgid "Leaves server" msgstr "" -#: redbot/core/core_commands.py:475 +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "" + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 #, docstring msgid "Lists and allows to leave servers" msgstr "" -#: redbot/core/core_commands.py:520 +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "完成。" + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 #, docstring msgid "Loads packages" msgstr "" -#: redbot/core/core_commands.py:552 +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 #, docstring msgid "Unloads packages" msgstr "" -#: redbot/core/core_commands.py:570 +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 #, docstring msgid "Reloads packages" msgstr "" -#: redbot/core/core_commands.py:594 +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 #, docstring msgid "Shuts down the bot" msgstr "" -#: redbot/core/core_commands.py:599 +#: redbot/core/core_commands.py:735 msgid "Shutting down... " msgstr "关闭... " -#: redbot/core/core_commands.py:605 +#: redbot/core/core_commands.py:741 #, docstring -msgid "Attempts to restart Red\n\n" -" Makes Red quit with exit code 26\n" -" The restart is not guaranteed: it must be dealt\n" -" with by the process manager in use" +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" msgstr "" -#: redbot/core/core_commands.py:612 +#: redbot/core/core_commands.py:748 msgid "Restarting..." msgstr "" -#: redbot/core/core_commands.py:617 +#: redbot/core/core_commands.py:753 #, docstring msgid "Changes Red's settings" msgstr "" -#: redbot/core/core_commands.py:649 -#, docstring -msgid "Sets the admin role for this server" +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" msgstr "" -#: redbot/core/core_commands.py:651 -msgid "The admin role for this guild has been set." -msgstr "针对此行会的管理员角色已经设置。" - -#: redbot/core/core_commands.py:657 -#, docstring -msgid "Sets the mod role for this server" +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" msgstr "" -#: redbot/core/core_commands.py:659 -msgid "The mod role for this guild has been set." -msgstr "针对此行会的协调员角色已经设置。" - -#: redbot/core/core_commands.py:665 +#: redbot/core/core_commands.py:795 #, docstring -msgid "\n" -" Toggle whether to use the bot owner-configured colour for embeds.\n\n" -" Default is to not use the bot's configured colour, in which case the\n" -" colour used will be the colour of the bot's top role.\n" -" " +msgid "\\n Adds an admin role for this guild.\\n " msgstr "" -#: redbot/core/core_commands.py:674 +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." +msgstr "" + +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 +#, docstring +msgid "\\n Adds a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." +msgstr "" + +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 +#, docstring +msgid "\\n Removes an admin role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 msgid "The bot {} use its configured color for embeds." msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will not" msgstr "" -#: redbot/core/core_commands.py:675 +#: redbot/core/core_commands.py:857 msgid "will" msgstr "" -#: redbot/core/core_commands.py:683 +#: redbot/core/core_commands.py:865 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search for the server.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:691 +#: redbot/core/core_commands.py:873 msgid "Fuzzy command search has been {} for this server." msgstr "" -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "disabled" -msgstr "" - -#: redbot/core/core_commands.py:692 redbot/core/core_commands.py:708 -msgid "enabled" -msgstr "" - -#: redbot/core/core_commands.py:699 +#: redbot/core/core_commands.py:881 #, docstring -msgid "\n" -" Toggle whether to enable fuzzy command search in DMs.\n\n" -" Default is for fuzzy command search to be disabled.\n" -" " +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " msgstr "" -#: redbot/core/core_commands.py:707 +#: redbot/core/core_commands.py:889 msgid "Fuzzy command search has been {} in DMs." msgstr "" -#: redbot/core/core_commands.py:715 +#: redbot/core/core_commands.py:897 #, docstring -msgid "\n" -" Sets a default colour to be used for the bot's embeds.\n\n" -" Acceptable values for the colour parameter can be found at:\n\n" -" http://discordpy.readthedocs.io/en/rewrite/ext/commands/api.html#discord.ext.commands.ColourConverter\n" -" " +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " msgstr "" -#: redbot/core/core_commands.py:725 +#: redbot/core/core_commands.py:907 msgid "The color has been reset." msgstr "" -#: redbot/core/core_commands.py:728 +#: redbot/core/core_commands.py:910 msgid "The color has been set." msgstr "" -#: redbot/core/core_commands.py:733 +#: redbot/core/core_commands.py:915 #, docstring msgid "Sets Red's avatar" msgstr "" -#: redbot/core/core_commands.py:742 +#: redbot/core/core_commands.py:924 msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." msgstr "失败。请记住在每个小时你最多可以编辑两次头像。网址必须是JPG/PNG图像。" -#: redbot/core/core_commands.py:749 +#: redbot/core/core_commands.py:931 msgid "JPG / PNG format only." msgstr "支持 JPG/PNG 格式。" -#: redbot/core/core_commands.py:751 redbot/core/core_commands.py:844 -#: redbot/core/core_commands.py:862 -msgid "Done." -msgstr "完成。" - -#: redbot/core/core_commands.py:757 +#: redbot/core/core_commands.py:939 #, docstring msgid "Sets Red's playing status" msgstr "" -#: redbot/core/core_commands.py:765 +#: redbot/core/core_commands.py:947 msgid "Game set." msgstr "游戏集。" -#: redbot/core/core_commands.py:771 +#: redbot/core/core_commands.py:953 #, docstring msgid "Sets Red's listening status" msgstr "" -#: redbot/core/core_commands.py:779 +#: redbot/core/core_commands.py:961 msgid "Listening set." msgstr "" -#: redbot/core/core_commands.py:785 +#: redbot/core/core_commands.py:967 #, docstring msgid "Sets Red's watching status" msgstr "" -#: redbot/core/core_commands.py:793 +#: redbot/core/core_commands.py:975 msgid "Watching set." msgstr "" -#: redbot/core/core_commands.py:799 +#: redbot/core/core_commands.py:981 #, docstring -msgid "Sets Red's status\n\n" -" Available statuses:\n" -" online\n" -" idle\n" -" dnd\n" -" invisible\n" -" " +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " msgstr "" -#: redbot/core/core_commands.py:822 +#: redbot/core/core_commands.py:1004 msgid "Status changed to {}." msgstr "" -#: redbot/core/core_commands.py:828 +#: redbot/core/core_commands.py:1010 #, docstring -msgid "Sets Red's streaming status\n" -" Leaving both streamer and stream_title empty will clear it." +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." msgstr "" -#: redbot/core/core_commands.py:849 +#: redbot/core/core_commands.py:1031 #, docstring msgid "Sets Red's username" msgstr "" -#: redbot/core/core_commands.py:854 +#: redbot/core/core_commands.py:1036 msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" msgstr "无法更改名字。请记住每个小时你只能最多进行两次操作。如果需要频繁更改,请使用昵称。`{}设置昵称`" -#: redbot/core/core_commands.py:868 +#: redbot/core/core_commands.py:1050 #, docstring msgid "Sets Red's nickname" msgstr "" -#: redbot/core/core_commands.py:872 +#: redbot/core/core_commands.py:1054 msgid "I lack the permissions to change my own nickname." msgstr "我没有更改我自己昵称的权限。" -#: redbot/core/core_commands.py:879 +#: redbot/core/core_commands.py:1061 #, docstring msgid "Sets Red's global prefix(es)" msgstr "" -#: redbot/core/core_commands.py:884 redbot/core/core_commands.py:897 +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 msgid "Prefix set." msgstr "前缀集。" -#: redbot/core/core_commands.py:890 +#: redbot/core/core_commands.py:1072 #, docstring msgid "Sets Red's server prefix(es)" msgstr "" -#: redbot/core/core_commands.py:893 +#: redbot/core/core_commands.py:1075 msgid "Guild prefixes have been reset." msgstr "已重置行会前缀。" -#: redbot/core/core_commands.py:902 +#: redbot/core/core_commands.py:1084 #, docstring msgid "Sets Red's main owner" msgstr "" -#: redbot/core/core_commands.py:912 -msgid "\n" -"Verification token:" -msgstr "验证令牌:" +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" -#: redbot/core/core_commands.py:915 -msgid "Remember:\n" -msgstr "记住:" +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" -#: redbot/core/core_commands.py:919 +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." msgstr "我在控制台打印了一次性的令牌。复制并粘贴到这里以确认你是所有者。" -#: redbot/core/core_commands.py:932 +#: redbot/core/core_commands.py:1120 msgid "The `{prefix}set owner` request has timed out." msgstr "" -#: redbot/core/core_commands.py:939 +#: redbot/core/core_commands.py:1127 msgid "You have been set as owner." msgstr "你已被设置为所有者。" -#: redbot/core/core_commands.py:941 +#: redbot/core/core_commands.py:1129 msgid "Invalid token." msgstr "无效令牌。" -#: redbot/core/core_commands.py:946 +#: redbot/core/core_commands.py:1134 #, docstring msgid "Change bot token." msgstr "" -#: redbot/core/core_commands.py:956 -msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\n\n" -"https://discordapp.com/developers/applications/me/{}" +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" msgstr "" -#: redbot/core/core_commands.py:971 +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 #, docstring -msgid "\n" -" Changes bot locale.\n\n" -" Use [p]listlocales to get a list of available locales.\n\n" -" To reset to English, use \"en-US\".\n" -" " +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " msgstr "" -#: redbot/core/core_commands.py:982 +#: redbot/core/core_commands.py:1172 msgid "Locale has been set." msgstr "区域已经被设置。" -#: redbot/core/core_commands.py:987 +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 #, docstring -msgid "Enable or disable Sentry logging.\n\n" -" Sentry is the service Red uses to manage error reporting. This should\n" -" be disabled if you have made your own modifications to the redbot\n" -" package.\n" -" " +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " msgstr "" -#: redbot/core/core_commands.py:996 -msgid "Done. Sentry logging is now enabled." +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." msgstr "" -#: redbot/core/core_commands.py:999 -msgid "Done. Sentry logging is now disabled." +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." msgstr "" -#: redbot/core/core_commands.py:1004 +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 #, docstring msgid "Manage settings for the help command." msgstr "" -#: redbot/core/core_commands.py:1009 +#: redbot/core/core_commands.py:1228 #, docstring -msgid "Set the character limit for each page in the help message.\n\n" -" This setting only applies to embedded help.\n\n" -" Please note that setting a relitavely small character limit may\n" -" mean some pages will exceed this limit. This is because categories\n" -" are never spread across multiple pages in the help message.\n\n" -" The default value is 1000 characters.\n" -" " +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " msgstr "" -#: redbot/core/core_commands.py:1020 +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 msgid "You must give a positive value!" msgstr "" -#: redbot/core/core_commands.py:1024 +#: redbot/core/core_commands.py:1317 msgid "Done. The character limit per page has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1028 +#: redbot/core/core_commands.py:1321 #, docstring -msgid "Set the maximum number of help pages sent in a server channel.\n\n" -" This setting only applies to embedded help.\n\n" -" If a help message contains more pages than this value, the help message will\n" -" be sent to the command author via DM. This is to help reduce spam in server\n" -" text channels.\n\n" -" The default value is 2 pages.\n" -" " +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " msgstr "" -#: redbot/core/core_commands.py:1039 +#: redbot/core/core_commands.py:1332 msgid "You must give a value of zero or greater!" msgstr "" -#: redbot/core/core_commands.py:1043 +#: redbot/core/core_commands.py:1336 msgid "Done. The page limit has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1047 +#: redbot/core/core_commands.py:1340 #, docstring -msgid "\n" -" Set the tagline to be used.\n\n" -" This setting only applies to embedded help. If no tagline is\n" -" specified, the default will be used instead.\n" -" " +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " msgstr "" -#: redbot/core/core_commands.py:1055 +#: redbot/core/core_commands.py:1348 msgid "The tagline has been reset." msgstr "" -#: redbot/core/core_commands.py:1059 +#: redbot/core/core_commands.py:1352 msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." msgstr "" -#: redbot/core/core_commands.py:1067 +#: redbot/core/core_commands.py:1360 msgid "The tagline has been set to {}." msgstr "" -#: redbot/core/core_commands.py:1072 +#: redbot/core/core_commands.py:1365 #, docstring -msgid "\n" -" Lists all available locales\n\n" -" Use `[p]set locale` to set a locale\n" -" " +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " msgstr "" -#: redbot/core/core_commands.py:1091 +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 #, docstring msgid "Creates a backup of all data for the instance." msgstr "" -#: redbot/core/core_commands.py:1152 +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 msgid "A backup has been made of this instance. It is at {}." msgstr "" -#: redbot/core/core_commands.py:1155 -msgid "This backup is to large to send via DM." +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." msgstr "" -#: redbot/core/core_commands.py:1157 +#: redbot/core/core_commands.py:1458 msgid "Would you like to receive a copy via DM? (y/n)" msgstr "" -#: redbot/core/core_commands.py:1163 -msgid "Response timed out." -msgstr "" - -#: redbot/core/core_commands.py:1166 +#: redbot/core/core_commands.py:1467 msgid "OK, it's on its way!" msgstr "" -#: redbot/core/core_commands.py:1170 +#: redbot/core/core_commands.py:1471 msgid "Here's a copy of the backup" msgstr "" -#: redbot/core/core_commands.py:1175 +#: redbot/core/core_commands.py:1476 msgid "I don't seem to be able to DM you. Do you have closed DMs?" msgstr "" -#: redbot/core/core_commands.py:1178 +#: redbot/core/core_commands.py:1479 msgid "I could not send the backup file." msgstr "" -#: redbot/core/core_commands.py:1180 +#: redbot/core/core_commands.py:1481 msgid "OK then." msgstr "" -#: redbot/core/core_commands.py:1182 +#: redbot/core/core_commands.py:1483 msgid "That directory doesn't seem to exist..." msgstr "" -#: redbot/core/core_commands.py:1187 +#: redbot/core/core_commands.py:1488 #, docstring msgid "Sends a message to the owner" msgstr "" -#: redbot/core/core_commands.py:1191 +#: redbot/core/core_commands.py:1491 msgid "User ID: {}" msgstr "" -#: redbot/core/core_commands.py:1194 +#: redbot/core/core_commands.py:1494 msgid "through DM" msgstr "通过DM" -#: redbot/core/core_commands.py:1196 +#: redbot/core/core_commands.py:1496 msgid "from {}" msgstr "从 {}" -#: redbot/core/core_commands.py:1197 +#: redbot/core/core_commands.py:1497 msgid " | Server ID: {}" msgstr "" -#: redbot/core/core_commands.py:1206 +#: redbot/core/core_commands.py:1506 msgid "Use `{}dm {} ` to reply to this user" msgstr "使用 \"{} dm {} \" 来答复此用户" -#: redbot/core/core_commands.py:1208 +#: redbot/core/core_commands.py:1508 msgid "Sent by {} {}" msgstr "发送人 {} {}" -#: redbot/core/core_commands.py:1227 redbot/core/core_commands.py:1239 -msgid "I cannot send your message, I'm unable to find my owner... *sigh*" -msgstr "我不能发送你的信息。我无法找到我的所有人... *sigh*" +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." +msgstr "" -#: redbot/core/core_commands.py:1230 redbot/core/core_commands.py:1242 -msgid "I'm unable to deliver your message. Sorry." -msgstr "抱歉,我无法发送你的消息。" - -#: redbot/core/core_commands.py:1232 redbot/core/core_commands.py:1244 +#: redbot/core/core_commands.py:1582 msgid "Your message has been sent." msgstr "你的信息已发送。" -#: redbot/core/core_commands.py:1249 +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." +msgstr "抱歉,我无法发送你的消息。" + +#: redbot/core/core_commands.py:1589 #, docstring -msgid "Sends a DM to a user\n\n" -" This command needs a user id to work.\n" -" To get a user id enable 'developer mode' in Discord's\n" -" settings, 'appearance' tab. Then right click a user\n" -" and copy their id" +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" msgstr "" -#: redbot/core/core_commands.py:1258 +#: redbot/core/core_commands.py:1598 msgid "Invalid ID or user not found. You can only send messages to people I share a server with." msgstr "非法ID或者找不到用户。你只能向和我共享服务器的人发送消息。" -#: redbot/core/core_commands.py:1269 +#: redbot/core/core_commands.py:1609 msgid "Owner of {}" msgstr "" -#: redbot/core/core_commands.py:1270 +#: redbot/core/core_commands.py:1610 msgid "You can reply to this message with {}contact" msgstr "" -#: redbot/core/core_commands.py:1284 redbot/core/core_commands.py:1294 +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 msgid "Sorry, I couldn't deliver your message to {}" msgstr "" -#: redbot/core/core_commands.py:1287 redbot/core/core_commands.py:1297 +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 msgid "Message delivered to {}" msgstr "" -#: redbot/core/core_commands.py:1302 redbot/core/core_commands.py:1423 +#: redbot/core/core_commands.py:1642 #, docstring -msgid "\n" -" Whitelist management commands.\n" -" " +msgid "Prints the bot's data path." msgstr "" -#: redbot/core/core_commands.py:1309 -#, docstring -msgid "\n" -" Adds a user to the whitelist.\n" -" " +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" msgstr "" -#: redbot/core/core_commands.py:1316 redbot/core/core_commands.py:1441 +#: redbot/core/core_commands.py:1652 +#, docstring +msgid "Shows debug information useful for debugging.." +msgstr "" + +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 msgid "User added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1320 +#: redbot/core/core_commands.py:1723 #, docstring -msgid "\n" -" Lists whitelisted users.\n" -" " +msgid "\\n Lists whitelisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1325 +#: redbot/core/core_commands.py:1728 msgid "Whitelisted Users:" msgstr "" -#: redbot/core/core_commands.py:1334 +#: redbot/core/core_commands.py:1737 #, docstring -msgid "\n" -" Removes user from whitelist.\n" -" " +msgid "\\n Removes user from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1345 redbot/core/core_commands.py:1476 +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 msgid "User has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1347 redbot/core/core_commands.py:1481 +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 msgid "User was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1351 redbot/core/core_commands.py:1487 +#: redbot/core/core_commands.py:1754 #, docstring -msgid "\n" -" Clears the whitelist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1355 redbot/core/core_commands.py:1491 +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 msgid "Whitelist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1360 redbot/core/core_commands.py:1497 +#: redbot/core/core_commands.py:1763 #, docstring -msgid "\n" -" blacklist management commands.\n" -" " +msgid "\\n Blacklist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1367 +#: redbot/core/core_commands.py:1770 #, docstring -msgid "\n" -" Adds a user to the blacklist.\n" -" " +msgid "\\n Adds a user to the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1371 redbot/core/core_commands.py:1512 +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 msgid "You cannot blacklist an owner!" msgstr "" -#: redbot/core/core_commands.py:1378 redbot/core/core_commands.py:1520 +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 msgid "User added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1382 +#: redbot/core/core_commands.py:1785 #, docstring -msgid "\n" -" Lists blacklisted users.\n" -" " +msgid "\\n Lists blacklisted users.\\n " msgstr "" -#: redbot/core/core_commands.py:1387 -msgid "blacklisted Users:" +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" msgstr "" -#: redbot/core/core_commands.py:1396 +#: redbot/core/core_commands.py:1799 #, docstring -msgid "\n" -" Removes user from blacklist.\n" -" " +msgid "\\n Removes user from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1407 redbot/core/core_commands.py:1555 +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 msgid "User has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1409 redbot/core/core_commands.py:1560 +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 msgid "User was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1413 redbot/core/core_commands.py:1566 +#: redbot/core/core_commands.py:1816 #, docstring -msgid "\n" -" Clears the blacklist.\n" -" " +msgid "\\n Clears the blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1417 redbot/core/core_commands.py:1570 -msgid "blacklist has been cleared." +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." msgstr "" -#: redbot/core/core_commands.py:1432 +#: redbot/core/core_commands.py:1826 #, docstring -msgid "\n" -" Adds a user or role to the whitelist.\n" -" " +msgid "\\n Whitelist management commands.\\n " msgstr "" -#: redbot/core/core_commands.py:1443 +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 msgid "Role added to whitelist." msgstr "" -#: redbot/core/core_commands.py:1447 +#: redbot/core/core_commands.py:1850 #, docstring -msgid "\n" -" Lists whitelisted users and roles.\n" -" " +msgid "\\n Lists whitelisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1452 +#: redbot/core/core_commands.py:1855 msgid "Whitelisted Users and roles:" msgstr "" -#: redbot/core/core_commands.py:1463 +#: redbot/core/core_commands.py:1866 #, docstring -msgid "\n" -" Removes user or role from whitelist.\n" -" " +msgid "\\n Removes user or role from whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1478 +#: redbot/core/core_commands.py:1881 msgid "Role has been removed from whitelist." msgstr "" -#: redbot/core/core_commands.py:1483 +#: redbot/core/core_commands.py:1886 msgid "Role was not in the whitelist." msgstr "" -#: redbot/core/core_commands.py:1506 +#: redbot/core/core_commands.py:1890 #, docstring -msgid "\n" -" Adds a user or role to the blacklist.\n" -" " +msgid "\\n Clears the whitelist.\\n " msgstr "" -#: redbot/core/core_commands.py:1522 +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 msgid "Role added to blacklist." msgstr "" -#: redbot/core/core_commands.py:1526 +#: redbot/core/core_commands.py:1929 #, docstring -msgid "\n" -" Lists blacklisted users and roles.\n" -" " +msgid "\\n Lists blacklisted users and roles.\\n " msgstr "" -#: redbot/core/core_commands.py:1531 -msgid "blacklisted Users and Roles:" +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" msgstr "" -#: redbot/core/core_commands.py:1542 +#: redbot/core/core_commands.py:1945 #, docstring -msgid "\n" -" Removes user or role from blacklist.\n" -" " +msgid "\\n Removes user or role from blacklist.\\n " msgstr "" -#: redbot/core/core_commands.py:1557 +#: redbot/core/core_commands.py:1960 msgid "Role has been removed from blacklist." msgstr "" -#: redbot/core/core_commands.py:1562 +#: redbot/core/core_commands.py:1965 msgid "Role was not in the blacklist." msgstr "" -#: redbot/core/core_commands.py:1575 +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 #, docstring msgid "Manage the bot's commands." msgstr "" -#: redbot/core/core_commands.py:1580 +#: redbot/core/core_commands.py:1983 #, docstring -msgid "Disable a command.\n\n" -" If you're the bot owner, this will disable commands\n" -" globally by default.\n" -" " +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1594 +#: redbot/core/core_commands.py:1997 #, docstring msgid "Disable a command globally." msgstr "" -#: redbot/core/core_commands.py:1598 redbot/core/core_commands.py:1620 -#: redbot/core/core_commands.py:1654 redbot/core/core_commands.py:1676 +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 msgid "I couldn't find that command. Please note that it is case sensitive." msgstr "" -#: redbot/core/core_commands.py:1607 +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 msgid "That command is already disabled globally." msgstr "" -#: redbot/core/core_commands.py:1616 +#: redbot/core/core_commands.py:2025 #, docstring msgid "Disable a command in this server only." msgstr "" -#: redbot/core/core_commands.py:1631 +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 msgid "That command is already disabled in this server." msgstr "" -#: redbot/core/core_commands.py:1637 +#: redbot/core/core_commands.py:2056 #, docstring -msgid "Enable a command.\n\n" -" If you're a bot owner, this will try to enable a globally\n" -" disabled command by default.\n" -" " +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " msgstr "" -#: redbot/core/core_commands.py:1650 +#: redbot/core/core_commands.py:2069 #, docstring msgid "Enable a command globally." msgstr "" -#: redbot/core/core_commands.py:1663 +#: redbot/core/core_commands.py:2082 msgid "That command is already enabled globally." msgstr "" -#: redbot/core/core_commands.py:1672 +#: redbot/core/core_commands.py:2091 #, docstring msgid "Enable a command in this server." msgstr "" -#: redbot/core/core_commands.py:1687 +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 msgid "That command is already enabled in this server." msgstr "" -#: redbot/core/core_commands.py:1694 +#: redbot/core/core_commands.py:2117 #, docstring -msgid "Set the bot's response to disabled commands.\n\n" -" Leave blank to send nothing.\n\n" -" To include the command name in the message, include the\n" -" `{command}` placeholder.\n" -" " +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " msgstr "" -#: redbot/core/core_commands.py:1708 +#: redbot/core/core_commands.py:2131 #, docstring -msgid "\n" -" Server settings for immunity from automated actions\n" -" " +msgid "\\n Server settings for immunity from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1715 +#: redbot/core/core_commands.py:2138 #, docstring -msgid "\n" -" Get's the current members and roles\n\n" -" configured for automatic moderation action immunity\n" -" " +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " msgstr "" -#: redbot/core/core_commands.py:1727 -msgid "Roles immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1732 -msgid "Members immune from automated moderation actions:\n" +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" msgstr "" -#: redbot/core/core_commands.py:1736 +#: redbot/core/core_commands.py:2159 msgid "No immunty settings here." msgstr "" -#: redbot/core/core_commands.py:1745 redbot/core/core_commands.py:1758 +#: redbot/core/core_commands.py:2168 #, docstring -msgid "\n" -" Makes a user or roles immune from automated moderation actions\n" -" " +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " msgstr "" -#: redbot/core/core_commands.py:1750 +#: redbot/core/core_commands.py:2173 msgid "Already added." msgstr "" -#: redbot/core/core_commands.py:1763 +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 msgid "Not in list." msgstr "" -#: redbot/core/core_commands.py:1771 +#: redbot/core/core_commands.py:2194 #, docstring -msgid "\n" -" Checks if a user or role would be considered immune from automated actions\n" -" " +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " msgstr "" -#: redbot/core/core_commands.py:1776 +#: redbot/core/core_commands.py:2199 msgid "They are immune" msgstr "" -#: redbot/core/core_commands.py:1778 +#: redbot/core/core_commands.py:2201 msgid "They are not Immune" msgstr "" -#: redbot/core/dev_commands.py:76 +#: redbot/core/core_commands.py:2206 #, docstring -msgid "Evaluate a statement of python code.\n\n" -" The bot will always respond with the return value of the code.\n" -" If the return value of the code is a coroutine, it will be awaited,\n" -" and the result of that will be the bot's response.\n\n" -" Note: Only one statement may be evaluated. Using await, yield or\n" -" similar restricted keywords will result in a syntax error. For multiple\n" -" lines or asynchronous code, see [p]repl or [p]eval.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Commands for configuring owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:131 +#: redbot/core/core_commands.py:2213 #, docstring -msgid "Execute asynchronous code.\n\n" -" This command wraps code into the body of an async function and then\n" -" calls and awaits it. The bot will respond with anything printed to\n" -" stdout, as well as the return value of the function.\n\n" -" The code can be within a codeblock, inline code or neither, as long\n" -" as they are not mixed and they are formatted correctly.\n\n" -" Environment Variables:\n" -" ctx - command invokation context\n" -" bot - bot object\n" -" channel - the current channel object\n" -" author - command author's member object\n" -" message - the command's message object\n" -" discord - discord.py library\n" -" commands - redbot.core.commands\n" -" _ - The result of the last dev command.\n" -" " +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " msgstr "" -#: redbot/core/dev_commands.py:195 +#: redbot/core/core_commands.py:2226 #, docstring -msgid "Open an interactive REPL.\n\n" -" The REPL will only recognise code as messages which start with a\n" -" backtick. This includes codeblocks, and as such multiple lines can be\n" -" evaluated.\n\n" -" You may not await any code in this REPL unless you define it inside an\n" -" async function.\n" -" " +msgid "\\n Opt-out of recieving owner notifications.\\n " msgstr "" -#: redbot/core/dev_commands.py:216 +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 msgid "Already running a REPL session in this channel. Exit it with `quit`." msgstr "已经在这个通道中运行REPL会话。选择'退出'来退出。" -#: redbot/core/dev_commands.py:221 +#: redbot/core/dev_commands.py:228 msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." msgstr "输入代码来执行或评估。`exit()` 或 `quit`来退出。" -#: redbot/core/dev_commands.py:279 +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 msgid "Unexpected error: `{}`" msgstr "异常错误:`{}`" -#: redbot/core/dev_commands.py:284 +#: redbot/core/dev_commands.py:292 #, docstring -msgid "Mock another user invoking a command.\n\n" -" The prefix must not be entered.\n" -" " +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " msgstr "" -#: redbot/core/dev_commands.py:297 +#: redbot/core/dev_commands.py:305 #, docstring -msgid "Dispatch a message event as if it were sent by a different user.\n\n" -" Only reads the raw content of the message. Attachments, embeds etc. are\n" -" ignored.\n" -" " +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " msgstr "" -#: redbot/core/errors.py:42 +#: redbot/core/errors.py:49 msgid "{user}'s balance cannot rise above {max:,} {currency}." msgstr "" -#: redbot/core/help_formatter.py:309 -#, docstring -msgid "Show help documentation.\n\n" -" - `[p]help`: Show the help manual.\n" -" - `[p]help command`: Show help for a command.\n" -" - `[p]help Category`: Show commands and description for a category,\n" -" " +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" msgstr "" -#: redbot/core/help_formatter.py:357 -msgid "I couldn't send the help message to you in DM. Either you blocked me or you disabled DMs in this server." +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" msgstr "" -#: redbot/core/help_formatter.py:375 -msgid "Command *{command_name}* has no subcommands." +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" msgstr "" -#: redbot/core/help_formatter.py:388 -msgid "Command *{command_name}* not found." +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" msgstr "" diff --git a/redbot/core/locales/zh-TW.po b/redbot/core/locales/zh-TW.po new file mode 100644 index 000000000..20c3789cf --- /dev/null +++ b/redbot/core/locales/zh-TW.po @@ -0,0 +1,1411 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Chinese Traditional\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /core/locales/messages.pot\n" +"Language: zh_TW\n" + +#: redbot/core/bank.py:717 +msgid "Can't pay for this command in DM without a global bank." +msgstr "" + +#: redbot/core/bank.py:724 +msgid "You need at least {cost} {currency} to use this command." +msgstr "" + +#: redbot/core/cog_manager.py:312 +#, docstring +msgid "Commands to interface with Red's cog manager." +msgstr "" + +#: redbot/core/cog_manager.py:317 +#, docstring +msgid "\\n Lists current cog paths in order of priority.\\n " +msgstr "" + +#: redbot/core/cog_manager.py:325 +msgid "Install Path: {install_path}\\nCore Path: {core_path}\\n\\n" +msgstr "" + +#: redbot/core/cog_manager.py:339 +#, docstring +msgid "\\n Add a path to the list of available cog paths.\\n " +msgstr "" + +#: redbot/core/cog_manager.py:343 +msgid "That path does not exist or does not point to a valid directory." +msgstr "" + +#: redbot/core/cog_manager.py:351 +msgid "Path successfully added." +msgstr "" + +#: redbot/core/cog_manager.py:356 +#, docstring +msgid "\\n Removes a path from the available cog paths given the path_number\\n from !paths\\n " +msgstr "" + +#: redbot/core/cog_manager.py:362 redbot/core/cog_manager.py:385 +msgid "Path numbers must be positive." +msgstr "" + +#: redbot/core/cog_manager.py:369 +msgid "That is an invalid path number." +msgstr "" + +#: redbot/core/cog_manager.py:373 +msgid "Path successfully removed." +msgstr "" + +#: redbot/core/cog_manager.py:378 +#, docstring +msgid "\\n Reorders paths internally to allow discovery of different cogs.\\n " +msgstr "" + +#: redbot/core/cog_manager.py:392 +msgid "Invalid 'from' index." +msgstr "" + +#: redbot/core/cog_manager.py:398 +msgid "Invalid 'to' index." +msgstr "" + +#: redbot/core/cog_manager.py:402 +msgid "Paths reordered." +msgstr "" + +#: redbot/core/cog_manager.py:407 +#, docstring +msgid "\\n Returns the current install path or sets it if one is provided.\\n The provided path must be absolute or relative to the bot's\\n directory and it must already exist.\\n\\n No installed cogs will be transferred in the process.\\n " +msgstr "" + +#: redbot/core/cog_manager.py:420 +msgid "That path does not exist." +msgstr "" + +#: redbot/core/cog_manager.py:425 +msgid "The bot will install new cogs to the `{}` directory." +msgstr "" + +#: redbot/core/cog_manager.py:431 +#, docstring +msgid "\\n Lists all loaded and available cogs.\\n " +msgstr "" + +#: redbot/core/cog_manager.py:444 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:445 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:455 +msgid "**{} loaded:**\\n" +msgstr "" + +#: redbot/core/cog_manager.py:457 +msgid "**{} unloaded:**\\n" +msgstr "" + +#: redbot/core/core_commands.py:264 +#, docstring +msgid "Commands related to core functions" +msgstr "" + +#: redbot/core/core_commands.py:268 +#, docstring +msgid "Pong." +msgstr "" + +#: redbot/core/core_commands.py:273 +#, docstring +msgid "Shows info about Red" +msgstr "" + +#: redbot/core/core_commands.py:294 +msgid "This is an instance of [Red, an open source Discord bot]({}) created by [Twentysix]({}) and [improved by many]({}).\\n\\nRed is backed by a passionate community who contributes and creates content for everyone to enjoy. [Join us today]({}) and help us improve!\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:303 +msgid "Instance owned by" +msgstr "" + +#: redbot/core/core_commands.py:306 +msgid "Red version" +msgstr "Red 版本" + +#: redbot/core/core_commands.py:309 +msgid "Outdated" +msgstr "已過期" + +#: redbot/core/core_commands.py:309 +msgid "Yes, {} is available" +msgstr "是,{} 已可用" + +#: redbot/core/core_commands.py:312 +msgid "About this instance" +msgstr "" + +#: redbot/core/core_commands.py:313 +msgid "About Red" +msgstr "關於 Red" + +#: redbot/core/core_commands.py:316 +msgid "Bringing joy since 02 Jan 2016 (over {} days ago!)" +msgstr "" + +#: redbot/core/core_commands.py:321 +msgid "I need the `Embed links` permission to send this" +msgstr "" + +#: redbot/core/core_commands.py:325 +#, docstring +msgid "Shows Red's uptime" +msgstr "" + +#: redbot/core/core_commands.py:329 +msgid "Been up for: **{}** (since {} UTC)" +msgstr "" + +#: redbot/core/core_commands.py:336 +#, docstring +msgid "\\n Commands for toggling embeds on or off.\\n\\n This setting determines whether or not to\\n use embeds as a response to a command (for\\n commands that support it). The default is to\\n use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:345 +msgid "Embed settings:\\n\\n" +msgstr "" + +#: redbot/core/core_commands.py:347 +msgid "Global default: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:350 +msgid "Guild setting: {}\\n" +msgstr "" + +#: redbot/core/core_commands.py:352 +msgid "User setting: {}" +msgstr "" + +#: redbot/core/core_commands.py:358 +#, docstring +msgid "\\n Toggle the global embed setting.\\n\\n This is used as a fallback if the user\\n or guild hasn't set a preference. The\\n default is to use embeds.\\n " +msgstr "" + +#: redbot/core/core_commands.py:368 +msgid "Embeds are now {} by default." +msgstr "" + +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "disabled" +msgstr "已停用" + +#: redbot/core/core_commands.py:368 redbot/core/core_commands.py:392 +#: redbot/core/core_commands.py:414 redbot/core/core_commands.py:874 +#: redbot/core/core_commands.py:890 +msgid "enabled" +msgstr "已啟用" + +#: redbot/core/core_commands.py:375 +#, docstring +msgid "\\n Toggle the guild's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a guild channel except\\n for help commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:388 redbot/core/core_commands.py:411 +msgid "Embeds will now fall back to the global setting." +msgstr "" + +#: redbot/core/core_commands.py:391 +msgid "Embeds are now {} for this guild." +msgstr "" + +#: redbot/core/core_commands.py:398 +#, docstring +msgid "\\n Toggle the user's embed setting.\\n\\n If enabled is None, the setting will be unset and\\n the global default will be used instead.\\n\\n If set, this is used instead of the global default\\n to determine whether or not to use embeds. This is\\n used for all commands done in a DM with the bot, as\\n well as all help commands everywhere.\\n " +msgstr "" + +#: redbot/core/core_commands.py:414 +msgid "Embeds are now {} for you." +msgstr "" + +#: redbot/core/core_commands.py:420 +#, docstring +msgid "Sends to the owner the last command exception that has occurred\\n\\n If public (yes is specified), it will be sent to the chat instead" +msgstr "" + +#: redbot/core/core_commands.py:432 +msgid "No exception has occurred yet" +msgstr "" + +#: redbot/core/core_commands.py:437 +#, docstring +msgid "Show's Red's invite url" +msgstr "" + +#: redbot/core/core_commands.py:443 +#, docstring +msgid "Setup the bot's invite" +msgstr "" + +#: redbot/core/core_commands.py:448 +#, docstring +msgid "\\n Define if the command should be accessible for the average users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:478 +#, docstring +msgid "\\n Make the bot create its own role with permissions on join.\\n\\n The bot will create its own role with the desired permissions when he join a new server. This is a special role that can't be deleted or removed from the bot.\\n\\n For that, you need to give a valid permissions level.\\n You can generate one here: https://discordapi.com/permissions.html\\n\\n Please note that you might need the two factor authentification for some permissions.\\n " +msgstr "" + +#: redbot/core/core_commands.py:498 +#, docstring +msgid "Leaves server" +msgstr "" + +#: redbot/core/core_commands.py:499 +msgid "Are you sure you want me to leave this server? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:505 redbot/core/core_commands.py:558 +#: redbot/core/core_commands.py:1464 +msgid "Response timed out." +msgstr "" + +#: redbot/core/core_commands.py:509 +msgid "Alright. Bye :wave:" +msgstr "" + +#: redbot/core/core_commands.py:510 +msgid "Leaving guild '{}'" +msgstr "" + +#: redbot/core/core_commands.py:513 +msgid "Alright, I'll stay then :)" +msgstr "" + +#: redbot/core/core_commands.py:518 +#, docstring +msgid "Lists and allows to leave servers" +msgstr "" + +#: redbot/core/core_commands.py:529 +msgid "To leave a server, just type its number." +msgstr "" + +#: redbot/core/core_commands.py:544 +msgid "I cannot leave a guild I am the owner of." +msgstr "" + +#: redbot/core/core_commands.py:547 +msgid "Are you sure you want me to leave {}? (yes/no)" +msgstr "" + +#: redbot/core/core_commands.py:554 redbot/core/core_commands.py:933 +#: redbot/core/core_commands.py:1026 redbot/core/core_commands.py:1044 +#: redbot/core/core_commands.py:1056 +msgid "Done." +msgstr "" + +#: redbot/core/core_commands.py:556 +msgid "Alright then." +msgstr "" + +#: redbot/core/core_commands.py:563 +#, docstring +msgid "Loads packages" +msgstr "" + +#: redbot/core/core_commands.py:574 +msgid "Loaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:579 +msgid "The following package is already loaded: {pack}" +msgstr "" + +#: redbot/core/core_commands.py:583 +msgid "The following packages are already loaded: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:590 +msgid "Failed to load the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:595 +msgid "Failed to load the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:603 redbot/core/core_commands.py:701 +msgid "The following package was not found in any cog path: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:607 redbot/core/core_commands.py:705 +msgid "The following packages were not found in any cog path: {packs}" +msgstr "" + +#: redbot/core/core_commands.py:615 +msgid "This package could not be loaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:619 +msgid "These packages could not be loaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:632 +#, docstring +msgid "Unloads packages" +msgstr "" + +#: redbot/core/core_commands.py:642 +msgid "The following package was unloaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:646 +msgid "The following packages were unloaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:653 +msgid "The following package was not loaded: {pack}." +msgstr "" + +#: redbot/core/core_commands.py:657 +msgid "The following packages were not loaded: {packs}." +msgstr "" + +#: redbot/core/core_commands.py:670 +#, docstring +msgid "Reloads packages" +msgstr "" + +#: redbot/core/core_commands.py:683 +msgid "Reloaded {packs}." +msgstr "" + +#: redbot/core/core_commands.py:688 +msgid "Failed to reload the following package: {pack}.\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:693 +msgid "Failed to reload the following packages: {packs}\\nCheck your console or logs for details." +msgstr "" + +#: redbot/core/core_commands.py:713 +msgid "This package could not be reloaded for the following reason:\\n\\n{reason}" +msgstr "" + +#: redbot/core/core_commands.py:717 +msgid "These packages could not be reloaded for the following reasons:\\n\\n{reasons}" +msgstr "" + +#: redbot/core/core_commands.py:730 +#, docstring +msgid "Shuts down the bot" +msgstr "" + +#: redbot/core/core_commands.py:735 +msgid "Shutting down... " +msgstr "" + +#: redbot/core/core_commands.py:741 +#, docstring +msgid "Attempts to restart Red\\n\\n Makes Red quit with exit code 26\\n The restart is not guaranteed: it must be dealt\\n with by the process manager in use" +msgstr "" + +#: redbot/core/core_commands.py:748 +msgid "Restarting..." +msgstr "" + +#: redbot/core/core_commands.py:753 +#, docstring +msgid "Changes Red's settings" +msgstr "" + +#: redbot/core/core_commands.py:766 +msgid "Admin roles: {admin}\\nMod roles: {mod}\\n" +msgstr "" + +#: redbot/core/core_commands.py:777 +msgid "{bot_name} Settings:\\n\\nPrefixes: {prefixes}\\n{guild_settings}Locale: {locale}" +msgstr "" + +#: redbot/core/core_commands.py:795 +#, docstring +msgid "\\n Adds an admin role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:800 +msgid "This role is already an admin role." +msgstr "" + +#: redbot/core/core_commands.py:802 +msgid "That role is now considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:808 +#, docstring +msgid "\\n Adds a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:813 +msgid "This role is already a mod role." +msgstr "" + +#: redbot/core/core_commands.py:815 +msgid "That role is now considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:821 +#, docstring +msgid "\\n Removes an admin role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:826 +msgid "That role was not an admin role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:828 +msgid "That role is no longer considered an admin role." +msgstr "" + +#: redbot/core/core_commands.py:834 +#, docstring +msgid "\\n Removes a mod role for this guild.\\n " +msgstr "" + +#: redbot/core/core_commands.py:839 +msgid "That role was not a mod role to begin with." +msgstr "" + +#: redbot/core/core_commands.py:841 +msgid "That role is no longer considered a mod role." +msgstr "" + +#: redbot/core/core_commands.py:847 +#, docstring +msgid "\\n Toggle whether to use the bot owner-configured colour for embeds.\\n\\n Default is to not use the bot's configured colour, in which case the\\n colour used will be the colour of the bot's top role.\\n " +msgstr "" + +#: redbot/core/core_commands.py:856 +msgid "The bot {} use its configured color for embeds." +msgstr "" + +#: redbot/core/core_commands.py:857 +msgid "will not" +msgstr "" + +#: redbot/core/core_commands.py:857 +msgid "will" +msgstr "" + +#: redbot/core/core_commands.py:865 +#, docstring +msgid "\\n Toggle whether to enable fuzzy command search for the server.\\n\\n Default is for fuzzy command search to be disabled.\\n " +msgstr "" + +#: redbot/core/core_commands.py:873 +msgid "Fuzzy command search has been {} for this server." +msgstr "" + +#: redbot/core/core_commands.py:881 +#, docstring +msgid "\\n Toggle whether to enable fuzzy command search in DMs.\\n\\n Default is for fuzzy command search to be disabled.\\n " +msgstr "" + +#: redbot/core/core_commands.py:889 +msgid "Fuzzy command search has been {} in DMs." +msgstr "" + +#: redbot/core/core_commands.py:897 +#, docstring +msgid "\\n Sets a default colour to be used for the bot's embeds.\\n\\n Acceptable values for the colour parameter can be found at:\\n\\n https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter\\n " +msgstr "" + +#: redbot/core/core_commands.py:907 +msgid "The color has been reset." +msgstr "" + +#: redbot/core/core_commands.py:910 +msgid "The color has been set." +msgstr "" + +#: redbot/core/core_commands.py:915 +#, docstring +msgid "Sets Red's avatar" +msgstr "" + +#: redbot/core/core_commands.py:924 +msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG." +msgstr "" + +#: redbot/core/core_commands.py:931 +msgid "JPG / PNG format only." +msgstr "" + +#: redbot/core/core_commands.py:939 +#, docstring +msgid "Sets Red's playing status" +msgstr "" + +#: redbot/core/core_commands.py:947 +msgid "Game set." +msgstr "" + +#: redbot/core/core_commands.py:953 +#, docstring +msgid "Sets Red's listening status" +msgstr "" + +#: redbot/core/core_commands.py:961 +msgid "Listening set." +msgstr "" + +#: redbot/core/core_commands.py:967 +#, docstring +msgid "Sets Red's watching status" +msgstr "" + +#: redbot/core/core_commands.py:975 +msgid "Watching set." +msgstr "" + +#: redbot/core/core_commands.py:981 +#, docstring +msgid "Sets Red's status\\n\\n Available statuses:\\n online\\n idle\\n dnd\\n invisible\\n " +msgstr "" + +#: redbot/core/core_commands.py:1004 +msgid "Status changed to {}." +msgstr "" + +#: redbot/core/core_commands.py:1010 +#, docstring +msgid "Sets Red's streaming status\\n Leaving both streamer and stream_title empty will clear it." +msgstr "" + +#: redbot/core/core_commands.py:1031 +#, docstring +msgid "Sets Red's username" +msgstr "" + +#: redbot/core/core_commands.py:1036 +msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`" +msgstr "" + +#: redbot/core/core_commands.py:1050 +#, docstring +msgid "Sets Red's nickname" +msgstr "" + +#: redbot/core/core_commands.py:1054 +msgid "I lack the permissions to change my own nickname." +msgstr "" + +#: redbot/core/core_commands.py:1061 +#, docstring +msgid "Sets Red's global prefix(es)" +msgstr "" + +#: redbot/core/core_commands.py:1066 redbot/core/core_commands.py:1079 +msgid "Prefix set." +msgstr "" + +#: redbot/core/core_commands.py:1072 +#, docstring +msgid "Sets Red's server prefix(es)" +msgstr "" + +#: redbot/core/core_commands.py:1075 +msgid "Guild prefixes have been reset." +msgstr "" + +#: redbot/core/core_commands.py:1084 +#, docstring +msgid "Sets Red's main owner" +msgstr "" + +#: redbot/core/core_commands.py:1093 +msgid "{0} ({0.id}) requested to be set as owner." +msgstr "" + +#: redbot/core/core_commands.py:1094 +msgid "\\nVerification token:" +msgstr "" + +#: redbot/core/core_commands.py:1097 +msgid "⚠ **Only** the person who is hosting Red should be owner. **This has SERIOUS security implications. The owner can access any data that is present on the host system.** ⚠" +msgstr "" + +#: redbot/core/core_commands.py:1103 +msgid "Remember:\\n" +msgstr "" + +#: redbot/core/core_commands.py:1107 +msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner." +msgstr "" + +#: redbot/core/core_commands.py:1120 +msgid "The `{prefix}set owner` request has timed out." +msgstr "" + +#: redbot/core/core_commands.py:1127 +msgid "You have been set as owner." +msgstr "" + +#: redbot/core/core_commands.py:1129 +msgid "Invalid token." +msgstr "" + +#: redbot/core/core_commands.py:1134 +#, docstring +msgid "Change bot token." +msgstr "" + +#: redbot/core/core_commands.py:1144 +msgid "Please use that command in DM. Since users probably saw your token, it is recommended to reset it right now. Go to the following link and select `Reveal Token` and `Generate a new token?`.\\n\\nhttps://discordapp.com/developers/applications/me/{}" +msgstr "" + +#: redbot/core/core_commands.py:1154 +msgid "Token set. Restart me." +msgstr "" + +#: redbot/core/core_commands.py:1159 +#, docstring +msgid "\\n Changes bot locale.\\n\\n Use [p]listlocales to get a list of available locales.\\n\\n To reset to English, use \\\"en-US\\\".\\n " +msgstr "" + +#: redbot/core/core_commands.py:1172 +msgid "Locale has been set." +msgstr "" + +#: redbot/core/core_commands.py:1175 +msgid "Invalid locale. Use `{prefix}listlocales` to get a list of available locales." +msgstr "" + +#: redbot/core/core_commands.py:1184 +#, docstring +msgid "Customizes a section of [p]info\\n\\n The maximum amount of allowed characters is 1024.\\n Supports markdown, links and \\\"mentions\\\".\\n Link example:\\n `[My link](https://example.com)`\\n " +msgstr "" + +#: redbot/core/core_commands.py:1193 +msgid "The custom text has been cleared." +msgstr "" + +#: redbot/core/core_commands.py:1197 +msgid "The custom text has been set." +msgstr "" + +#: redbot/core/core_commands.py:1200 +msgid "Characters must be fewer than 1024." +msgstr "" + +#: redbot/core/core_commands.py:1205 +#, docstring +msgid "Set various external API tokens.\\n \\n This setting will be asked for by some 3rd party cogs and some core cogs.\\n\\n To add the keys provide the service name and the tokens as a comma separated\\n list of key,values as described by the cog requesting this command.\\n\\n Note: API tokens are sensitive and should only be used in a private channel\\n or in DM with the bot.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1218 +msgid "`{service}` API tokens have been set." +msgstr "" + +#: redbot/core/core_commands.py:1223 +#, docstring +msgid "Manage settings for the help command." +msgstr "" + +#: redbot/core/core_commands.py:1228 +#, docstring +msgid "\\n Allows the help command to be sent as a paginated menu instead of seperate\\n messages.\\n\\n This defaults to False. \\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1239 +msgid "Help will use menus." +msgstr "" + +#: redbot/core/core_commands.py:1241 +msgid "Help will not use menus." +msgstr "" + +#: redbot/core/core_commands.py:1245 +#, docstring +msgid "\\n This allows the help command to show hidden commands\\n\\n This defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1255 +msgid "Help will not filter hidden commands" +msgstr "" + +#: redbot/core/core_commands.py:1257 +msgid "Help will filter hidden commands." +msgstr "" + +#: redbot/core/core_commands.py:1261 +#, docstring +msgid "\\n Sets if commands which can't be run in the current context should be\\n filtered from help\\n\\n Defaults to True.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1272 +msgid "Help will only show for commands which can be run." +msgstr "" + +#: redbot/core/core_commands.py:1274 +msgid "Help will show up without checking if the commands can be run." +msgstr "" + +#: redbot/core/core_commands.py:1278 +#, docstring +msgid "\\n This allows the bot to respond indicating the existence of a specific\\n help topic even if the user can't use it.\\n\\n Note: This setting on it's own does not fully prevent command enumeration.\\n\\n Defaults to False.\\n Using this without a setting will toggle.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1291 +msgid "Help will verify the existence of help topics." +msgstr "" + +#: redbot/core/core_commands.py:1294 +msgid "Help will only verify the existence of help topics via fuzzy help (if enabled)." +msgstr "" + +#: redbot/core/core_commands.py:1302 +#, docstring +msgid "Set the character limit for each page in the help message.\\n\\n This setting only applies to embedded help.\\n\\n Please note that setting a relitavely small character limit may\\n mean some pages will exceed this limit. This is because categories\\n are never spread across multiple pages in the help message.\\n\\n The default value is 1000 characters.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1313 +msgid "You must give a positive value!" +msgstr "" + +#: redbot/core/core_commands.py:1317 +msgid "Done. The character limit per page has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1321 +#, docstring +msgid "Set the maximum number of help pages sent in a server channel.\\n\\n This setting only applies to embedded help.\\n\\n If a help message contains more pages than this value, the help message will\\n be sent to the command author via DM. This is to help reduce spam in server\\n text channels.\\n\\n The default value is 2 pages.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1332 +msgid "You must give a value of zero or greater!" +msgstr "" + +#: redbot/core/core_commands.py:1336 +msgid "Done. The page limit has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1340 +#, docstring +msgid "\\n Set the tagline to be used.\\n\\n This setting only applies to embedded help. If no tagline is\\n specified, the default will be used instead.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1348 +msgid "The tagline has been reset." +msgstr "" + +#: redbot/core/core_commands.py:1352 +msgid "Your tagline is too long! Please shorten it to be no more than 2048 characters long." +msgstr "" + +#: redbot/core/core_commands.py:1360 +msgid "The tagline has been set to {}." +msgstr "" + +#: redbot/core/core_commands.py:1365 +#, docstring +msgid "\\n Lists all available locales\\n\\n Use `[p]set locale` to set a locale\\n " +msgstr "" + +#: redbot/core/core_commands.py:1377 +msgid "No languages found." +msgstr "" + +#: redbot/core/core_commands.py:1386 +#, docstring +msgid "Creates a backup of all data for the instance." +msgstr "" + +#: redbot/core/core_commands.py:1391 +msgid "That path doesn't seem to exist. Please provide a valid path." +msgstr "" + +#: redbot/core/core_commands.py:1453 +msgid "A backup has been made of this instance. It is at {}." +msgstr "" + +#: redbot/core/core_commands.py:1456 +msgid "This backup is too large to send via DM." +msgstr "" + +#: redbot/core/core_commands.py:1458 +msgid "Would you like to receive a copy via DM? (y/n)" +msgstr "" + +#: redbot/core/core_commands.py:1467 +msgid "OK, it's on its way!" +msgstr "" + +#: redbot/core/core_commands.py:1471 +msgid "Here's a copy of the backup" +msgstr "" + +#: redbot/core/core_commands.py:1476 +msgid "I don't seem to be able to DM you. Do you have closed DMs?" +msgstr "" + +#: redbot/core/core_commands.py:1479 +msgid "I could not send the backup file." +msgstr "" + +#: redbot/core/core_commands.py:1481 +msgid "OK then." +msgstr "" + +#: redbot/core/core_commands.py:1483 +msgid "That directory doesn't seem to exist..." +msgstr "" + +#: redbot/core/core_commands.py:1488 +#, docstring +msgid "Sends a message to the owner" +msgstr "" + +#: redbot/core/core_commands.py:1491 +msgid "User ID: {}" +msgstr "" + +#: redbot/core/core_commands.py:1494 +msgid "through DM" +msgstr "" + +#: redbot/core/core_commands.py:1496 +msgid "from {}" +msgstr "" + +#: redbot/core/core_commands.py:1497 +msgid " | Server ID: {}" +msgstr "" + +#: redbot/core/core_commands.py:1506 +msgid "Use `{}dm {} ` to reply to this user" +msgstr "" + +#: redbot/core/core_commands.py:1508 +msgid "Sent by {} {}" +msgstr "" + +#: redbot/core/core_commands.py:1513 +msgid "I've been configured not to send this anywhere." +msgstr "" + +#: redbot/core/core_commands.py:1582 +msgid "Your message has been sent." +msgstr "" + +#: redbot/core/core_commands.py:1584 +msgid "I'm unable to deliver your message. Sorry." +msgstr "" + +#: redbot/core/core_commands.py:1589 +#, docstring +msgid "Sends a DM to a user\\n\\n This command needs a user id to work.\\n To get a user id enable 'developer mode' in Discord's\\n settings, 'appearance' tab. Then right click a user\\n and copy their id" +msgstr "" + +#: redbot/core/core_commands.py:1598 +msgid "Invalid ID or user not found. You can only send messages to people I share a server with." +msgstr "" + +#: redbot/core/core_commands.py:1609 +msgid "Owner of {}" +msgstr "" + +#: redbot/core/core_commands.py:1610 +msgid "You can reply to this message with {}contact" +msgstr "" + +#: redbot/core/core_commands.py:1624 redbot/core/core_commands.py:1634 +msgid "Sorry, I couldn't deliver your message to {}" +msgstr "" + +#: redbot/core/core_commands.py:1627 redbot/core/core_commands.py:1637 +msgid "Message delivered to {}" +msgstr "" + +#: redbot/core/core_commands.py:1642 +#, docstring +msgid "Prints the bot's data path." +msgstr "" + +#: redbot/core/core_commands.py:1646 +msgid "Data path: {path}" +msgstr "" + +#: redbot/core/core_commands.py:1652 +#, docstring +msgid "Shows debug information useful for debugging.." +msgstr "" + +#: redbot/core/core_commands.py:1705 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1712 +#, docstring +msgid "\\n Adds a user to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1719 redbot/core/core_commands.py:1844 +msgid "User added to whitelist." +msgstr "" + +#: redbot/core/core_commands.py:1723 +#, docstring +msgid "\\n Lists whitelisted users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1728 +msgid "Whitelisted Users:" +msgstr "" + +#: redbot/core/core_commands.py:1737 +#, docstring +msgid "\\n Removes user from whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1748 redbot/core/core_commands.py:1879 +msgid "User has been removed from whitelist." +msgstr "" + +#: redbot/core/core_commands.py:1750 redbot/core/core_commands.py:1884 +msgid "User was not in the whitelist." +msgstr "" + +#: redbot/core/core_commands.py:1754 +#, docstring +msgid "\\n Clears the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1758 redbot/core/core_commands.py:1894 +msgid "Whitelist has been cleared." +msgstr "" + +#: redbot/core/core_commands.py:1763 +#, docstring +msgid "\\n Blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1770 +#, docstring +msgid "\\n Adds a user to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1774 redbot/core/core_commands.py:1915 +msgid "You cannot blacklist an owner!" +msgstr "" + +#: redbot/core/core_commands.py:1781 redbot/core/core_commands.py:1923 +msgid "User added to blacklist." +msgstr "" + +#: redbot/core/core_commands.py:1785 +#, docstring +msgid "\\n Lists blacklisted users.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1790 +msgid "Blacklisted Users:" +msgstr "" + +#: redbot/core/core_commands.py:1799 +#, docstring +msgid "\\n Removes user from blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1810 redbot/core/core_commands.py:1958 +msgid "User has been removed from blacklist." +msgstr "" + +#: redbot/core/core_commands.py:1812 redbot/core/core_commands.py:1963 +msgid "User was not in the blacklist." +msgstr "" + +#: redbot/core/core_commands.py:1816 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1820 redbot/core/core_commands.py:1973 +msgid "Blacklist has been cleared." +msgstr "" + +#: redbot/core/core_commands.py:1826 +#, docstring +msgid "\\n Whitelist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1835 +#, docstring +msgid "\\n Adds a user or role to the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1846 +msgid "Role added to whitelist." +msgstr "" + +#: redbot/core/core_commands.py:1850 +#, docstring +msgid "\\n Lists whitelisted users and roles.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1855 +msgid "Whitelisted Users and roles:" +msgstr "" + +#: redbot/core/core_commands.py:1866 +#, docstring +msgid "\\n Removes user or role from whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1881 +msgid "Role has been removed from whitelist." +msgstr "" + +#: redbot/core/core_commands.py:1886 +msgid "Role was not in the whitelist." +msgstr "" + +#: redbot/core/core_commands.py:1890 +#, docstring +msgid "\\n Clears the whitelist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1900 +#, docstring +msgid "\\n blacklist management commands.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1909 +#, docstring +msgid "\\n Adds a user or role to the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1925 +msgid "Role added to blacklist." +msgstr "" + +#: redbot/core/core_commands.py:1929 +#, docstring +msgid "\\n Lists blacklisted users and roles.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1934 +msgid "Blacklisted Users and Roles:" +msgstr "" + +#: redbot/core/core_commands.py:1945 +#, docstring +msgid "\\n Removes user or role from blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1960 +msgid "Role has been removed from blacklist." +msgstr "" + +#: redbot/core/core_commands.py:1965 +msgid "Role was not in the blacklist." +msgstr "" + +#: redbot/core/core_commands.py:1969 +#, docstring +msgid "\\n Clears the blacklist.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1978 +#, docstring +msgid "Manage the bot's commands." +msgstr "" + +#: redbot/core/core_commands.py:1983 +#, docstring +msgid "Disable a command.\\n\\n If you're the bot owner, this will disable commands\\n globally by default.\\n " +msgstr "" + +#: redbot/core/core_commands.py:1997 +#, docstring +msgid "Disable a command globally." +msgstr "" + +#: redbot/core/core_commands.py:2001 redbot/core/core_commands.py:2029 +#: redbot/core/core_commands.py:2073 redbot/core/core_commands.py:2095 +msgid "I couldn't find that command. Please note that it is case sensitive." +msgstr "" + +#: redbot/core/core_commands.py:2007 redbot/core/core_commands.py:2035 +msgid "The command to disable cannot be `command` or any of its subcommands." +msgstr "" + +#: redbot/core/core_commands.py:2016 +msgid "That command is already disabled globally." +msgstr "" + +#: redbot/core/core_commands.py:2025 +#, docstring +msgid "Disable a command in this server only." +msgstr "" + +#: redbot/core/core_commands.py:2040 +msgid "You are not allowed to disable that command." +msgstr "" + +#: redbot/core/core_commands.py:2050 +msgid "That command is already disabled in this server." +msgstr "" + +#: redbot/core/core_commands.py:2056 +#, docstring +msgid "Enable a command.\\n\\n If you're a bot owner, this will try to enable a globally\\n disabled command by default.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2069 +#, docstring +msgid "Enable a command globally." +msgstr "" + +#: redbot/core/core_commands.py:2082 +msgid "That command is already enabled globally." +msgstr "" + +#: redbot/core/core_commands.py:2091 +#, docstring +msgid "Enable a command in this server." +msgstr "" + +#: redbot/core/core_commands.py:2100 +msgid "You are not allowed to enable that command." +msgstr "" + +#: redbot/core/core_commands.py:2110 +msgid "That command is already enabled in this server." +msgstr "" + +#: redbot/core/core_commands.py:2117 +#, docstring +msgid "Set the bot's response to disabled commands.\\n\\n Leave blank to send nothing.\\n\\n To include the command name in the message, include the\\n `{command}` placeholder.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2131 +#, docstring +msgid "\\n Server settings for immunity from automated actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2138 +#, docstring +msgid "\\n Get's the current members and roles\\n\\n configured for automatic moderation action immunity\\n " +msgstr "" + +#: redbot/core/core_commands.py:2150 +msgid "Roles immune from automated moderation actions:\\n" +msgstr "" + +#: redbot/core/core_commands.py:2155 +msgid "Members immune from automated moderation actions:\\n" +msgstr "" + +#: redbot/core/core_commands.py:2159 +msgid "No immunty settings here." +msgstr "" + +#: redbot/core/core_commands.py:2168 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2173 +msgid "Already added." +msgstr "" + +#: redbot/core/core_commands.py:2181 +#, docstring +msgid "\\n Makes a user or roles immune from automated moderation actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2186 +msgid "Not in list." +msgstr "" + +#: redbot/core/core_commands.py:2194 +#, docstring +msgid "\\n Checks if a user or role would be considered immune from automated actions\\n " +msgstr "" + +#: redbot/core/core_commands.py:2199 +msgid "They are immune" +msgstr "" + +#: redbot/core/core_commands.py:2201 +msgid "They are not Immune" +msgstr "" + +#: redbot/core/core_commands.py:2206 +#, docstring +msgid "\\n Commands for configuring owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2213 +#, docstring +msgid "\\n Opt-in on recieving owner notifications.\\n\\n This is the default state.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2226 +#, docstring +msgid "\\n Opt-out of recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2239 +#, docstring +msgid "\\n Adds a destination text channel to recieve owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2258 +#, docstring +msgid "\\n Removes a destination text channel from recieving owner notifications.\\n " +msgstr "" + +#: redbot/core/core_commands.py:2275 +#, docstring +msgid "\\n Lists the configured extra destinations for owner notifications\\n " +msgstr "" + +#: redbot/core/core_commands.py:2282 +msgid "There are no extra channels being sent to." +msgstr "" + +#: redbot/core/core_commands.py:2293 +msgid "Unknown channel with id: {id}" +msgstr "" + +#: redbot/core/dev_commands.py:81 +#, docstring +msgid "Evaluate a statement of python code.\\n\\n The bot will always respond with the return value of the code.\\n If the return value of the code is a coroutine, it will be awaited,\\n and the result of that will be the bot's response.\\n\\n Note: Only one statement may be evaluated. Using await, yield or\\n similar restricted keywords will result in a syntax error. For multiple\\n lines or asynchronous code, see [p]repl or [p]eval.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:137 +#, docstring +msgid "Execute asynchronous code.\\n\\n This command wraps code into the body of an async function and then\\n calls and awaits it. The bot will respond with anything printed to\\n stdout, as well as the return value of the function.\\n\\n The code can be within a codeblock, inline code or neither, as long\\n as they are not mixed and they are formatted correctly.\\n\\n Environment Variables:\\n ctx - command invokation context\\n bot - bot object\\n channel - the current channel object\\n author - command author's member object\\n message - the command's message object\\n discord - discord.py library\\n commands - redbot.core.commands\\n _ - The result of the last dev command.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:202 +#, docstring +msgid "Open an interactive REPL.\\n\\n The REPL will only recognise code as messages which start with a\\n backtick. This includes codeblocks, and as such multiple lines can be\\n evaluated.\\n\\n You may not await any code in this REPL unless you define it inside an\\n async function.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:223 +msgid "Already running a REPL session in this channel. Exit it with `quit`." +msgstr "" + +#: redbot/core/dev_commands.py:228 +msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit." +msgstr "" + +#: redbot/core/dev_commands.py:236 +msgid "Exiting." +msgstr "" + +#: redbot/core/dev_commands.py:287 +msgid "Unexpected error: `{}`" +msgstr "" + +#: redbot/core/dev_commands.py:292 +#, docstring +msgid "Mock another user invoking a command.\\n\\n The prefix must not be entered.\\n " +msgstr "" + +#: redbot/core/dev_commands.py:305 +#, docstring +msgid "Dispatch a message event as if it were sent by a different user.\\n\\n Only reads the raw content of the message. Attachments, embeds etc. are\\n ignored.\\n " +msgstr "" + +#: redbot/core/errors.py:49 +msgid "{user}'s balance cannot rise above {max:,} {currency}." +msgstr "" + +#: redbot/core/modlog.py:165 +msgid "Case #{} | {} {}" +msgstr "" + +#: redbot/core/modlog.py:169 +msgid "**Reason:** {}" +msgstr "" + +#: redbot/core/modlog.py:171 +msgid "**Reason:** Use the `reason` command to add it" +msgstr "" + +#: redbot/core/modlog.py:176 +msgid "Unknown" +msgstr "" + +#: redbot/core/modlog.py:216 +msgid "Moderator" +msgstr "" + +#: redbot/core/modlog.py:218 +msgid "Until" +msgstr "" + +#: redbot/core/modlog.py:219 +msgid "Duration" +msgstr "" + +#: redbot/core/modlog.py:223 redbot/core/modlog.py:228 +msgid "Channel" +msgstr "" + +#: redbot/core/modlog.py:224 +msgid "{channel} (deleted)" +msgstr "" + +#: redbot/core/modlog.py:230 +msgid "Amended by" +msgstr "" + +#: redbot/core/modlog.py:232 +msgid "Last modified at" +msgstr "" + +#: redbot/core/modlog.py:239 +msgid "**User:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:240 +msgid "**Moderator:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:243 +msgid "**Until:** {}\\n**Duration:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:245 +msgid "**Channel**: {}\\n" +msgstr "" + +#: redbot/core/modlog.py:247 +msgid "**Amended by:** {}\\n" +msgstr "" + +#: redbot/core/modlog.py:249 +msgid "**Last modified at:** {}\\n" +msgstr "" + diff --git a/redbot/core/utils/locales/ar-SA.po b/redbot/core/utils/locales/ar-SA.po index 30006fcb6..da60ee62b 100644 --- a/redbot/core/utils/locales/ar-SA.po +++ b/redbot/core/utils/locales/ar-SA.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: ar_SA\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr "" +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "" + diff --git a/redbot/core/utils/locales/bg-BG.po b/redbot/core/utils/locales/bg-BG.po index 251cc4318..55d0b6465 100644 --- a/redbot/core/utils/locales/bg-BG.po +++ b/redbot/core/utils/locales/bg-BG.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Bulgarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: bg_BG\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr "" +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "дни" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "часове" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "минути" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "секунди" + diff --git a/redbot/core/utils/locales/cs-CZ.po b/redbot/core/utils/locales/cs-CZ.po new file mode 100644 index 000000000..ecc3a6e94 --- /dev/null +++ b/redbot/core/utils/locales/cs-CZ.po @@ -0,0 +1,70 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Czech\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: cs\n" +"X-Crowdin-File: /core/utils/locales/messages.pot\n" +"Language: cs_CZ\n" + +#: redbot/core/utils/chat_formatting.py:369 +msgid ", and " +msgstr ", a " + +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "" + diff --git a/redbot/core/utils/locales/da-DK.po b/redbot/core/utils/locales/da-DK.po index 57f7d5589..4c9f800f2 100644 --- a/redbot/core/utils/locales/da-DK.po +++ b/redbot/core/utils/locales/da-DK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: da_DK\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr "" +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "" + diff --git a/redbot/core/utils/locales/de-DE.po b/redbot/core/utils/locales/de-DE.po index 3dabe2057..dcae926ec 100644 --- a/redbot/core/utils/locales/de-DE.po +++ b/redbot/core/utils/locales/de-DE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: de_DE\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr ", und " +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "Tage" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "Stunden" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "Minuten" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "Sekunden" + diff --git a/redbot/core/utils/locales/el-GR.po b/redbot/core/utils/locales/el-GR.po index d3b3fc1d4..eaa9f7f71 100644 --- a/redbot/core/utils/locales/el-GR.po +++ b/redbot/core/utils/locales/el-GR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: el_GR\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr "" +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "" + diff --git a/redbot/core/utils/locales/en-PT.po b/redbot/core/utils/locales/en-PT.po index aa60059fe..7d9f6afe0 100644 --- a/redbot/core/utils/locales/en-PT.po +++ b/redbot/core/utils/locales/en-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Pirate English\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: en_PT\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr "" +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "days in the brig" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "turns of thee hourglass" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "minutes" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "grains of sand" + diff --git a/redbot/core/utils/locales/es-ES.po b/redbot/core/utils/locales/es-ES.po index a9e016f70..703d7c7fa 100644 --- a/redbot/core/utils/locales/es-ES.po +++ b/redbot/core/utils/locales/es-ES.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: es_ES\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr "" +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "días" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "horas" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "minutos" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "segundos" + diff --git a/redbot/core/utils/locales/fi-FI.po b/redbot/core/utils/locales/fi-FI.po index 32af6c923..001fbb9b2 100644 --- a/redbot/core/utils/locales/fi-FI.po +++ b/redbot/core/utils/locales/fi-FI.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: fi_FI\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr "" +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "" + diff --git a/redbot/core/utils/locales/fr-FR.po b/redbot/core/utils/locales/fr-FR.po index 35a2c8e86..b71ed7026 100644 --- a/redbot/core/utils/locales/fr-FR.po +++ b/redbot/core/utils/locales/fr-FR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:06\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:11\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: French\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: fr_FR\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr ", et " +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "an" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "ans" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "mois" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "mois" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "jour" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "jours" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "heure" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "heures" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "minute" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "minutes" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "seconde" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "secondes" + diff --git a/redbot/core/utils/locales/hu-HU.po b/redbot/core/utils/locales/hu-HU.po index 26ee795db..0f39ed0b2 100644 --- a/redbot/core/utils/locales/hu-HU.po +++ b/redbot/core/utils/locales/hu-HU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:12\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: hu_HU\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " +msgstr ", és " + +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" msgstr "" diff --git a/redbot/core/utils/locales/id-ID.po b/redbot/core/utils/locales/id-ID.po index 90035e1ef..1fd90c469 100644 --- a/redbot/core/utils/locales/id-ID.po +++ b/redbot/core/utils/locales/id-ID.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: id_ID\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr "" +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "hari" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "jam" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "menit" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "detik" + diff --git a/redbot/core/utils/locales/it-IT.po b/redbot/core/utils/locales/it-IT.po index 3ccf77952..b60781845 100644 --- a/redbot/core/utils/locales/it-IT.po +++ b/redbot/core/utils/locales/it-IT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: it_IT\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " -msgstr "" +msgstr ", e " + +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "anno" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "anni" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "mese" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "mesi" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "giorno" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "giorni" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "ora" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "ore" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "minuti" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "minuti" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "secondi" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "secondi" diff --git a/redbot/core/utils/locales/ja-JP.po b/redbot/core/utils/locales/ja-JP.po index 73f8bb3f6..f2ac0991a 100644 --- a/redbot/core/utils/locales/ja-JP.po +++ b/redbot/core/utils/locales/ja-JP.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: ja_JP\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr "" +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "日間" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "時間" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "分間" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "秒間" + diff --git a/redbot/core/utils/locales/ko-KR.po b/redbot/core/utils/locales/ko-KR.po index 319d665f1..65cfcaba3 100644 --- a/redbot/core/utils/locales/ko-KR.po +++ b/redbot/core/utils/locales/ko-KR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: ko_KR\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr "" +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "날" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "시간" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "분" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "초" + diff --git a/redbot/core/utils/locales/lol-US.po b/redbot/core/utils/locales/lol-US.po index 4f76776f6..3ee72b969 100644 --- a/redbot/core/utils/locales/lol-US.po +++ b/redbot/core/utils/locales/lol-US.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: LOLCAT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: lol_US\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr ", and " +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "" + diff --git a/redbot/core/utils/locales/nl-NL.po b/redbot/core/utils/locales/nl-NL.po index 8e05622d5..860f4f96d 100644 --- a/redbot/core/utils/locales/nl-NL.po +++ b/redbot/core/utils/locales/nl-NL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: nl_NL\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr ", en " +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "dagen" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "uren" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "minuten" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "seconden" + diff --git a/redbot/core/utils/locales/no-NO.po b/redbot/core/utils/locales/no-NO.po index 2392ba05b..acd0e1e89 100644 --- a/redbot/core/utils/locales/no-NO.po +++ b/redbot/core/utils/locales/no-NO.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Norwegian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: no_NO\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr "" +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "dager" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "timer" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "minutter" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "sekunder" + diff --git a/redbot/core/utils/locales/pl-PL.po b/redbot/core/utils/locales/pl-PL.po index 5b261574d..a73e01a31 100644 --- a/redbot/core/utils/locales/pl-PL.po +++ b/redbot/core/utils/locales/pl-PL.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: pl_PL\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr "" +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "dni" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "godzin" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "minut" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "sekund" + diff --git a/redbot/core/utils/locales/pt-BR.po b/redbot/core/utils/locales/pt-BR.po index f2eec642e..60b8d6fcd 100644 --- a/redbot/core/utils/locales/pt-BR.po +++ b/redbot/core/utils/locales/pt-BR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese, Brazilian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: pt_BR\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr "" +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "dias" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "horas" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "minutos" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "segundos" + diff --git a/redbot/core/utils/locales/pt-PT.po b/redbot/core/utils/locales/pt-PT.po index 07277a5ed..5d99a12f3 100644 --- a/redbot/core/utils/locales/pt-PT.po +++ b/redbot/core/utils/locales/pt-PT.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: pt_PT\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr ", e " +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "" + diff --git a/redbot/core/utils/locales/ro-RO.po b/redbot/core/utils/locales/ro-RO.po new file mode 100644 index 000000000..11e62b4a9 --- /dev/null +++ b/redbot/core/utils/locales/ro-RO.po @@ -0,0 +1,70 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:09\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Romanian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: ro\n" +"X-Crowdin-File: /core/utils/locales/messages.pot\n" +"Language: ro_RO\n" + +#: redbot/core/utils/chat_formatting.py:369 +msgid ", and " +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "" + diff --git a/redbot/core/utils/locales/ru-RU.po b/redbot/core/utils/locales/ru-RU.po index 1ffaf7135..f41926c29 100644 --- a/redbot/core/utils/locales/ru-RU.po +++ b/redbot/core/utils/locales/ru-RU.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 05:52\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: ru_RU\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr ", и " +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "дн." + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "ч." + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "мин." + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "с." + diff --git a/redbot/core/utils/locales/sk-SK.po b/redbot/core/utils/locales/sk-SK.po index aa93bb652..5093a92a1 100644 --- a/redbot/core/utils/locales/sk-SK.po +++ b/redbot/core/utils/locales/sk-SK.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:13\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Slovak\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: sk_SK\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr "" +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "" + diff --git a/redbot/core/utils/locales/sv-SE.po b/redbot/core/utils/locales/sv-SE.po index 194bae73f..aa6ced767 100644 --- a/redbot/core/utils/locales/sv-SE.po +++ b/redbot/core/utils/locales/sv-SE.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:07\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: sv_SE\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr "" +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "dagar" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "timmar" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "minuter" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "sekunder" + diff --git a/redbot/core/utils/locales/tr-TR.po b/redbot/core/utils/locales/tr-TR.po index f57bf8dbd..931f872d2 100644 --- a/redbot/core/utils/locales/tr-TR.po +++ b/redbot/core/utils/locales/tr-TR.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: tr_TR\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr "" +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "günler" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "saatler" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "dakika" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "saniye" + diff --git a/redbot/core/utils/locales/zh-CN.po b/redbot/core/utils/locales/zh-CN.po index ab0fc88c9..6829ba8a4 100644 --- a/redbot/core/utils/locales/zh-CN.po +++ b/redbot/core/utils/locales/zh-CN.po @@ -1,14 +1,14 @@ msgid "" msgstr "" "Project-Id-Version: red-discordbot\n" -"POT-Creation-Date: 2019-01-11 02:18+0000\n" -"PO-Revision-Date: 2019-02-25 03:08\n" -"Last-Translator: Kowlin \n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-06 16:14\n" +"Last-Translator: Robert Jansen (Kowlin)\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: redgettext 2.2\n" +"Generated-By: redgettext 3.0\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: red-discordbot\n" @@ -16,7 +16,55 @@ msgstr "" "X-Crowdin-File: /core/utils/locales/messages.pot\n" "Language: zh_CN\n" -#: redbot/core/utils/chat_formatting.py:362 +#: redbot/core/utils/chat_formatting.py:369 msgid ", and " msgstr "" +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "日" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "小时" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "分钟" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "秒数" + diff --git a/redbot/core/utils/locales/zh-TW.po b/redbot/core/utils/locales/zh-TW.po new file mode 100644 index 000000000..2dd9458f9 --- /dev/null +++ b/redbot/core/utils/locales/zh-TW.po @@ -0,0 +1,70 @@ +msgid "" +msgstr "" +"Project-Id-Version: red-discordbot\n" +"POT-Creation-Date: 2019-07-05 22:33+0200\n" +"PO-Revision-Date: 2019-07-14 02:15\n" +"Last-Translator: Robert Jansen (Kowlin)\n" +"Language-Team: Chinese Traditional\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: redgettext 3.0\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: red-discordbot\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /core/utils/locales/messages.pot\n" +"Language: zh_TW\n" + +#: redbot/core/utils/chat_formatting.py:369 +msgid ", and " +msgstr ",和 " + +#: redbot/core/utils/chat_formatting.py:414 +msgid "year" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:414 +msgid "years" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "month" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:415 +msgid "months" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "day" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:416 +msgid "days" +msgstr "日" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hour" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:417 +msgid "hours" +msgstr "小時" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minute" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:418 +msgid "minutes" +msgstr "分鐘" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "second" +msgstr "" + +#: redbot/core/utils/chat_formatting.py:419 +msgid "seconds" +msgstr "秒" + From 49a75b5f19ecd24227e3c76624ee95bd747f1632 Mon Sep 17 00:00:00 2001 From: Michael H Date: Sat, 13 Jul 2019 23:55:47 -0400 Subject: [PATCH 089/183] command translator quick fix (#2870) * command translator quick fix * command translator quick fix --- redbot/core/commands/commands.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redbot/core/commands/commands.py b/redbot/core/commands/commands.py index e4a2cd2d6..82afe3404 100644 --- a/redbot/core/commands/commands.py +++ b/redbot/core/commands/commands.py @@ -174,7 +174,7 @@ class Command(CogCommandMixin, commands.Command): if self._help_override is not None: return self._help_override if self.translator is None: - translator = lambda s: s + translator = getattr(self.cog, "__translator__", lambda s: s) else: translator = self.translator command_doc = self.callback.__doc__ From 3b0567d261b3fbc951a0b52ce66a9e1c485e9c17 Mon Sep 17 00:00:00 2001 From: Michael H Date: Sun, 14 Jul 2019 00:17:44 -0400 Subject: [PATCH 090/183] bump (#2864) --- redbot/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redbot/__init__.py b/redbot/__init__.py index 162ed6ba0..48ad1d33d 100644 --- a/redbot/__init__.py +++ b/redbot/__init__.py @@ -174,7 +174,7 @@ class VersionInfo: ) -__version__ = "3.1.2" +__version__ = "3.1.3" version_info = VersionInfo.from_str(__version__) # Filter fuzzywuzzy slow sequence matcher warning From 3de9d15410613279faa6a3eb44e22c6cabc0df0b Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Mon, 15 Jul 2019 20:13:06 +1000 Subject: [PATCH 091/183] [CustomCom] Set Requires.ready_event before invoking CC (#2876) Signed-off-by: Toby Harradine --- redbot/cogs/customcom/customcom.py | 1 + 1 file changed, 1 insertion(+) diff --git a/redbot/cogs/customcom/customcom.py b/redbot/cogs/customcom/customcom.py index 8d3faae8e..12cb86ca9 100644 --- a/redbot/cogs/customcom/customcom.py +++ b/redbot/cogs/customcom/customcom.py @@ -470,6 +470,7 @@ class CustomCommands(commands.Cog): # wrap the command here so it won't register with the bot fake_cc = commands.command(name=ctx.invoked_with)(self.cc_callback) fake_cc.params = self.prepare_args(raw_response) + fake_cc.requires.ready_event.set() ctx.command = fake_cc await self.bot.invoke(ctx) From 778eadd418f78f556155e1b7cd2b56ce8455ebb8 Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Mon, 15 Jul 2019 20:18:21 +1000 Subject: [PATCH 092/183] [ModLog] Fix get_case() and get_casetype() (#2877) This fixes `[p]reason` and `[p]case` with cases that were created after 3.1.3. Signed-off-by: Toby Harradine --- redbot/core/modlog.py | 38 ++++++++++++-------------------------- 1 file changed, 12 insertions(+), 26 deletions(-) diff --git a/redbot/core/modlog.py b/redbot/core/modlog.py index 065d87848..ed272dd4e 100644 --- a/redbot/core/modlog.py +++ b/redbot/core/modlog.py @@ -48,24 +48,8 @@ async def _init(): _conf.register_guild(mod_log=None, casetypes={}) _conf.init_custom(_CASETYPES, 1) _conf.init_custom(_CASES, 2) - _conf.register_custom( - _CASETYPES, default_setting=None, image=None, case_str=None, audit_type=None - ) - _conf.register_custom( - _CASES, - case_number=None, - action_type=None, - guild=None, - created_at=None, - user=None, - moderator=None, - reason=None, - until=None, - channel=None, - amended_by=None, - modified_at=None, - message=None, - ) + _conf.register_custom(_CASETYPES) + _conf.register_custom(_CASES) await _migrate_config(from_version=await _conf.schema_version(), to_version=_SCHEMA_VERSION) @@ -139,6 +123,9 @@ class Case: The attributes to change """ + # We don't want case_number to be changed + data.pop("case_number", None) + for item in list(data.keys()): setattr(self, item, data[item]) @@ -267,6 +254,7 @@ class Case: else: user_id = self.user.id data = { + "case_number": self.case_number, "action_type": self.action_type, "guild": self.guild.id, "created_at": self.created_at, @@ -516,7 +504,7 @@ async def get_case(case_number: int, guild: discord.Guild, bot: Red) -> Case: """ case = await _conf.custom(_CASES, str(guild.id), str(case_number)).all() - if not case["case_number"]: + if not case: raise RuntimeError("That case does not exist for guild {}".format(guild.name)) mod_channel = await get_modlog_channel(guild) return await Case.from_json(mod_channel, bot, case_number, case) @@ -693,14 +681,12 @@ async def get_casetype(name: str, guild: Optional[discord.Guild] = None) -> Opti ------- Optional[CaseType] """ - try: - data = await _conf.custom(_CASETYPES, name).all() - except KeyError: + data = await _conf.custom(_CASETYPES, name).all() + if not data: return - else: - casetype = CaseType.from_json(name, data) - casetype.guild = guild - return casetype + casetype = CaseType.from_json(name, data) + casetype.guild = guild + return casetype async def get_all_casetypes(guild: discord.Guild = None) -> List[CaseType]: From e9f014df07b747fc7ef6bd675bea3a247cd42426 Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Tue, 16 Jul 2019 10:44:49 +1000 Subject: [PATCH 093/183] Revert "Update Crowdin configuration file" (#2878) This reverts commit 03e59ea9. Signed-off-by: Toby Harradine --- crowdin.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crowdin.yml b/crowdin.yml index b6a113ca4..457cf1ea4 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -2,7 +2,7 @@ api_key_env: CROWDIN_API_KEY project_identifier_env: CROWDIN_PROJECT_ID base_path: ./redbot/ files: - - source: cogs/**/locales/messages.pot + - source: cogs/**/messages.pot translation: /%original_path%/%locale%.po - - source: core/**/locales/messages.pot + - source: core/**/messages.pot translation: /%original_path%/%locale%.po From f0f274e1e1068c86517736f2ed0f4bd20f308dd3 Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Tue, 16 Jul 2019 11:26:25 +1000 Subject: [PATCH 094/183] Bump version to 3.1.4 Signed-off-by: Toby Harradine --- redbot/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/redbot/__init__.py b/redbot/__init__.py index 48ad1d33d..99871b955 100644 --- a/redbot/__init__.py +++ b/redbot/__init__.py @@ -174,7 +174,7 @@ class VersionInfo: ) -__version__ = "3.1.3" +__version__ = "3.1.4" version_info = VersionInfo.from_str(__version__) # Filter fuzzywuzzy slow sequence matcher warning From d4b6fdea92181429758a8d3477baf76302ed734f Mon Sep 17 00:00:00 2001 From: Michael H Date: Tue, 16 Jul 2019 21:12:43 -0400 Subject: [PATCH 095/183] Add towncrier (#2873) * Adds towncrier as our changelog system. * Updates our contributor guidelines for this. Resolves #2872 --- .github/CONTRIBUTING.md | 37 +++++++-- Makefile | 5 ++ changelog.d/.gitignore | 1 + changelog.d/2872.feature.rst | 1 + changelog.d/admin/.gitignore | 1 + changelog.d/alias/.gitignore | 1 + changelog.d/audio/.gitignore | 1 + changelog.d/bank/.gitignore | 1 + changelog.d/cleanup/.gitignore | 1 + changelog.d/customcom/.gitignore | 1 + changelog.d/downloader/.gitignore | 1 + changelog.d/economy/.gitignore | 1 + changelog.d/filter/.gitignore | 1 + changelog.d/general/.gitignore | 1 + changelog.d/image/.gitignore | 1 + changelog.d/mod/.gitignore | 1 + changelog.d/modlog/.gitignore | 1 + changelog.d/mutes/.gitignore | 1 + changelog.d/permissions/.gitignore | 1 + changelog.d/reports/.gitignore | 1 + changelog.d/streams/.gitignore | 1 + changelog.d/trivia/.gitignore | 1 + changelog.d/warnings/.gitignore | 1 + make.bat | 6 ++ pyproject.toml | 125 +++++++++++++++++++++++++++++ setup.cfg | 1 + tools/check_changelog_entries.sh | 19 +++++ tools/primary_deps.ini | 1 + tox.ini | 6 ++ 29 files changed, 215 insertions(+), 6 deletions(-) create mode 100644 changelog.d/.gitignore create mode 100644 changelog.d/2872.feature.rst create mode 100644 changelog.d/admin/.gitignore create mode 100644 changelog.d/alias/.gitignore create mode 100644 changelog.d/audio/.gitignore create mode 100644 changelog.d/bank/.gitignore create mode 100644 changelog.d/cleanup/.gitignore create mode 100644 changelog.d/customcom/.gitignore create mode 100644 changelog.d/downloader/.gitignore create mode 100644 changelog.d/economy/.gitignore create mode 100644 changelog.d/filter/.gitignore create mode 100644 changelog.d/general/.gitignore create mode 100644 changelog.d/image/.gitignore create mode 100644 changelog.d/mod/.gitignore create mode 100644 changelog.d/modlog/.gitignore create mode 100644 changelog.d/mutes/.gitignore create mode 100644 changelog.d/permissions/.gitignore create mode 100644 changelog.d/reports/.gitignore create mode 100644 changelog.d/streams/.gitignore create mode 100644 changelog.d/trivia/.gitignore create mode 100644 changelog.d/warnings/.gitignore create mode 100644 pyproject.toml create mode 100644 tools/check_changelog_entries.sh diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 308b1d4ec..5dc471615 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -11,8 +11,9 @@ * [4.4 Make](#44-make) * [4.5 Keeping your dependencies up to date](#45-keeping-your-dependencies-up-to-date) * [4.6 To contribute changes](#46-to-contribute-changes) - * [4.7 How To Report A Bug](#47-how-to-report-a-bug) - * [4.8 How To Suggest A Feature Or Enhancement](#48-how-to-suggest-a-feature-or-enhancement) + * [4.7 Using towncrier](#47-using-towncrier) + * [4.8 How To Report A Bug](#48-how-to-report-a-bug) + * [4.9 How To Suggest A Feature Or Enhancement](#49-how-to-suggest-a-feature-or-enhancement) * [5. Code Review Process](#5-code-review-process) * [5.1 Issues](#51-issues) * [5.2 Pull Requests](#52-pull-requests) @@ -98,7 +99,7 @@ Our style checker of choice, [black](https://github.com/ambv/black), actually ha Use the command `black --help` to see how to use this tool. The full style guide is explained in detail on [black's GitHub repository](https://github.com/ambv/black). **There is one exception to this**, however, which is that we set the line length to 99, instead of black's default 88. When using `black` on the command line, simply use it like so: `black -l 99 -N `. ### 4.4 Make -You may have noticed we have a `Makefile` and a `make.bat` in the top-level directory. For now, you can do three things with them: +You may have noticed we have a `Makefile` and a `make.bat` in the top-level directory. For now, you can do a few things with them: 1. `make reformat`: Reformat all python files in the project with Black 2. `make stylecheck`: Check if any `.py` files in the project need reformatting 3. `make newenv`: Set up a new virtual environment in the `.venv` subdirectory, and install Red and its dependencies. If one already exists, it is cleared out and replaced. @@ -112,13 +113,37 @@ Whenever you pull from upstream (V3/develop on the main repository) and you noti 1. Create a new branch on your fork 2. Make the changes 3. If you like the changes and think the main Red project could use it: + * Create a towncrier entry for the changes. (See next section for details) * Run tests with `tox` to ensure your code is up to scratch * Create a Pull Request on GitHub with your changes -### 4.7 How To Report A Bug +### 4.7 Using towncrier + +Red uses towncrier to create changelogs. + +To create a towncrier entry for your PR, create a file in `changelog.d` for it. If the changes are for a specific cog, place the file in the related subdirectory. + +The filename should be of the format `issuenumber.changetype(.count).rst`, where `(.count)` is an optional +part of the filename should multiple entries for the same issue number and type be neccessary. + +Valid changetypes are: + + * breaking : Breaking changes + * dep : Changes to dependencies + * enhance : Enhancements + * feature : New features + * bugfix : Bugfixes + * docs : documentation improvements and additions + * removal : removal of something + * misc : any changes which don't have a user facing change, and don't belong in the changelog for users + +The contents of the file should be a short, human readable description of the impact of the changes made, +not the technical details of the change. + +### 4.8 How To Report A Bug Please see our **ISSUES.MD** for more information. -### 4.8 How To Suggest A Feature Or Enhancement +### 4.9 How To Suggest A Feature Or Enhancement The goal of Red is to be as useful to as many people as possible, this means that all features must be useful to anyone and any server that uses Red. If you find yourself wanting a feature that Red does not already have, you're probably not alone. There's bound to be a great number of users out there needing the same thing and a lot of the features that Red has today have been added because of the needs of our users. Open an issue on our issues list and describe the feature you would like to see, how you would use it, how it should work, and why it would be useful to the Red community as a whole. @@ -137,7 +162,7 @@ Pull requests are evaluated by their quality and how effectively they solve thei 1. A pull request is submitted 2. Core team members will review and test the pull request (usually within a week) -3. After a majority of the core team approves your pull request: +3. After a member of the core team approves your pull request: * If your pull request is considered an improvement or enhancement the project owner will have 1 day to veto or approve your pull request. * If your pull request is considered a new feature the project owner will have 1 week to veto or approve your pull request. 4. If any feedback is given we expect a response within 1 week or we may decide to close the PR. diff --git a/Makefile b/Makefile index a39d615e7..5d9afbf64 100644 --- a/Makefile +++ b/Makefile @@ -24,3 +24,8 @@ newenv: $(MAKE) syncenv syncenv: .venv/bin/pip install -Ur ./tools/dev-requirements.txt + +# Changelog check +checkchangelog: + bash tools/check_changelog_entries.sh + python -m towncrier --draft diff --git a/changelog.d/.gitignore b/changelog.d/.gitignore new file mode 100644 index 000000000..b722e9e13 --- /dev/null +++ b/changelog.d/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/changelog.d/2872.feature.rst b/changelog.d/2872.feature.rst new file mode 100644 index 000000000..d4e20a46a --- /dev/null +++ b/changelog.d/2872.feature.rst @@ -0,0 +1 @@ +Red now uses towncrier for changelog generation \ No newline at end of file diff --git a/changelog.d/admin/.gitignore b/changelog.d/admin/.gitignore new file mode 100644 index 000000000..b722e9e13 --- /dev/null +++ b/changelog.d/admin/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/changelog.d/alias/.gitignore b/changelog.d/alias/.gitignore new file mode 100644 index 000000000..b722e9e13 --- /dev/null +++ b/changelog.d/alias/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/changelog.d/audio/.gitignore b/changelog.d/audio/.gitignore new file mode 100644 index 000000000..b722e9e13 --- /dev/null +++ b/changelog.d/audio/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/changelog.d/bank/.gitignore b/changelog.d/bank/.gitignore new file mode 100644 index 000000000..b722e9e13 --- /dev/null +++ b/changelog.d/bank/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/changelog.d/cleanup/.gitignore b/changelog.d/cleanup/.gitignore new file mode 100644 index 000000000..b722e9e13 --- /dev/null +++ b/changelog.d/cleanup/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/changelog.d/customcom/.gitignore b/changelog.d/customcom/.gitignore new file mode 100644 index 000000000..b722e9e13 --- /dev/null +++ b/changelog.d/customcom/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/changelog.d/downloader/.gitignore b/changelog.d/downloader/.gitignore new file mode 100644 index 000000000..b722e9e13 --- /dev/null +++ b/changelog.d/downloader/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/changelog.d/economy/.gitignore b/changelog.d/economy/.gitignore new file mode 100644 index 000000000..b722e9e13 --- /dev/null +++ b/changelog.d/economy/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/changelog.d/filter/.gitignore b/changelog.d/filter/.gitignore new file mode 100644 index 000000000..b722e9e13 --- /dev/null +++ b/changelog.d/filter/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/changelog.d/general/.gitignore b/changelog.d/general/.gitignore new file mode 100644 index 000000000..b722e9e13 --- /dev/null +++ b/changelog.d/general/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/changelog.d/image/.gitignore b/changelog.d/image/.gitignore new file mode 100644 index 000000000..b722e9e13 --- /dev/null +++ b/changelog.d/image/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/changelog.d/mod/.gitignore b/changelog.d/mod/.gitignore new file mode 100644 index 000000000..b722e9e13 --- /dev/null +++ b/changelog.d/mod/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/changelog.d/modlog/.gitignore b/changelog.d/modlog/.gitignore new file mode 100644 index 000000000..b722e9e13 --- /dev/null +++ b/changelog.d/modlog/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/changelog.d/mutes/.gitignore b/changelog.d/mutes/.gitignore new file mode 100644 index 000000000..b722e9e13 --- /dev/null +++ b/changelog.d/mutes/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/changelog.d/permissions/.gitignore b/changelog.d/permissions/.gitignore new file mode 100644 index 000000000..b722e9e13 --- /dev/null +++ b/changelog.d/permissions/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/changelog.d/reports/.gitignore b/changelog.d/reports/.gitignore new file mode 100644 index 000000000..b722e9e13 --- /dev/null +++ b/changelog.d/reports/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/changelog.d/streams/.gitignore b/changelog.d/streams/.gitignore new file mode 100644 index 000000000..b722e9e13 --- /dev/null +++ b/changelog.d/streams/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/changelog.d/trivia/.gitignore b/changelog.d/trivia/.gitignore new file mode 100644 index 000000000..b722e9e13 --- /dev/null +++ b/changelog.d/trivia/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/changelog.d/warnings/.gitignore b/changelog.d/warnings/.gitignore new file mode 100644 index 000000000..b722e9e13 --- /dev/null +++ b/changelog.d/warnings/.gitignore @@ -0,0 +1 @@ +!.gitignore \ No newline at end of file diff --git a/make.bat b/make.bat index 7f9b79df6..46ea86173 100644 --- a/make.bat +++ b/make.bat @@ -30,6 +30,12 @@ goto syncenv .\.venv\Scripts\python -m pip install -Ur .\tools\dev-requirements.txt exit /B %ERRORLEVEL% +:checkchangelog +REM This should be written for windows at some point I guess. +REM If we can swith to powershell, it can make this much easier. +echo This doesn^'t do anything on windows ^(yet^) +exit /b 0 + :help echo Usage: echo make ^ diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 000000000..0b98577f9 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,125 @@ +[tool.towncrier] + package = "redbot" + filename = "CHANGELOG.rst" + directory = "changelog.d" + issue_format = "`#{issue} `_" + + [[tool.towncrier.section]] + path = "" + name = "Core Bot Changes" + + [[tool.towncrier.section]] + path = "admin" + name = "Admin" + + [[tool.towncrier.section]] + path = "alias" + name = "Alias" + + [[tool.towncrier.section]] + path = "audio" + name = "Audio" + + [[tool.towncrier.section]] + path = "bank" + name = "Bank" + + [[tool.towncrier.section]] + path = "cleanup" + name = "Cleanup" + + [[tool.towncrier.section]] + path = "customcom" + name = "CustomCom" + + [[tool.towncrier.section]] + path = "downloader" + name = "Downloader" + + [[tool.towncrier.section]] + path = "economy" + name = "Economy" + + [[tool.towncrier.section]] + path = "filter" + name = "Filter" + + [[tool.towncrier.section]] + path = "general" + name = "General" + + [[tool.towncrier.section]] + path = "image" + name = "Image" + + [[tool.towncrier.section]] + path = "mod" + name = "Mod" + + [[tool.towncrier.section]] + path = "modlog" + name = "ModLog" + + [[tool.towncrier.section]] + path = "mutes" + name = "Mutes" + + [[tool.towncrier.section]] + path = "permissions" + name = "Permissions" + + [[tool.towncrier.section]] + path = "reports" + name = "Reports" + + [[tool.towncrier.section]] + path = "streams" + name = "Streams" + + [[tool.towncrier.section]] + path = "trivia" + name = "Trivia" + + [[tool.towncrier.section]] + path = "warnings" + name = "Warnings" + + [[tool.towncrier.type]] + directory = "breaking" + name = "Breaking Changes" + showcontent = true + + [[tool.towncrier.type]] + directory = "bugfix" + name = "Bug Fixes" + showcontent = true + + [[tool.towncrier.type]] + directory = "enhance" + name = "Enhancements" + showcontent = true + + [[tool.towncrier.type]] + directory = "feature" + name = "New Feature" + showcontent = true + + [[tool.towncrier.type]] + directory = "removal" + name = "Removals" + showcontent = true + + [[tool.towncrier.type]] + directory = "misc" + name = "Miscellaneous changes" + showcontent = false + + [[tool.towncrier.type]] + directory = "dep" + name = "Changes to dependencies" + showcontent = true + + [[tool.towncrier.type]] + directory = "docs" + name = "Documentation Changes" + showcontent = true diff --git a/setup.cfg b/setup.cfg index 6f1c51690..399c55186 100644 --- a/setup.cfg +++ b/setup.cfg @@ -74,6 +74,7 @@ docs = sphinxcontrib-qthelp==1.0.2 sphinxcontrib-serializinghtml==1.1.3 sphinxcontrib-trio==1.1.0 + towncrier==19.2.0 urllib3==1.25.3 mongo = dnspython==1.16.0 diff --git a/tools/check_changelog_entries.sh b/tools/check_changelog_entries.sh new file mode 100644 index 000000000..34da49ba1 --- /dev/null +++ b/tools/check_changelog_entries.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +# This can be run for other remotes than origin with the env vat `RED_REMOTE` +REMOTE="${RED_REMOTE:-origin}" + +if [[ $(git diff "$REMOTE"/V3/develop) ]]; then + + if [[ $(git diff "$REMOTE"/V3/develop -- changelog.d/) ]]; then + echo "Found changelog fragments..." + exit 0 + else + echo "Error: No new changelog fragments!" + exit 1 + fi + +else + echo "No changes to need changelog for." + exit 0 +fi diff --git a/tools/primary_deps.ini b/tools/primary_deps.ini index f35aa103c..390920480 100644 --- a/tools/primary_deps.ini +++ b/tools/primary_deps.ini @@ -30,6 +30,7 @@ docs = Sphinx sphinx_rtd_theme sphinxcontrib-trio + towncrier mongo = dnspython motor diff --git a/tox.ini b/tox.ini index c61cb7091..965ea3e99 100644 --- a/tox.ini +++ b/tox.ini @@ -25,12 +25,18 @@ commands = description = Attempt to build docs with sphinx-build whitelist_externals = sphinx-build + make +setenv = + # This is just for Windows + # Prioritise make.bat over any make.exe which might be on PATH + PATHEXT=.BAT;.EXE basepython = python3.7 extras = docs, mongo commands = sphinx-build -d "{toxworkdir}/docs_doctree" docs "{toxworkdir}/docs_out/html" -W -bhtml sphinx-build -d "{toxworkdir}/docs_doctree" docs "{toxworkdir}/docs_out/linkcheck" -W -blinkcheck sphinx-build -d "{toxworkdir}/docs_doctree" docs "{toxworkdir}/docs_out/doctest" -W -bdoctest + make checkchangelog [testenv:style] description = Stylecheck the code with black to see if anything needs changes. From 0ba9eaeccc490dd60ff2da41317f590cbf468815 Mon Sep 17 00:00:00 2001 From: DevilXD Date: Wed, 17 Jul 2019 14:47:38 +0200 Subject: [PATCH 096/183] Slowmode now accepts integer only inputs as seconds (#2884) * Slowmode now accepts integer only inputs as seconds * Added changelog entry --- changelog.d/mod/2884.enhance.rst | 1 + redbot/cogs/mod/slowmode.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 changelog.d/mod/2884.enhance.rst diff --git a/changelog.d/mod/2884.enhance.rst b/changelog.d/mod/2884.enhance.rst new file mode 100644 index 000000000..7923dcc5c --- /dev/null +++ b/changelog.d/mod/2884.enhance.rst @@ -0,0 +1 @@ +Slowmode now accepts integer only inputs as seconds diff --git a/redbot/cogs/mod/slowmode.py b/redbot/cogs/mod/slowmode.py index 807769c26..00fc6bf11 100644 --- a/redbot/cogs/mod/slowmode.py +++ b/redbot/cogs/mod/slowmode.py @@ -21,7 +21,7 @@ class Slowmode(MixinMeta): ctx, *, interval: commands.TimedeltaConverter( - minimum=timedelta(seconds=0), maximum=timedelta(hours=6) + minimum=timedelta(seconds=0), maximum=timedelta(hours=6), default_unit="seconds" ) = timedelta(seconds=0), ): """Changes channel's slowmode setting. From 7ba50c91a2a6c74ad87d40d0c04e587dfe817492 Mon Sep 17 00:00:00 2001 From: DevilXD Date: Thu, 18 Jul 2019 11:49:40 +0200 Subject: [PATCH 097/183] Fixed remove_command error when trying to remove a non-existent command (#2889) * Fixed remove_command error when trying to remove a non-existent command * Added changelog entry --- changelog.d/2888.bugfix.rst | 1 + redbot/core/bot.py | 2 ++ 2 files changed, 3 insertions(+) create mode 100644 changelog.d/2888.bugfix.rst diff --git a/changelog.d/2888.bugfix.rst b/changelog.d/2888.bugfix.rst new file mode 100644 index 000000000..19f76701d --- /dev/null +++ b/changelog.d/2888.bugfix.rst @@ -0,0 +1 @@ +Fixed remove_command error when trying to remove a non-existent command \ No newline at end of file diff --git a/redbot/core/bot.py b/redbot/core/bot.py index ceeb05ff0..9d047aed0 100644 --- a/redbot/core/bot.py +++ b/redbot/core/bot.py @@ -461,6 +461,8 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d def remove_command(self, name: str) -> None: command = super().remove_command(name) + if not command: + return command.requires.reset() if isinstance(command, commands.Group): for subcommand in set(command.walk_commands()): From a8091332b82d0da14aa0079ddb2aff78f8f5a2a6 Mon Sep 17 00:00:00 2001 From: Michael H Date: Thu, 18 Jul 2019 21:50:33 -0400 Subject: [PATCH 098/183] [Docs] Add version guarantees (#2882) Make some version guarantees. We also need to do a pass over the existing things this would cover and decide if any of them should be made private. --- changelog.d/2882.docs.rst | 1 + docs/guide_cog_creation.rst | 14 ++++++++++++++ docs/index.rst | 1 + docs/version_guarantees.rst | 36 ++++++++++++++++++++++++++++++++++++ 4 files changed, 52 insertions(+) create mode 100644 changelog.d/2882.docs.rst create mode 100644 docs/version_guarantees.rst diff --git a/changelog.d/2882.docs.rst b/changelog.d/2882.docs.rst new file mode 100644 index 000000000..76bdc33a2 --- /dev/null +++ b/changelog.d/2882.docs.rst @@ -0,0 +1 @@ +Create documentation covering what we consider a developer facing breaking change and guarantees regarding them. \ No newline at end of file diff --git a/docs/guide_cog_creation.rst b/docs/guide_cog_creation.rst index 26fb38fc4..116cfb54b 100644 --- a/docs/guide_cog_creation.rst +++ b/docs/guide_cog_creation.rst @@ -35,6 +35,20 @@ a text editor or IDE (examples include `Sublime Text 3 `_, `Atom `_, and `PyCharm `_). +.. attention:: + While you can intentionally override Red's cogs/extensions, this may break things. + We would prefer if people wanted custom behavior + for any core cog/extension, an issue and/or PR is made + Overriding Permissions specifically is dangerous. + + Subclassing to make changes to Red's cogs/extensions + may not be a safe way to stay up to date either, + as changes to cogs and their interactions with red + are not guaranteed to not be breaking. + + Any cogs doing this are doing so at their own risk, + and should also inform users of associated risks. + -------------- Creating a cog -------------- diff --git a/docs/index.rst b/docs/index.rst index 747a2994f..ab262fbd5 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -43,6 +43,7 @@ Welcome to Red - Discord Bot's documentation! framework_modlog framework_rpc framework_utils + version_guarantees .. toctree:: :maxdepth: 2 diff --git a/docs/version_guarantees.rst b/docs/version_guarantees.rst new file mode 100644 index 000000000..247fe6a83 --- /dev/null +++ b/docs/version_guarantees.rst @@ -0,0 +1,36 @@ +.. _version-guarantees: + +========== +Versioning +========== + +Red is versioned as ``major.minor.micro`` + +While this is very similar to SemVer, we have our own set of guarantees. + +Major versions are for project wide rewrites and are not expected in the foreseeable future. + +========== +Guarantees +========== + +Anything in the ``redbot.core`` module or any of its submodules +which is not private (even if not documented) should not break without notice. + +Anything in the ``redbot.cogs`` module or any of it's submodules is specifically +excluded from being guaranteed. + +If you would like something in here to be guaranteed, +open an issue making a case for it to be moved. + +======================= +Breaking Change Notices +======================= + +Breaking changes in Red will be noted in the changelog with a special section. + +Breaking changes may only occur on a minor or major version bump. + +A change not covered by our guarantees may not be considered breaking for these purposes, +while still being documented as a breaking change in internal documentation +for the purposes of other internal APIs. From af096bc1ccca33dc5f1c6fa5e709cfa992fa0470 Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Wed, 24 Jul 2019 06:50:07 +1000 Subject: [PATCH 099/183] Config locks (#2654) * Config locks Signed-off-by: Toby Harradine * Add locks for all_XXX Signed-off-by: Toby Harradine * Remove a word Signed-off-by: Toby Harradine * Add acquire_lock kwarg for value context manager Signed-off-by: Toby Harradine * Add towncrier entry Signed-off-by: Toby * Fix issues with `get_custom_lock` and `get_members_lock` Signed-off-by: Toby Harradine --- changelog.d/2654.feature.rst | 1 + redbot/core/config.py | 200 ++++++++++++++++++++++++++++---- redbot/core/drivers/red_base.py | 13 +++ tests/core/test_config.py | 48 ++++++++ 4 files changed, 241 insertions(+), 21 deletions(-) create mode 100644 changelog.d/2654.feature.rst diff --git a/changelog.d/2654.feature.rst b/changelog.d/2654.feature.rst new file mode 100644 index 000000000..eac3ab395 --- /dev/null +++ b/changelog.d/2654.feature.rst @@ -0,0 +1 @@ +Added functions to acquire locks on Config groups and values. These locks are acquired by default when calling a value as a context manager. See :meth:`Value.get_lock` for details diff --git a/redbot/core/config.py b/redbot/core/config.py index 00d9305a1..e81b20c0d 100644 --- a/redbot/core/config.py +++ b/redbot/core/config.py @@ -1,8 +1,19 @@ +import asyncio import collections import logging import pickle import weakref -from typing import Any, Union, Tuple, Dict, Awaitable, AsyncContextManager, TypeVar +from typing import ( + Any, + Union, + Tuple, + Dict, + Awaitable, + AsyncContextManager, + TypeVar, + MutableMapping, + Optional, +) import discord @@ -38,18 +49,26 @@ class _ValueCtxManager(Awaitable[_T], AsyncContextManager[_T]): # pylint: disab i.e. `dict`s or `list`s. This is because this class's ``raw_value`` attribute must contain a reference to the object being modified within the context manager. + + It should also be noted that the use of this context manager implies + the acquisition of the value's lock when the ``acquire_lock`` kwarg + to ``__init__`` is set to ``True``. """ - def __init__(self, value_obj, coro): + def __init__(self, value_obj: "Value", coro: Awaitable[Any], *, acquire_lock: bool): self.value_obj = value_obj self.coro = coro self.raw_value = None self.__original_value = None + self.__acquire_lock = acquire_lock + self.__lock = self.value_obj.get_lock() def __await__(self): return self.coro.__await__() async def __aenter__(self): + if self.__acquire_lock is True: + await self.__lock.acquire() self.raw_value = await self if not isinstance(self.raw_value, (list, dict)): raise TypeError( @@ -61,12 +80,16 @@ class _ValueCtxManager(Awaitable[_T], AsyncContextManager[_T]): # pylint: disab return self.raw_value async def __aexit__(self, exc_type, exc, tb): - if isinstance(self.raw_value, dict): - raw_value = _str_key_dict(self.raw_value) - else: - raw_value = self.raw_value - if raw_value != self.__original_value: - await self.value_obj.set(self.raw_value) + try: + if isinstance(self.raw_value, dict): + raw_value = _str_key_dict(self.raw_value) + else: + raw_value = self.raw_value + if raw_value != self.__original_value: + await self.value_obj.set(self.raw_value) + finally: + if self.__acquire_lock is True: + self.__lock.release() class Value: @@ -74,9 +97,8 @@ class Value: Attributes ---------- - identifiers : Tuple[str] - This attribute provides all the keys necessary to get a specific data - element from a json document. + identifier_data : IdentifierData + Information on identifiers for this value. default The default value for the data element that `identifiers` points at. driver : `redbot.core.drivers.red_base.BaseDriver` @@ -84,10 +106,44 @@ class Value: """ - def __init__(self, identifier_data: IdentifierData, default_value, driver): + def __init__(self, identifier_data: IdentifierData, default_value, driver, config: "Config"): self.identifier_data = identifier_data self.default = default_value self.driver = driver + self._config = config + + def get_lock(self) -> asyncio.Lock: + """Get a lock to create a critical region where this value is accessed. + + When using this lock, make sure you either use it with the + ``async with`` syntax, or if that's not feasible, ensure you + keep a reference to it from the acquisition to the release of + the lock. That is, if you can't use ``async with`` syntax, use + the lock like this:: + + lock = config.foo.get_lock() + await lock.acquire() + # Do stuff... + lock.release() + + Do not use it like this:: + + await config.foo.get_lock().acquire() + # Do stuff... + config.foo.get_lock().release() + + Doing it the latter way will likely cause an error, as the + acquired lock will be cleaned up by the garbage collector before + it is released, meaning the second call to ``get_lock()`` will + return a different lock to the first call. + + Returns + ------- + asyncio.Lock + A lock which is weakly cached for this value object. + + """ + return self._config._lock_cache.setdefault(self.identifier_data, asyncio.Lock()) async def _get(self, default=...): try: @@ -96,7 +152,7 @@ class Value: return default if default is not ... else self.default return ret - def __call__(self, default=...) -> _ValueCtxManager[Any]: + def __call__(self, default=..., *, acquire_lock: bool = True) -> _ValueCtxManager[Any]: """Get the literal value of this data element. Each `Value` object is created by the `Group.__getattr__` method. The @@ -106,7 +162,10 @@ class Value: The return value of this method can also be used as an asynchronous context manager, i.e. with :code:`async with` syntax. This can only be used on values which are mutable (namely lists and dicts), and will - set the value with its changes on exit of the context manager. + set the value with its changes on exit of the context manager. It will + also acquire this value's lock to protect the critical region inside + this context manager's body, unless the ``acquire_lock`` keyword + argument is set to ``False``. Example ------- @@ -129,7 +188,14 @@ class Value: default : `object`, optional This argument acts as an override for the registered default provided by `default`. This argument is ignored if its - value is :code:`None`. + value is :code:`...`. + + Other Parameters + ---------------- + acquire_lock : bool + Set to ``False`` to disable the acquisition of the value's + lock over the context manager body. Defaults to ``True``. + Has no effect when not used as a context manager. Returns ------- @@ -139,7 +205,7 @@ class Value: with` syntax, on gets the value on entrance, and sets it on exit. """ - return _ValueCtxManager(self, self._get(default)) + return _ValueCtxManager(self, self._get(default), acquire_lock=acquire_lock) async def set(self, value): """Set the value of the data elements pointed to by `identifiers`. @@ -194,13 +260,14 @@ class Group(Value): identifier_data: IdentifierData, defaults: dict, driver, + config: "Config", force_registration: bool = False, ): self._defaults = defaults self.force_registration = force_registration self.driver = driver - super().__init__(identifier_data, {}, self.driver) + super().__init__(identifier_data, {}, self.driver, config) @property def defaults(self): @@ -248,17 +315,24 @@ class Group(Value): defaults=self._defaults[item], driver=self.driver, force_registration=self.force_registration, + config=self._config, ) elif is_value: return Value( identifier_data=new_identifiers, default_value=self._defaults[item], driver=self.driver, + config=self._config, ) elif self.force_registration: raise AttributeError("'{}' is not a valid registered Group or value.".format(item)) else: - return Value(identifier_data=new_identifiers, default_value=None, driver=self.driver) + return Value( + identifier_data=new_identifiers, + default_value=None, + driver=self.driver, + config=self._config, + ) async def clear_raw(self, *nested_path: Any): """ @@ -411,7 +485,7 @@ class Group(Value): return self.nested_update(raw, default) return raw - def all(self) -> _ValueCtxManager[Dict[str, Any]]: + def all(self, *, acquire_lock: bool = True) -> _ValueCtxManager[Dict[str, Any]]: """Get a dictionary representation of this group's data. The return value of this method can also be used as an asynchronous @@ -422,13 +496,19 @@ class Group(Value): The return value of this method will include registered defaults for values which have not yet been set. + Other Parameters + ---------------- + acquire_lock : bool + Same as the ``acquire_lock`` keyword parameter in + `Value.__call__`. + Returns ------- dict All of this Group's attributes, resolved as raw data values. """ - return self() + return self(acquire_lock=acquire_lock) def nested_update( self, current: collections.Mapping, defaults: Dict[str, Any] = ... @@ -555,6 +635,9 @@ class Config: self._defaults = defaults or {} self.custom_groups = {} + self._lock_cache: MutableMapping[ + IdentifierData, asyncio.Lock + ] = weakref.WeakValueDictionary() @property def defaults(self): @@ -862,6 +945,7 @@ class Config: defaults=defaults, driver=self.driver, force_registration=self.force_registration, + config=self, ) def guild(self, guild: discord.Guild) -> Group: @@ -1139,7 +1223,7 @@ class Config: identifier_data = IdentifierData( self.unique_identifier, "", (), (), self.custom_groups ) - group = Group(identifier_data, defaults={}, driver=self.driver) + group = Group(identifier_data, defaults={}, driver=self.driver, config=self) else: cat, *scopes = scopes group = self._get_base_group(cat, *scopes) @@ -1222,6 +1306,80 @@ class Config: """ await self._clear_scope(str(group_identifier)) + def get_guilds_lock(self) -> asyncio.Lock: + """Get a lock for all guild data. + + Returns + ------- + asyncio.Lock + """ + return self.get_custom_lock(self.GUILD) + + def get_channels_lock(self) -> asyncio.Lock: + """Get a lock for all channel data. + + Returns + ------- + asyncio.Lock + """ + return self.get_custom_lock(self.CHANNEL) + + def get_roles_lock(self) -> asyncio.Lock: + """Get a lock for all role data. + + Returns + ------- + asyncio.Lock + """ + return self.get_custom_lock(self.ROLE) + + def get_users_lock(self) -> asyncio.Lock: + """Get a lock for all user data. + + Returns + ------- + asyncio.Lock + """ + return self.get_custom_lock(self.USER) + + def get_members_lock(self, guild: Optional[discord.Guild] = None) -> asyncio.Lock: + """Get a lock for all member data. + + Parameters + ---------- + guild : Optional[discord.Guild] + The guild containing the members whose data you want to + lock. Omit to lock all data for all members in all guilds. + + Returns + ------- + asyncio.Lock + """ + if guild is None: + return self.get_custom_lock(self.GUILD) + else: + id_data = IdentifierData( + self.unique_identifier, self.MEMBER, (str(guild.id),), (), self.custom_groups + ) + return self._lock_cache.setdefault(id_data, asyncio.Lock()) + + def get_custom_lock(self, group_identifier: str) -> asyncio.Lock: + """Get a lock for all data in a custom scope. + + Parameters + ---------- + group_identifier : str + The group identifier for the custom scope you want to lock. + + Returns + ------- + asyncio.Lock + """ + id_data = IdentifierData( + self.unique_identifier, group_identifier, (), (), self.custom_groups + ) + return self._lock_cache.setdefault(id_data, asyncio.Lock()) + def _str_key_dict(value: Dict[Any, _T]) -> Dict[str, _T]: """ diff --git a/redbot/core/drivers/red_base.py b/redbot/core/drivers/red_base.py index 2e5d41c6f..de28b1b9a 100644 --- a/redbot/core/drivers/red_base.py +++ b/redbot/core/drivers/red_base.py @@ -56,6 +56,19 @@ class IdentifierData: f" identifiers={self.identifiers}>" ) + def __eq__(self, other) -> bool: + if not isinstance(other, IdentifierData): + return False + return ( + self.uuid == other.uuid + and self.category == other.category + and self.primary_key == other.primary_key + and self.identifiers == other.identifiers + ) + + def __hash__(self) -> int: + return hash((self.uuid, self.category, self.primary_key, self.identifiers)) + def add_identifier(self, *identifier: str) -> "IdentifierData": if not all(isinstance(i, str) for i in identifier): raise ValueError("Identifiers must be strings.") diff --git a/tests/core/test_config.py b/tests/core/test_config.py index a1e74dd2f..5cd9e0e90 100644 --- a/tests/core/test_config.py +++ b/tests/core/test_config.py @@ -1,3 +1,4 @@ +import asyncio from unittest.mock import patch import pytest @@ -506,3 +507,50 @@ def test_config_custom_doubleinit(config): config.init_custom("TEST", 3) with pytest.raises(ValueError): config.init_custom("TEST", 2) + + +@pytest.mark.asyncio +async def test_config_locks_cache(config, empty_guild): + lock1 = config.foo.get_lock() + assert lock1 is config.foo.get_lock() + lock2 = config.guild(empty_guild).foo.get_lock() + assert lock2 is config.guild(empty_guild).foo.get_lock() + assert lock1 is not lock2 + + +@pytest.mark.asyncio +async def test_config_value_atomicity(config): + config.register_global(foo=[]) + tasks = [] + for _ in range(15): + + async def func(): + async with config.foo.get_lock(): + foo = await config.foo() + foo.append(0) + await asyncio.sleep(0.1) + await config.foo.set(foo) + + tasks.append(func()) + + await asyncio.wait(tasks, return_when=asyncio.ALL_COMPLETED) + + assert len(await config.foo()) == 15 + + +@pytest.mark.asyncio +async def test_config_ctxmgr_atomicity(config): + config.register_global(foo=[]) + tasks = [] + for _ in range(15): + + async def func(): + async with config.foo() as foo: + foo.append(0) + await asyncio.sleep(0.1) + + tasks.append(func()) + + await asyncio.wait(tasks, return_when=asyncio.ALL_COMPLETED) + + assert len(await config.foo()) == 15 From 6280fd9c2816f0ccf35988fe80242cc26e8dc0fa Mon Sep 17 00:00:00 2001 From: Michael H Date: Sat, 27 Jul 2019 02:36:21 -0400 Subject: [PATCH 100/183] disabled help hideaways (#2892) * disabled help hideaways * can_see fix --- changelog.d/2863.fix.rst | 1 + changelog.d/2892.enhance.rst | 1 + changelog.d/2892.fix.1.rst | 1 + redbot/core/commands/commands.py | 2 +- redbot/core/commands/help.py | 9 ++++----- 5 files changed, 8 insertions(+), 6 deletions(-) create mode 100644 changelog.d/2863.fix.rst create mode 100644 changelog.d/2892.enhance.rst create mode 100644 changelog.d/2892.fix.1.rst diff --git a/changelog.d/2863.fix.rst b/changelog.d/2863.fix.rst new file mode 100644 index 000000000..c0bd0ecda --- /dev/null +++ b/changelog.d/2863.fix.rst @@ -0,0 +1 @@ +Help properly hides disabled commands. \ No newline at end of file diff --git a/changelog.d/2892.enhance.rst b/changelog.d/2892.enhance.rst new file mode 100644 index 000000000..67aa8ea2f --- /dev/null +++ b/changelog.d/2892.enhance.rst @@ -0,0 +1 @@ +Red's Help Formatter is now considered to have a stable API. \ No newline at end of file diff --git a/changelog.d/2892.fix.1.rst b/changelog.d/2892.fix.1.rst new file mode 100644 index 000000000..f24241cc7 --- /dev/null +++ b/changelog.d/2892.fix.1.rst @@ -0,0 +1 @@ +``Command.can_see`` now works as intended for disabled commands \ No newline at end of file diff --git a/redbot/core/commands/commands.py b/redbot/core/commands/commands.py index 82afe3404..7c9e573e3 100644 --- a/redbot/core/commands/commands.py +++ b/redbot/core/commands/commands.py @@ -328,7 +328,7 @@ class Command(CogCommandMixin, commands.Command): can_run = await self.can_run( ctx, check_all_parents=True, change_permission_state=False ) - except commands.CheckFailure: + except (commands.CheckFailure, commands.errors.DisabledCommand): return False else: if can_run is False: diff --git a/redbot/core/commands/help.py b/redbot/core/commands/help.py index 9b5c405c3..0d457b3c4 100644 --- a/redbot/core/commands/help.py +++ b/redbot/core/commands/help.py @@ -1,7 +1,6 @@ # This is a full replacement of discord.py's help command -# Signatures are not guaranteed to be unchanging in this file. -# At a later date when this is more set in stone, this warning will be removed. -# At said later date, there should also be things added to support extra formatter +# +# At a later date, there should be things added to support extra formatter # registration from 3rd party cogs. # # This exists due to deficiencies in discord.py which conflict @@ -441,14 +440,14 @@ class RedHelpFormatter: for obj in objects: if verify_checks and not show_hidden: # Default Red behavior, can_see includes a can_run check. - if await obj.can_see(ctx): + if await obj.can_see(ctx) and getattr(obj, "enabled", True): yield obj elif verify_checks: try: can_run = await obj.can_run(ctx) except discord.DiscordException: can_run = False - if can_run: + if can_run and getattr(obj, "enabled", True): yield obj elif not show_hidden: if not getattr(obj, "hidden", False): # Cog compatibility From 20091cc10a38fc9cd619e112a7d13bcaaec69e79 Mon Sep 17 00:00:00 2001 From: DiscordLiz <47602820+DiscordLiz@users.noreply.github.com> Date: Sat, 27 Jul 2019 15:37:29 -0400 Subject: [PATCH 101/183] [ModLog API] Add default casetypes, remove need for a specific auditlog action (#2901) * I know this needs a changelog entry and docs still * update tests for new behavior * update docs, filter; add changelog * Ready for review * stop fetching the same Audit logs when the bot is the mod * I forgot to press save * fix a comprehension * Fix AttributeError * And the other place that happens * timing fixes --- changelog.d/2897.breaking.1.rst | 1 + changelog.d/2897.bugfix.1.rst | 1 + changelog.d/2897.enhance.2.rst | 1 + changelog.d/2897.enhance.3.rst | 1 + changelog.d/mod/2897.misc.rst | 1 + docs/framework_modlog.rst | 5 - redbot/__main__.py | 2 +- redbot/cogs/filter/filter.py | 2 +- redbot/cogs/mod/abc.py | 14 --- redbot/cogs/mod/events.py | 71 -------------- redbot/cogs/mod/kickban.py | 20 +--- redbot/cogs/mod/mod.py | 66 ------------- redbot/core/generic_casetypes.py | 111 ++++++++++++++++++++++ redbot/core/modlog.py | 157 +++++++++++++++++++++++++------ redbot/pytest/mod.py | 4 +- tests/cogs/test_mod.py | 8 +- 16 files changed, 251 insertions(+), 214 deletions(-) create mode 100644 changelog.d/2897.breaking.1.rst create mode 100644 changelog.d/2897.bugfix.1.rst create mode 100644 changelog.d/2897.enhance.2.rst create mode 100644 changelog.d/2897.enhance.3.rst create mode 100644 changelog.d/mod/2897.misc.rst create mode 100644 redbot/core/generic_casetypes.py diff --git a/changelog.d/2897.breaking.1.rst b/changelog.d/2897.breaking.1.rst new file mode 100644 index 000000000..249871d7b --- /dev/null +++ b/changelog.d/2897.breaking.1.rst @@ -0,0 +1 @@ +Modlog casetypes no longer have an attribute for auditlog action type. \ No newline at end of file diff --git a/changelog.d/2897.bugfix.1.rst b/changelog.d/2897.bugfix.1.rst new file mode 100644 index 000000000..8bc2bbeb7 --- /dev/null +++ b/changelog.d/2897.bugfix.1.rst @@ -0,0 +1 @@ +Modlog entries now show up properly without the mod cog loaded \ No newline at end of file diff --git a/changelog.d/2897.enhance.2.rst b/changelog.d/2897.enhance.2.rst new file mode 100644 index 000000000..3a48af0f0 --- /dev/null +++ b/changelog.d/2897.enhance.2.rst @@ -0,0 +1 @@ +Modlog no longer generates cases without being told to for actions the bot did. \ No newline at end of file diff --git a/changelog.d/2897.enhance.3.rst b/changelog.d/2897.enhance.3.rst new file mode 100644 index 000000000..8e69e1cfb --- /dev/null +++ b/changelog.d/2897.enhance.3.rst @@ -0,0 +1 @@ +Some generic modlog casetypes are now pre-registered for cog creator use \ No newline at end of file diff --git a/changelog.d/mod/2897.misc.rst b/changelog.d/mod/2897.misc.rst new file mode 100644 index 000000000..47cbdff5e --- /dev/null +++ b/changelog.d/mod/2897.misc.rst @@ -0,0 +1 @@ +Modlog case registration and modlog event handling was moved to the core bot \ No newline at end of file diff --git a/docs/framework_modlog.rst b/docs/framework_modlog.rst index a9f66d817..18a9cf453 100644 --- a/docs/framework_modlog.rst +++ b/docs/framework_modlog.rst @@ -57,9 +57,6 @@ it from your setup function: "default_setting": True, "image": "\N{HAMMER}", "case_str": "Ban", - # audit_type should be omitted if the action doesn't show - # up in the audit log. - "audit_type": "ban", } try: await modlog.register_casetype(**ban_case) @@ -73,14 +70,12 @@ it from your setup function: "default_setting": True, "image": "\N{BUST IN SILHOUETTE}\N{HAMMER}", "case_str": "Hackban", - "audit_type": "ban", }, { "name": "kick", "default_setting": True, "image": "\N{WOMANS BOOTS}", "case_str": "Kick", - "audit_type": "kick" } ] await modlog.register_casetypes(new_types) diff --git a/redbot/__main__.py b/redbot/__main__.py index 6f7a6935d..38338b0ca 100644 --- a/redbot/__main__.py +++ b/redbot/__main__.py @@ -121,7 +121,7 @@ def main(): if cli_flags.dev: red.add_cog(Dev()) # noinspection PyProtectedMember - loop.run_until_complete(modlog._init()) + loop.run_until_complete(modlog._init(red)) # noinspection PyProtectedMember bank._init() diff --git a/redbot/cogs/filter/filter.py b/redbot/cogs/filter/filter.py index e81494234..40be8cd1e 100644 --- a/redbot/cogs/filter/filter.py +++ b/redbot/cogs/filter/filter.py @@ -40,7 +40,7 @@ class Filter(commands.Cog): async def register_filterban(): try: await modlog.register_casetype( - "filterban", False, ":filing_cabinet: :hammer:", "Filter ban", "ban" + "filterban", False, ":filing_cabinet: :hammer:", "Filter ban" ) except RuntimeError: pass diff --git a/redbot/cogs/mod/abc.py b/redbot/cogs/mod/abc.py index 9f00dffea..c81b95693 100644 --- a/redbot/cogs/mod/abc.py +++ b/redbot/cogs/mod/abc.py @@ -17,8 +17,6 @@ class MixinMeta(ABC): self.settings: Config self.bot: Red self.cache: dict - self.ban_queue: List[Tuple[int, int]] - self.unban_queue: List[Tuple[int, int]] @staticmethod @abstractmethod @@ -26,15 +24,3 @@ class MixinMeta(ABC): ctx: commands.Context, user_voice_state: Optional[discord.VoiceState], **perms: bool ) -> bool: raise NotImplementedError() - - @classmethod - @abstractmethod - async def get_audit_entry_info( - cls, guild: discord.Guild, action: discord.AuditLogAction, target - ): - raise NotImplementedError() - - @staticmethod - @abstractmethod - async def get_audit_log_entry(guild: discord.Guild, action: discord.AuditLogAction, target): - raise NotImplementedError() diff --git a/redbot/cogs/mod/events.py b/redbot/cogs/mod/events.py index f39362388..b83dddebb 100644 --- a/redbot/cogs/mod/events.py +++ b/redbot/cogs/mod/events.py @@ -94,77 +94,6 @@ class Events(MixinMeta): if not deleted: await self.check_mention_spam(message) - @commands.Cog.listener() - async def on_member_ban(self, guild: discord.Guild, member: discord.Member): - if (guild.id, member.id) in self.ban_queue: - self.ban_queue.remove((guild.id, member.id)) - return - try: - await modlog.get_modlog_channel(guild) - except RuntimeError: - return # No modlog channel so no point in continuing - mod, reason, date = await self.get_audit_entry_info( - guild, discord.AuditLogAction.ban, member - ) - if date is None: - date = datetime.now() - try: - await modlog.create_case( - self.bot, guild, date, "ban", member, mod, reason if reason else None - ) - except RuntimeError as e: - print(e) - - @commands.Cog.listener() - async def on_member_unban(self, guild: discord.Guild, user: discord.User): - if (guild.id, user.id) in self.unban_queue: - self.unban_queue.remove((guild.id, user.id)) - return - try: - await modlog.get_modlog_channel(guild) - except RuntimeError: - return # No modlog channel so no point in continuing - mod, reason, date = await self.get_audit_entry_info( - guild, discord.AuditLogAction.unban, user - ) - if date is None: - date = datetime.now() - try: - await modlog.create_case(self.bot, guild, date, "unban", user, mod, reason) - except RuntimeError as e: - print(e) - - @commands.Cog.listener() - async def on_modlog_case_create(self, case: modlog.Case): - """ - An event for modlog case creation - """ - try: - mod_channel = await modlog.get_modlog_channel(case.guild) - except RuntimeError: - return - use_embeds = await case.bot.embed_requested(mod_channel, case.guild.me) - case_content = await case.message_content(use_embeds) - if use_embeds: - msg = await mod_channel.send(embed=case_content) - else: - msg = await mod_channel.send(case_content) - await case.edit({"message": msg}) - - @commands.Cog.listener() - async def on_modlog_case_edit(self, case: modlog.Case): - """ - Event for modlog case edits - """ - if not case.message: - return - use_embed = await case.bot.embed_requested(case.message.channel, case.guild.me) - case_content = await case.message_content(use_embed) - if use_embed: - await case.message.edit(embed=case_content) - else: - await case.message.edit(content=case_content) - @commands.Cog.listener() async def on_member_update(self, before: discord.Member, after: discord.Member): if before.name != after.name: diff --git a/redbot/cogs/mod/kickban.py b/redbot/cogs/mod/kickban.py index f408f5c47..31e64e09e 100644 --- a/redbot/cogs/mod/kickban.py +++ b/redbot/cogs/mod/kickban.py @@ -85,7 +85,6 @@ class KickBanMixin(MixinMeta): audit_reason = get_audit_reason(author, reason) queue_entry = (guild.id, user.id) - self.ban_queue.append(queue_entry) try: await guild.ban(user, reason=audit_reason, delete_message_days=days) log.info( @@ -94,10 +93,8 @@ class KickBanMixin(MixinMeta): ) ) except discord.Forbidden: - self.ban_queue.remove(queue_entry) return _("I'm not allowed to do that.") except Exception as e: - self.ban_queue.remove(queue_entry) return e # TODO: impproper return type? Is this intended to be re-raised? if create_modlog_case: @@ -134,15 +131,13 @@ class KickBanMixin(MixinMeta): if now > unban_time: # Time to unban the user user = await self.bot.fetch_user(uid) queue_entry = (guild.id, user.id) - self.unban_queue.append(queue_entry) try: await guild.unban(user, reason=_("Tempban finished")) guild_tempbans.remove(uid) except discord.Forbidden: - self.unban_queue.remove(queue_entry) log.info("Failed to unban member due to permissions") - except discord.HTTPException: - self.unban_queue.remove(queue_entry) + except discord.HTTPException as e: + log.info(f"Failed to unban member: error code: {e.code}") await asyncio.sleep(60) @commands.command() @@ -319,16 +314,13 @@ class KickBanMixin(MixinMeta): user = discord.Object(id=user_id) audit_reason = get_audit_reason(author, reason) queue_entry = (guild.id, user_id) - self.ban_queue.append(queue_entry) try: await guild.ban(user, reason=audit_reason, delete_message_days=days) log.info("{}({}) hackbanned {}".format(author.name, author.id, user_id)) except discord.NotFound: - self.ban_queue.remove(queue_entry) errors[user_id] = _("User {user_id} does not exist.").format(user_id=user_id) continue except discord.Forbidden: - self.ban_queue.remove(queue_entry) errors[user_id] = _("Could not ban {user_id}: missing permissions.").format( user_id=user_id ) @@ -389,7 +381,6 @@ class KickBanMixin(MixinMeta): invite_link=invite, ) ) - self.ban_queue.append(queue_entry) try: await guild.ban(user) except discord.Forbidden: @@ -455,24 +446,19 @@ class KickBanMixin(MixinMeta): ) except discord.HTTPException: msg = None - self.ban_queue.append(queue_entry) try: await guild.ban(user, reason=audit_reason, delete_message_days=1) except discord.errors.Forbidden: - self.ban_queue.remove(queue_entry) await ctx.send(_("My role is not high enough to softban that user.")) if msg is not None: await msg.delete() return except discord.HTTPException as e: - self.ban_queue.remove(queue_entry) print(e) return - self.unban_queue.append(queue_entry) try: await guild.unban(user) except discord.HTTPException as e: - self.unban_queue.remove(queue_entry) print(e) return else: @@ -571,11 +557,9 @@ class KickBanMixin(MixinMeta): await ctx.send(_("It seems that user isn't banned!")) return queue_entry = (guild.id, user.id) - self.unban_queue.append(queue_entry) try: await guild.unban(user, reason=audit_reason) except discord.HTTPException: - self.unban_queue.remove(queue_entry) await ctx.send(_("Something went wrong while attempting to unban that user")) return else: diff --git a/redbot/cogs/mod/mod.py b/redbot/cogs/mod/mod.py index a303aab50..a004251f3 100644 --- a/redbot/cogs/mod/mod.py +++ b/redbot/cogs/mod/mod.py @@ -71,10 +71,7 @@ class Mod( self.settings.register_channel(**self.default_channel_settings) self.settings.register_member(**self.default_member_settings) self.settings.register_user(**self.default_user_settings) - self.ban_queue: List[Tuple[int, int]] = [] - self.unban_queue: List[Tuple[int, int]] = [] self.cache: dict = {} - self.registration_task = self.bot.loop.create_task(self._casetype_registration()) self.tban_expiry_task = self.bot.loop.create_task(self.check_tempban_expirations()) self.last_case: dict = defaultdict(dict) @@ -99,13 +96,6 @@ class Mod( await self.settings.guild(discord.Object(id=guild_id)).delete_repeats.set(val) await self.settings.version.set(__version__) - @staticmethod - async def _casetype_registration(): - try: - await modlog.register_casetypes(CASETYPES) - except RuntimeError: - pass - # TODO: Move this to core. # This would be in .movetocore , but the double-under name here makes that more trouble async def bot_check(self, ctx): @@ -126,59 +116,3 @@ class Mod( guild_ignored = await self.settings.guild(ctx.guild).ignored() chann_ignored = await self.settings.channel(ctx.channel).ignored() return not (guild_ignored or chann_ignored and not perms.manage_channels) - - @classmethod - async def get_audit_entry_info( - cls, guild: discord.Guild, action: discord.AuditLogAction, target - ): - """Get info about an audit log entry. - - Parameters - ---------- - guild : discord.Guild - Same as ``guild`` in `get_audit_log_entry`. - action : int - Same as ``action`` in `get_audit_log_entry`. - target : `discord.User` or `discord.Member` - Same as ``target`` in `get_audit_log_entry`. - - Returns - ------- - tuple - A tuple in the form``(mod: discord.Member, reason: str, - date_created: datetime.datetime)``. Returns ``(None, None, None)`` - if the audit log entry could not be found. - """ - try: - entry = await cls.get_audit_log_entry(guild, action=action, target=target) - except discord.HTTPException: - entry = None - if entry is None: - return None, None, None - return entry.user, entry.reason, entry.created_at - - @staticmethod - async def get_audit_log_entry(guild: discord.Guild, action: discord.AuditLogAction, target): - """Get an audit log entry. - - Any exceptions encountered when looking through the audit log will be - propogated out of this function. - - Parameters - ---------- - guild : discord.Guild - The guild for the audit log. - action : int - The audit log action (see `discord.AuditLogAction`). - target : `discord.Member` or `discord.User` - The target of the audit log action. - - Returns - ------- - discord.AuditLogEntry - The audit log entry. Returns ``None`` if not found. - - """ - async for entry in guild.audit_logs(action=action): - if entry.target == target: - return entry diff --git a/redbot/core/generic_casetypes.py b/redbot/core/generic_casetypes.py new file mode 100644 index 000000000..22e54fa41 --- /dev/null +++ b/redbot/core/generic_casetypes.py @@ -0,0 +1,111 @@ +""" +Contains generic mod action casetypes for use in Red and 3rd party cogs. +These do not need to be registered to the modlog, as it is done for you. +""" + +ban = {"name": "ban", "default_setting": True, "image": "\N{HAMMER}", "case_str": "Ban"} + +kick = {"name": "kick", "default_setting": True, "image": "\N{WOMANS BOOTS}", "case_str": "Kick"} + +hackban = { + "name": "hackban", + "default_setting": True, + "image": "\N{BUST IN SILHOUETTE}\N{HAMMER}", + "case_str": "Hackban", +} + +tempban = { + "name": "tempban", + "default_setting": True, + "image": "\N{ALARM CLOCK}\N{HAMMER}", + "case_str": "Tempban", +} + +softban = { + "name": "softban", + "default_setting": True, + "image": "\N{DASH SYMBOL}\N{HAMMER}", + "case_str": "Softban", +} +unban = { + "name": "unban", + "default_setting": True, + "image": "\N{DOVE OF PEACE}", + "case_str": "Unban", +} +voiceban = { + "name": "voiceban", + "default_setting": True, + "image": "\N{SPEAKER WITH CANCELLATION STROKE}", + "case_str": "Voice Ban", +} +voiceunban = { + "name": "voiceunban", + "default_setting": True, + "image": "\N{SPEAKER}", + "case_str": "Voice Unban", +} +voicemute = { + "name": "vmute", + "default_setting": False, + "image": "\N{SPEAKER WITH CANCELLATION STROKE}", + "case_str": "Voice Mute", +} + +channelmute = { + "name": "cmute", + "default_setting": False, + "image": "\N{SPEAKER WITH CANCELLATION STROKE}", + "case_str": "Channel Mute", +} + +servermute = { + "name": "smute", + "default_setting": True, + "image": "\N{SPEAKER WITH CANCELLATION STROKE}", + "case_str": "Server Mute", +} + +voiceunmute = { + "name": "vunmute", + "default_setting": False, + "image": "\N{SPEAKER}", + "case_str": "Voice Unmute", +} +channelunmute = { + "name": "cunmute", + "default_setting": False, + "image": "\N{SPEAKER}", + "case_str": "Channel Unmute", +} +serverunmute = { + "name": "sunmute", + "default_setting": True, + "image": "\N{SPEAKER}", + "case_str": "Server Unmute", +} + +voicekick = { + "name": "vkick", + "default_setting": False, + "image": "\N{SPEAKER WITH CANCELLATION STROKE}", + "case_str": "Voice Kick", +} + +all_generics = ( + ban, + kick, + hackban, + tempban, + softban, + unban, + voiceban, + voiceunban, + voicemute, + channelmute, + servermute, + voiceunmute, + serverunmute, + channelunmute, + voicekick, +) diff --git a/redbot/core/modlog.py b/redbot/core/modlog.py index ed272dd4e..0fbfae4a2 100644 --- a/redbot/core/modlog.py +++ b/redbot/core/modlog.py @@ -1,4 +1,5 @@ -from datetime import datetime +import asyncio +from datetime import datetime, timedelta from typing import List, Union, Optional, cast import discord @@ -14,6 +15,8 @@ from .utils.common_filters import ( ) from .i18n import Translator +from .generic_casetypes import all_generics + __all__ = [ "Case", "CaseType", @@ -32,17 +35,20 @@ __all__ = [ ] _conf: Optional[Config] = None +_bot_ref: Optional[Red] = None _CASETYPES = "CASETYPES" _CASES = "CASES" -_SCHEMA_VERSION = 2 +_SCHEMA_VERSION = 3 _ = Translator("ModLog", __file__) -async def _init(): +async def _init(bot: Red): global _conf + global _bot_ref + _bot_ref = bot _conf = Config.get_conf(None, 1354799444, cog_name="ModLog") _conf.register_global(schema_version=1) _conf.register_guild(mod_log=None, casetypes={}) @@ -51,12 +57,88 @@ async def _init(): _conf.register_custom(_CASETYPES) _conf.register_custom(_CASES) await _migrate_config(from_version=await _conf.schema_version(), to_version=_SCHEMA_VERSION) + await register_casetypes(all_generics) + + async def on_member_ban(guild: discord.Guild, member: discord.Member): + + if not guild.me.guild_permissions.view_audit_log: + return + + try: + await get_modlog_channel(guild) + except RuntimeError: + return # No modlog channel so no point in continuing + + when = datetime.utcnow() + before = when + timedelta(minutes=1) + after = when - timedelta(minutes=1) + await asyncio.sleep(10) # prevent small delays from causing a 5 minute delay on entry + + attempts = 0 + while attempts < 12: # wait up to an hour to find a matching case + attempts += 1 + try: + entry = await guild.audit_logs( + action=discord.AuditLogAction.ban, before=before, after=after + ).find(lambda e: e.target.id == member.id and after < e.created_at < before) + except discord.Forbidden: + break + except discord.HTTPException: + pass + else: + if entry: + if entry.user.id != guild.me.id: + # Don't create modlog entires for the bot's own bans, cogs do this. + mod, reason, date = entry.user, entry.reason, entry.created_at + await create_case(_bot_ref, guild, date, "ban", member, mod, reason) + return + + await asyncio.sleep(300) + + async def on_member_unban(guild: discord.Guild, user: discord.User): + if not guild.me.guild_permissions.view_audit_log: + return + + try: + await get_modlog_channel(guild) + except RuntimeError: + return # No modlog channel so no point in continuing + + when = datetime.utcnow() + before = when + timedelta(minutes=1) + after = when - timedelta(minutes=1) + await asyncio.sleep(10) # prevent small delays from causing a 5 minute delay on entry + + attempts = 0 + while attempts < 12: # wait up to an hour to find a matching case + attempts += 1 + try: + entry = await guild.audit_logs( + action=discord.AuditLogAction.unban, before=before, after=after + ).find(lambda e: e.target.id == user.id and after < e.created_at < before) + except discord.Forbidden: + break + except discord.HTTPException: + pass + else: + if entry: + if entry.user.id != guild.me.id: + # Don't create modlog entires for the bot's own unbans, cogs do this. + mod, reason, date = entry.user, entry.reason, entry.created_at + await create_case(_bot_ref, guild, date, "unban", user, mod, reason) + return + + await asyncio.sleep(300) + + bot.add_listener(on_member_ban) + bot.add_listener(on_member_unban) async def _migrate_config(from_version: int, to_version: int): if from_version == to_version: return - elif from_version < to_version: + + if from_version < 2 <= to_version: # casetypes go from GLOBAL -> casetypes to CASETYPES all_casetypes = await _conf.get_raw("casetypes", default={}) if all_casetypes: @@ -72,13 +154,26 @@ async def _migrate_config(from_version: int, to_version: int): await _conf.custom(_CASES).set(all_cases) # new schema is now in place - await _conf.schema_version.set(_SCHEMA_VERSION) + await _conf.schema_version.set(2) # migration done, now let's delete all the old stuff await _conf.clear_raw("casetypes") for guild_id in all_guild_data: await _conf.guild(cast(discord.Guild, discord.Object(id=guild_id))).clear_raw("cases") + if from_version < 3 <= to_version: + all_casetypes = { + casetype_name: { + inner_key: inner_value + for inner_key, inner_value in casetype_data.items() + if inner_key != "audit_type" + } + for casetype_name, casetype_data in (await _conf.custom(_CASETYPES).all()).items() + } + + await _conf.custom(_CASETYPES).set(all_casetypes) + await _conf.schema_version.set(3) + class Case: """A single mod log case""" @@ -131,6 +226,17 @@ class Case: await _conf.custom(_CASES, str(self.guild.id), str(self.case_number)).set(self.to_json()) self.bot.dispatch("modlog_case_edit", self) + if not self.message: + return + try: + use_embed = await self.bot.embed_requested(self.message.channel, self.guild.me) + case_content = await self.message_content(use_embed) + if use_embed: + await self.message.edit(embed=case_content) + else: + await self.message.edit(content=case_content) + finally: + return None async def message_content(self, embed: bool = True): """ @@ -371,9 +477,7 @@ class CaseType: The emoji to use for the case type (for example, :boot:) case_str: str The string representation of the case (example: Ban) - audit_type: `str`, optional - The action type of the action as it would appear in the - audit log + """ def __init__( @@ -382,14 +486,12 @@ class CaseType: default_setting: bool, image: str, case_str: str, - audit_type: Optional[str] = None, guild: Optional[discord.Guild] = None, ): self.name = name self.default_setting = default_setting self.image = image self.case_str = case_str - self.audit_type = audit_type self.guild = guild async def to_json(self): @@ -398,7 +500,6 @@ class CaseType: "default_setting": self.default_setting, "image": self.image, "case_str": self.case_str, - "audit_type": self.audit_type, } await _conf.custom(_CASETYPES, self.name).set(data) @@ -663,7 +764,19 @@ async def create_case( ) await _conf.custom(_CASES, str(guild.id), str(next_case_number)).set(case.to_json()) bot.dispatch("modlog_case_create", case) - return case + try: + mod_channel = await get_modlog_channel(case.guild) + use_embeds = await case.bot.embed_requested(mod_channel, case.guild.me) + case_content = await case.message_content(use_embeds) + if use_embeds: + msg = await mod_channel.send(embed=case_content) + else: + msg = await mod_channel.send(case_content) + await case.edit({"message": msg}) + except (RuntimeError, discord.HTTPException): + pass + finally: + return case async def get_casetype(name: str, guild: Optional[discord.Guild] = None) -> Optional[CaseType]: @@ -706,7 +819,7 @@ async def get_all_casetypes(guild: discord.Guild = None) -> List[CaseType]: async def register_casetype( - name: str, default_setting: bool, image: str, case_str: str, audit_type: str = None + name: str, default_setting: bool, image: str, case_str: str ) -> CaseType: """ Registers a case type. If the case type exists and @@ -725,9 +838,6 @@ async def register_casetype( The emoji to use for the case type (for example, :boot:) case_str: str The string representation of the case (example: Ban) - audit_type: `str`, optional - The action type of the action as it would appear in the - audit log Returns ------- @@ -742,8 +852,6 @@ async def register_casetype( If a parameter is missing ValueError If a parameter's value is not valid - AttributeError - If the audit_type is not an attribute of `discord.AuditLogAction` """ if not isinstance(name, str): @@ -754,16 +862,10 @@ async def register_casetype( raise ValueError("The 'image' is not a string!") if not isinstance(case_str, str): raise ValueError("The 'case_str' is not a string!") - if audit_type is not None: - if not isinstance(audit_type, str): - raise ValueError("The 'audit_type' is not a string!") - try: - getattr(discord.AuditLogAction, audit_type) - except AttributeError: - raise + ct = await get_casetype(name) if ct is None: - casetype = CaseType(name, default_setting, image, case_str, audit_type) + casetype = CaseType(name, default_setting, image, case_str) await casetype.to_json() return casetype else: @@ -779,9 +881,6 @@ async def register_casetype( if ct.case_str != case_str: ct.case_str = case_str changed = True - if ct.audit_type != audit_type: - ct.audit_type = audit_type - changed = True if changed: await ct.to_json() return ct diff --git a/redbot/pytest/mod.py b/redbot/pytest/mod.py index 243af525b..7cadeba98 100644 --- a/redbot/pytest/mod.py +++ b/redbot/pytest/mod.py @@ -5,11 +5,11 @@ __all__ = ["mod"] @pytest.fixture -async def mod(config, monkeypatch): +async def mod(config, monkeypatch, red): from redbot.core import Config with monkeypatch.context() as m: m.setattr(Config, "get_conf", lambda *args, **kwargs: config) - await modlog._init() + await modlog._init(red) return modlog diff --git a/tests/cogs/test_mod.py b/tests/cogs/test_mod.py index 3cfe13a58..a82ed27c3 100644 --- a/tests/cogs/test_mod.py +++ b/tests/cogs/test_mod.py @@ -5,13 +5,7 @@ from redbot.pytest.mod import * @pytest.mark.asyncio async def test_modlog_register_casetype(mod): - ct = { - "name": "ban", - "default_setting": True, - "image": ":hammer:", - "case_str": "Ban", - "audit_type": "ban", - } + ct = {"name": "ban", "default_setting": True, "image": ":hammer:", "case_str": "Ban"} casetype = await mod.register_casetype(**ct) assert casetype is not None From 404c5f6dc09bfbd55a052811180a697d5e9cfc4f Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Wed, 31 Jul 2019 09:22:16 +1000 Subject: [PATCH 102/183] [Audio] Bump Lavalink version to 3.2.1_823 Signed-off-by: Toby Harradine --- redbot/cogs/audio/manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/redbot/cogs/audio/manager.py b/redbot/cogs/audio/manager.py index 7885a9f70..4d1b22e4d 100644 --- a/redbot/cogs/audio/manager.py +++ b/redbot/cogs/audio/manager.py @@ -16,8 +16,8 @@ from tqdm import tqdm from redbot.core import data_manager from .errors import LavalinkDownloadFailed -JAR_VERSION = "3.2.0.3" -JAR_BUILD = 796 +JAR_VERSION = "3.2.1" +JAR_BUILD = 823 LAVALINK_DOWNLOAD_URL = ( f"https://github.com/Cog-Creators/Lavalink-Jars/releases/download/{JAR_VERSION}_{JAR_BUILD}/" f"Lavalink.jar" From 6c9c57c14dcbfb132bb7b5c5518fb3c3e64f3e5c Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Wed, 31 Jul 2019 09:23:18 +1000 Subject: [PATCH 103/183] Bump version to 3.1.5 Signed-off-by: Toby Harradine --- redbot/__init__.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/redbot/__init__.py b/redbot/__init__.py index 99871b955..a0a4a7ac3 100644 --- a/redbot/__init__.py +++ b/redbot/__init__.py @@ -3,7 +3,6 @@ import sys as _sys import warnings as _warnings from math import inf as _inf from typing import ( - Any as _Any, ClassVar as _ClassVar, Dict as _Dict, List as _List, @@ -174,7 +173,7 @@ class VersionInfo: ) -__version__ = "3.1.4" +__version__ = "3.1.5" version_info = VersionInfo.from_str(__version__) # Filter fuzzywuzzy slow sequence matcher warning From ef8b9b81c302ec493345452c01aeb290acb576d4 Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Sat, 3 Aug 2019 00:49:23 +1000 Subject: [PATCH 104/183] [ModLog] Optimise get_next_case_number() (#2908) * [ModLog] Optimise get_next_case_number() Signed-off-by: Toby Harradine * Address reviews Signed-off-by: Toby Harradine * Add changelog entry Signed-off-by: Toby Harradine * Delete get_next_case_number Signed-off-by: Toby Harradine * Add modlog.get_latest_case() and fix `[p]reason` Signed-off-by: Toby Harradine --- changelog.d/2908.breaking.rst | 1 + changelog.d/2908.bugfix.rst | 1 + changelog.d/2908.enhance.rst | 1 + changelog.d/2908.feature.rst | 1 + redbot/cogs/modlog/modlog.py | 61 ++++++++------------ redbot/core/modlog.py | 102 +++++++++++++++++++--------------- 6 files changed, 86 insertions(+), 81 deletions(-) create mode 100644 changelog.d/2908.breaking.rst create mode 100644 changelog.d/2908.bugfix.rst create mode 100644 changelog.d/2908.enhance.rst create mode 100644 changelog.d/2908.feature.rst diff --git a/changelog.d/2908.breaking.rst b/changelog.d/2908.breaking.rst new file mode 100644 index 000000000..a8abb03f8 --- /dev/null +++ b/changelog.d/2908.breaking.rst @@ -0,0 +1 @@ +``redbot.core.modlog.get_next_case_number()`` has been removed. diff --git a/changelog.d/2908.bugfix.rst b/changelog.d/2908.bugfix.rst new file mode 100644 index 000000000..5ab962290 --- /dev/null +++ b/changelog.d/2908.bugfix.rst @@ -0,0 +1 @@ +Fixed error in `[p]reason` when setting the reason for a case without a moderator. diff --git a/changelog.d/2908.enhance.rst b/changelog.d/2908.enhance.rst new file mode 100644 index 000000000..660ff914e --- /dev/null +++ b/changelog.d/2908.enhance.rst @@ -0,0 +1 @@ +ModLog is now much faster at creating cases, especially in large servers. diff --git a/changelog.d/2908.feature.rst b/changelog.d/2908.feature.rst new file mode 100644 index 000000000..66a212907 --- /dev/null +++ b/changelog.d/2908.feature.rst @@ -0,0 +1 @@ +Added :func:`redbot.core.modlog.get_latest_case` to fetch the case object for the most recent ModLog case. diff --git a/redbot/cogs/modlog/modlog.py b/redbot/cogs/modlog/modlog.py index d365353a5..0ab2f85c6 100644 --- a/redbot/cogs/modlog/modlog.py +++ b/redbot/cogs/modlog/modlog.py @@ -150,41 +150,28 @@ class ModLog(commands.Cog): guild = ctx.guild if case is None: # get the latest case - case = int(await modlog.get_next_case_number(guild)) - 1 - try: - case_before = await modlog.get_case(case, guild, self.bot) - except RuntimeError: - await ctx.send(_("That case does not exist!")) - return - else: - if case_before.moderator is None: - # No mod set, so attempt to find out if the author - # triggered the case creation with an action - bot_perms = guild.me.guild_permissions - if bot_perms.view_audit_log: - case_type = await modlog.get_casetype(case_before.action_type, guild) - if case_type is not None and case_type.audit_type is not None: - audit_type = getattr(discord.AuditLogAction, case_type.audit_type) - if audit_type: - audit_case = None - async for entry in guild.audit_logs(action=audit_type): - if ( - entry.target.id == case_before.user.id - and entry.action == audit_type - ): - audit_case = entry - break - if audit_case: - case_before.moderator = audit_case.user - is_guild_owner = author == guild.owner - is_case_author = author == case_before.moderator - author_is_mod = await ctx.bot.is_mod(author) - if not (is_guild_owner or is_case_author or author_is_mod): - await ctx.send(_("You are not authorized to modify that case!")) + case_obj = await modlog.get_latest_case(guild, self.bot) + if case_obj is None: + await ctx.send(_("There are no modlog cases in this server.")) return - to_modify = {"reason": reason} - if case_before.moderator != author: - to_modify["amended_by"] = author - to_modify["modified_at"] = ctx.message.created_at.timestamp() - await case_before.edit(to_modify) - await ctx.send(_("Reason has been updated.")) + else: + try: + case_obj = await modlog.get_case(case, guild, self.bot) + except RuntimeError: + await ctx.send(_("That case does not exist!")) + return + + is_guild_owner = author == guild.owner + is_case_author = author == case_obj.moderator + author_is_mod = await ctx.bot.is_mod(author) + if not (is_guild_owner or is_case_author or author_is_mod): + await ctx.send(_("You are not authorized to modify that case!")) + return + to_modify = {"reason": reason} + if case_obj.moderator != author: + to_modify["amended_by"] = author + to_modify["modified_at"] = ctx.message.created_at.timestamp() + await case_obj.edit(to_modify) + await ctx.send( + _("Reason for case #{num} has been updated.").format(num=case_obj.case_number) + ) diff --git a/redbot/core/modlog.py b/redbot/core/modlog.py index 0fbfae4a2..8a1a03bd6 100644 --- a/redbot/core/modlog.py +++ b/redbot/core/modlog.py @@ -20,7 +20,6 @@ from .generic_casetypes import all_generics __all__ = [ "Case", "CaseType", - "get_next_case_number", "get_case", "get_all_cases", "get_cases_for_member", @@ -39,7 +38,7 @@ _bot_ref: Optional[Red] = None _CASETYPES = "CASETYPES" _CASES = "CASES" -_SCHEMA_VERSION = 3 +_SCHEMA_VERSION = 4 _ = Translator("ModLog", __file__) @@ -51,7 +50,7 @@ async def _init(bot: Red): _bot_ref = bot _conf = Config.get_conf(None, 1354799444, cog_name="ModLog") _conf.register_global(schema_version=1) - _conf.register_guild(mod_log=None, casetypes={}) + _conf.register_guild(mod_log=None, casetypes={}, latest_case_number=0) _conf.init_custom(_CASETYPES, 1) _conf.init_custom(_CASES, 2) _conf.register_custom(_CASETYPES) @@ -174,6 +173,16 @@ async def _migrate_config(from_version: int, to_version: int): await _conf.custom(_CASETYPES).set(all_casetypes) await _conf.schema_version.set(3) + if from_version < 4 <= to_version: + # set latest_case_number + for guild_id, cases in (await _conf.custom(_CASES).all()).items(): + if cases: + await _conf.guild( + cast(discord.Guild, discord.Object(id=guild_id)) + ).latest_case_number.set(max(map(int, cases.keys()))) + + await _conf.schema_version.set(4) + class Case: """A single mod log case""" @@ -477,7 +486,7 @@ class CaseType: The emoji to use for the case type (for example, :boot:) case_str: str The string representation of the case (example: Ban) - + """ def __init__( @@ -557,28 +566,6 @@ class CaseType: return cls(name=name, **data_copy, **kwargs) -async def get_next_case_number(guild: discord.Guild) -> int: - """ - Gets the next case number - - Parameters - ---------- - guild: `discord.Guild` - The guild to get the next case number for - - Returns - ------- - int - The next case number - - """ - case_numbers = (await _conf.custom(_CASES, guild.id).all()).keys() - if not case_numbers: - return 1 - else: - return max(map(int, case_numbers)) + 1 - - async def get_case(case_number: int, guild: discord.Guild, bot: Red) -> Case: """ Gets the case with the associated case number @@ -611,6 +598,27 @@ async def get_case(case_number: int, guild: discord.Guild, bot: Red) -> Case: return await Case.from_json(mod_channel, bot, case_number, case) +async def get_latest_case(guild: discord.Guild, bot: Red) -> Optional[Case]: + """Get the latest case for the specified guild. + + Parameters + ---------- + guild : discord.Guild + The guild to get the latest case for. + bot : Red + The bot object. + + Returns + ------- + Optional[Case] + The latest case object. `None` if it the guild has no cases. + + """ + case_number = await _conf.guild(guild).latest_case_number() + if case_number: + return await get_case(case_number, guild, bot) + + async def get_all_cases(guild: discord.Guild, bot: Red) -> List[Case]: """ Gets all cases for the specified guild @@ -745,24 +753,29 @@ async def create_case( if user == bot.user: return - next_case_number = await get_next_case_number(guild) + async with _conf.guild(guild).latest_case_number.get_lock(): + # We're getting the case number from config, incrementing it, awaiting something, then + # setting it again. This warrants acquiring the lock. + next_case_number = await _conf.guild(guild).latest_case_number() + 1 + + case = Case( + bot, + guild, + int(created_at.timestamp()), + action_type, + user, + moderator, + next_case_number, + reason, + int(until.timestamp()) if until else None, + channel, + amended_by=None, + modified_at=None, + message=None, + ) + await _conf.custom(_CASES, str(guild.id), str(next_case_number)).set(case.to_json()) + await _conf.guild(guild).latest_case_number.set(next_case_number) - case = Case( - bot, - guild, - int(created_at.timestamp()), - action_type, - user, - moderator, - next_case_number, - reason, - int(until.timestamp()) if until else None, - channel, - amended_by=None, - modified_at=None, - message=None, - ) - await _conf.custom(_CASES, str(guild.id), str(next_case_number)).set(case.to_json()) bot.dispatch("modlog_case_create", case) try: mod_channel = await get_modlog_channel(case.guild) @@ -982,7 +995,7 @@ async def set_modlog_channel( async def reset_cases(guild: discord.Guild) -> None: """ - Wipes all modlog cases for the specified guild + Wipes all modlog cases for the specified guild. Parameters ---------- @@ -991,6 +1004,7 @@ async def reset_cases(guild: discord.Guild) -> None: """ await _conf.custom(_CASES, str(guild.id)).clear() + await _conf.guild(guild).latest_case_number.clear() def _strfdelta(delta): From 556af32bb5734553ab7025084d62c1082a01f607 Mon Sep 17 00:00:00 2001 From: Draper Date: Wed, 7 Aug 2019 01:13:31 +0100 Subject: [PATCH 105/183] Stop saving JSON files with indents (#2921) Stop saving json files with 4 indents, this will significantly reduce file size and improve `.set()` performance for config saves when using the JSON driver. Signed-off-by: Draper --- changelog.d/2921.enhance.rst | 1 + redbot/core/drivers/red_json.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 changelog.d/2921.enhance.rst diff --git a/changelog.d/2921.enhance.rst b/changelog.d/2921.enhance.rst new file mode 100644 index 000000000..7d372cf29 --- /dev/null +++ b/changelog.d/2921.enhance.rst @@ -0,0 +1 @@ +JSON config files are now stored without indentation, this is to reduce file size and increase performance of write operations. diff --git a/redbot/core/drivers/red_json.py b/redbot/core/drivers/red_json.py index f598f6cf4..54e73e715 100644 --- a/redbot/core/drivers/red_json.py +++ b/redbot/core/drivers/red_json.py @@ -95,7 +95,7 @@ class JSON(BaseDriver): except FileNotFoundError: self.data = {} with self.data_path.open("w", encoding="utf-8") as fs: - json.dump(self.data, fs, indent=4) + json.dump(self.data, fs) def migrate_identifier(self, raw_identifier: int): if self.unique_cog_identifier in self.data: @@ -206,7 +206,7 @@ def _save_json(path: Path, data: Dict[str, Any]) -> None: tmp_file = "{}-{}.tmp".format(filename, uuid4().fields[0]) tmp_path = path.parent / tmp_file with tmp_path.open(encoding="utf-8", mode="w") as fs: - json.dump(data, fs, indent=4) + json.dump(data, fs) fs.flush() # This does get closed on context exit, ... os.fsync(fs.fileno()) # but that needs to happen prior to this line From 477a17d0b9c8c4d7990985a899cd7db2818e6815 Mon Sep 17 00:00:00 2001 From: DevilXD Date: Thu, 8 Aug 2019 17:06:11 +0200 Subject: [PATCH 106/183] Fixed docs inconsistency --- redbot/core/commands/requires.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/redbot/core/commands/requires.py b/redbot/core/commands/requires.py index 75a0e351c..35eddd145 100644 --- a/redbot/core/commands/requires.py +++ b/redbot/core/commands/requires.py @@ -719,7 +719,7 @@ def mod(): class _IntKeyDict(Dict[int, _T]): - """Dict subclass which throws KeyError when a non-int key is used.""" + """Dict subclass which throws TypeError when a non-int key is used.""" get: Callable setdefault: Callable @@ -736,7 +736,7 @@ class _IntKeyDict(Dict[int, _T]): class _RulesDict(Dict[Union[int, str], PermState]): - """Dict subclass which throws a KeyError when an invalid key is used.""" + """Dict subclass which throws a TypeError when an invalid key is used.""" get: Callable setdefault: Callable From 463546f1024d98144d41d5e6a56f6c8dc6a28e63 Mon Sep 17 00:00:00 2001 From: DevilXD Date: Thu, 8 Aug 2019 17:12:58 +0200 Subject: [PATCH 107/183] Added changelog entry --- changelog.d/2924.bugfix.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog.d/2924.bugfix.rst diff --git a/changelog.d/2924.bugfix.rst b/changelog.d/2924.bugfix.rst new file mode 100644 index 000000000..bbfa22c17 --- /dev/null +++ b/changelog.d/2924.bugfix.rst @@ -0,0 +1 @@ +Fixed Requires docs inconsistencies From 984a97d958ce6452c740ca6f379404ab3579761a Mon Sep 17 00:00:00 2001 From: Michael H Date: Tue, 13 Aug 2019 13:57:16 -0400 Subject: [PATCH 108/183] [Core Commands] remove set owner and set token (#2928) * remove set-owner and set token * whoops, wrong number on the changelog * whoops, git didnt detect the rename cause I didnt add the file --- changelog.d/2928.removal.rst | 1 + redbot/core/core_commands.py | 75 ------------------------------------ 2 files changed, 1 insertion(+), 75 deletions(-) create mode 100644 changelog.d/2928.removal.rst diff --git a/changelog.d/2928.removal.rst b/changelog.d/2928.removal.rst new file mode 100644 index 000000000..1a4bbee23 --- /dev/null +++ b/changelog.d/2928.removal.rst @@ -0,0 +1 @@ +The ``set owner`` and ``set token`` commands have been removed in favor of managing server side. \ No newline at end of file diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index df07caad9..77ba280d3 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -1078,81 +1078,6 @@ class Core(commands.Cog, CoreLogic): await ctx.bot.db.guild(ctx.guild).prefix.set(prefixes) await ctx.send(_("Prefix set.")) - @_set.command() - @commands.cooldown(1, 60 * 10, commands.BucketType.default) - async def owner(self, ctx: commands.Context): - """Sets Red's main owner""" - # According to the Python docs this is suitable for cryptographic use - random = SystemRandom() - length = random.randint(25, 35) - chars = ascii_letters + digits - token = "" - - for i in range(length): - token += random.choice(chars) - log.info(_("{0} ({0.id}) requested to be set as owner.").format(ctx.author)) - print(_("\nVerification token:")) - print(token) - - owner_disclaimer = _( - "⚠ **Only** the person who is hosting Red should be " - "owner. **This has SERIOUS security implications. The " - "owner can access any data that is present on the host " - "system.** ⚠" - ) - await ctx.send(_("Remember:\n") + owner_disclaimer) - await asyncio.sleep(5) - - await ctx.send( - _( - "I have printed a one-time token in the console. " - "Copy and paste it here to confirm you are the owner." - ) - ) - - try: - message = await ctx.bot.wait_for( - "message", check=MessagePredicate.same_context(ctx), timeout=60 - ) - except asyncio.TimeoutError: - ctx.command.reset_cooldown(ctx) - await ctx.send( - _("The `{prefix}set owner` request has timed out.").format(prefix=ctx.prefix) - ) - else: - if message.content.strip() == token: - ctx.command.reset_cooldown(ctx) - await ctx.bot.db.owner.set(ctx.author.id) - ctx.bot.owner_id = ctx.author.id - await ctx.send(_("You have been set as owner.")) - else: - await ctx.send(_("Invalid token.")) - - @_set.command() - @checks.is_owner() - async def token(self, ctx: commands.Context, token: str): - """Change bot token.""" - - if not isinstance(ctx.channel, discord.DMChannel): - - try: - await ctx.message.delete() - except discord.Forbidden: - pass - - await ctx.send( - _( - "Please use that command in DM. Since users probably saw your token," - " it is recommended to reset it right now. Go to the following link and" - " select `Reveal Token` and `Generate a new token?`." - "\n\nhttps://discordapp.com/developers/applications/me/{}" - ).format(self.bot.user.id) - ) - return - - await ctx.bot.db.token.set(token) - await ctx.send(_("Token set. Restart me.")) - @_set.command() @checks.is_owner() async def locale(self, ctx: commands.Context, locale_name: str): From b1ccfab6d223e552e13a4de2d55658e581bbeb08 Mon Sep 17 00:00:00 2001 From: Ianardo DiCaprio <43935737+Ianardo-DiCaprio@users.noreply.github.com> Date: Tue, 13 Aug 2019 19:33:03 +0100 Subject: [PATCH 109/183] [Mod] BugFix (#2932) * Initial Commit * Add files via upload --- changelog.d/mod/2932.bugfix.rst.txt | 1 + redbot/cogs/mod/mod.py | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 changelog.d/mod/2932.bugfix.rst.txt diff --git a/changelog.d/mod/2932.bugfix.rst.txt b/changelog.d/mod/2932.bugfix.rst.txt new file mode 100644 index 000000000..555c1a375 --- /dev/null +++ b/changelog.d/mod/2932.bugfix.rst.txt @@ -0,0 +1 @@ +Fixed an error when reloading the core mod cog diff --git a/redbot/cogs/mod/mod.py b/redbot/cogs/mod/mod.py index a004251f3..95ad52baa 100644 --- a/redbot/cogs/mod/mod.py +++ b/redbot/cogs/mod/mod.py @@ -79,7 +79,6 @@ class Mod( await self._maybe_update_config() def cog_unload(self): - self.registration_task.cancel() self.tban_expiry_task.cancel() async def _maybe_update_config(self): From dfb4212d43ae85295947c398cc81c3b973b526ab Mon Sep 17 00:00:00 2001 From: Flame442 <34169552+Flame442@users.noreply.github.com> Date: Sat, 17 Aug 2019 19:05:22 -0400 Subject: [PATCH 110/183] [Docs] Fix `user` parameter to predicates being typed as discord.TextChannel (#2914) --- changelog.d/2914.docs.rst | 1 + redbot/core/utils/predicates.py | 38 ++++++++++++++++----------------- 2 files changed, 20 insertions(+), 19 deletions(-) create mode 100644 changelog.d/2914.docs.rst diff --git a/changelog.d/2914.docs.rst b/changelog.d/2914.docs.rst new file mode 100644 index 000000000..0debb16cf --- /dev/null +++ b/changelog.d/2914.docs.rst @@ -0,0 +1 @@ +Fixed user parameter being labeled as discord.TextChannel instead of discord.abc.User. diff --git a/redbot/core/utils/predicates.py b/redbot/core/utils/predicates.py index 35f69128e..5b311a55e 100644 --- a/redbot/core/utils/predicates.py +++ b/redbot/core/utils/predicates.py @@ -78,7 +78,7 @@ class MessagePredicate(Callable[[discord.Message], bool]): The channel we expect a message in. If unspecified, defaults to ``ctx.channel``. If ``ctx`` is unspecified too, the message's channel will be ignored. - user : Optional[discord.TextChannel] + user : Optional[discord.abc.User] The user we expect a message from. If unspecified, defaults to ``ctx.author``. If ``ctx`` is unspecified too, the message's author will be ignored. @@ -113,7 +113,7 @@ class MessagePredicate(Callable[[discord.Message], bool]): Same as ``ctx`` in :meth:`same_context`. channel : Optional[discord.TextChannel] Same as ``channel`` in :meth:`same_context`. - user : Optional[discord.TextChannel] + user : Optional[discord.abc.User] Same as ``user`` in :meth:`same_context`. Returns @@ -145,7 +145,7 @@ class MessagePredicate(Callable[[discord.Message], bool]): Same as ``ctx`` in :meth:`same_context`. channel : Optional[discord.TextChannel] Same as ``channel`` in :meth:`same_context`. - user : Optional[discord.TextChannel] + user : Optional[discord.abc.User] Same as ``user`` in :meth:`same_context`. Returns @@ -187,7 +187,7 @@ class MessagePredicate(Callable[[discord.Message], bool]): Same as ``ctx`` in :meth:`same_context`. channel : Optional[discord.TextChannel] Same as ``channel`` in :meth:`same_context`. - user : Optional[discord.TextChannel] + user : Optional[discord.abc.User] Same as ``user`` in :meth:`same_context`. Returns @@ -227,7 +227,7 @@ class MessagePredicate(Callable[[discord.Message], bool]): Same as ``ctx`` in :meth:`same_context`. channel : Optional[discord.TextChannel] Same as ``channel`` in :meth:`same_context`. - user : Optional[discord.TextChannel] + user : Optional[discord.abc.User] Same as ``user`` in :meth:`same_context`. Returns @@ -267,7 +267,7 @@ class MessagePredicate(Callable[[discord.Message], bool]): Same as ``ctx`` in :meth:`same_context`. channel : Optional[discord.TextChannel] Same as ``channel`` in :meth:`same_context`. - user : Optional[discord.TextChannel] + user : Optional[discord.abc.User] Same as ``user`` in :meth:`same_context`. Returns @@ -313,7 +313,7 @@ class MessagePredicate(Callable[[discord.Message], bool]): Same as ``ctx`` in :meth:`same_context`. channel : Optional[discord.TextChannel] Same as ``channel`` in :meth:`same_context`. - user : Optional[discord.TextChannel] + user : Optional[discord.abc.User] Same as ``user`` in :meth:`same_context`. Returns @@ -357,7 +357,7 @@ class MessagePredicate(Callable[[discord.Message], bool]): Same as ``ctx`` in :meth:`same_context`. channel : Optional[discord.TextChannel] Same as ``channel`` in :meth:`same_context`. - user : Optional[discord.TextChannel] + user : Optional[discord.abc.User] Same as ``user`` in :meth:`same_context`. Returns @@ -405,7 +405,7 @@ class MessagePredicate(Callable[[discord.Message], bool]): Same as ``ctx`` in :meth:`same_context`. channel : Optional[discord.TextChannel] Same as ``channel`` in :meth:`same_context`. - user : Optional[discord.TextChannel] + user : Optional[discord.abc.User] Same as ``user`` in :meth:`same_context`. Returns @@ -454,7 +454,7 @@ class MessagePredicate(Callable[[discord.Message], bool]): Same as ``ctx`` in :meth:`same_context`. channel : Optional[discord.TextChannel] Same as ``channel`` in :meth:`same_context`. - user : Optional[discord.TextChannel] + user : Optional[discord.abc.User] Same as ``user`` in :meth:`same_context`. Returns @@ -503,7 +503,7 @@ class MessagePredicate(Callable[[discord.Message], bool]): Same as ``ctx`` in :meth:`same_context`. channel : Optional[discord.TextChannel] Same as ``channel`` in :meth:`same_context`. - user : Optional[discord.TextChannel] + user : Optional[discord.abc.User] Same as ``user`` in :meth:`same_context`. Returns @@ -533,7 +533,7 @@ class MessagePredicate(Callable[[discord.Message], bool]): Same as ``ctx`` in :meth:`same_context`. channel : Optional[discord.TextChannel] Same as ``channel`` in :meth:`same_context`. - user : Optional[discord.TextChannel] + user : Optional[discord.abc.User] Same as ``user`` in :meth:`same_context`. Returns @@ -563,7 +563,7 @@ class MessagePredicate(Callable[[discord.Message], bool]): Same as ``ctx`` in :meth:`same_context`. channel : Optional[discord.TextChannel] Same as ``channel`` in :meth:`same_context`. - user : Optional[discord.TextChannel] + user : Optional[discord.abc.User] Same as ``user`` in :meth:`same_context`. Returns @@ -594,7 +594,7 @@ class MessagePredicate(Callable[[discord.Message], bool]): Same as ``ctx`` in :meth:`same_context`. channel : Optional[discord.TextChannel] Same as ``channel`` in :meth:`same_context`. - user : Optional[discord.TextChannel] + user : Optional[discord.abc.User] Same as ``user`` in :meth:`same_context`. Returns @@ -625,7 +625,7 @@ class MessagePredicate(Callable[[discord.Message], bool]): Same as ``ctx`` in :meth:`same_context`. channel : Optional[discord.TextChannel] Same as ``channel`` in :meth:`same_context`. - user : Optional[discord.TextChannel] + user : Optional[discord.abc.User] Same as ``user`` in :meth:`same_context`. Returns @@ -655,7 +655,7 @@ class MessagePredicate(Callable[[discord.Message], bool]): Same as ``ctx`` in :meth:`same_context`. channel : Optional[discord.TextChannel] Same as ``channel`` in :meth:`same_context`. - user : Optional[discord.TextChannel] + user : Optional[discord.abc.User] Same as ``user`` in :meth:`same_context`. Returns @@ -688,7 +688,7 @@ class MessagePredicate(Callable[[discord.Message], bool]): Same as ``ctx`` in :meth:`same_context`. channel : Optional[discord.TextChannel] Same as ``channel`` in :meth:`same_context`. - user : Optional[discord.TextChannel] + user : Optional[discord.abc.User] Same as ``user`` in :meth:`same_context`. Returns @@ -729,7 +729,7 @@ class MessagePredicate(Callable[[discord.Message], bool]): Same as ``ctx`` in :meth:`same_context`. channel : Optional[discord.TextChannel] Same as ``channel`` in :meth:`same_context`. - user : Optional[discord.TextChannel] + user : Optional[discord.abc.User] Same as ``user`` in :meth:`same_context`. Returns @@ -774,7 +774,7 @@ class MessagePredicate(Callable[[discord.Message], bool]): Same as ``ctx`` in :meth:`same_context`. channel : Optional[discord.TextChannel] Same as ``channel`` in :meth:`same_context`. - user : Optional[discord.TextChannel] + user : Optional[discord.abc.User] Same as ``user`` in :meth:`same_context`. Returns From 5e9b3d91906b1895a8b9567959dc736f77007943 Mon Sep 17 00:00:00 2001 From: Aurorum Date: Sun, 18 Aug 2019 00:31:32 +0100 Subject: [PATCH 111/183] [Trivia] Michael Jackson & Prince Lyrics (#2894) I thought it'd be fun to offer lyrics as a trivia, but it can be tricky selecting songs which are known widely enough that a significant number of people have a reasonable chance of answering the questions correctly. As such, to narrow down the scope, these add trivia questions for Michael Jackson and Prince, two of the most well-known artists across the world whose musical collections are extensive and popular enough to dedicate an entire trivia too. They're comprised of a variety of lyrics, two lyrics for each song. Players need to name the song from the lyric. Most of the songs are well-known songs from the artist, but there are plenty of challenges too. --- changelog.d/trivia/12.enhance.rst | 1 + .../trivia/data/lists/michaeljackson.yaml | 129 ++++++++++ redbot/cogs/trivia/data/lists/prince.yaml | 237 ++++++++++++++++++ 3 files changed, 367 insertions(+) create mode 100644 changelog.d/trivia/12.enhance.rst create mode 100644 redbot/cogs/trivia/data/lists/michaeljackson.yaml create mode 100644 redbot/cogs/trivia/data/lists/prince.yaml diff --git a/changelog.d/trivia/12.enhance.rst b/changelog.d/trivia/12.enhance.rst new file mode 100644 index 000000000..75e88dc5b --- /dev/null +++ b/changelog.d/trivia/12.enhance.rst @@ -0,0 +1 @@ +Add trivia for Prince and Michael Jackson lyrics diff --git a/redbot/cogs/trivia/data/lists/michaeljackson.yaml b/redbot/cogs/trivia/data/lists/michaeljackson.yaml new file mode 100644 index 000000000..864990aed --- /dev/null +++ b/redbot/cogs/trivia/data/lists/michaeljackson.yaml @@ -0,0 +1,129 @@ +AUTHOR: Aurorum +(Identify the Michael Jackson song) As he came into the window was the sound of a crescendo: +- Smooth Criminal +(Identify the Michael Jackson song) Sounding heartbeats, intimidations: +- Smooth Criminal +(Identify the Michael Jackson song) So take my strong advice, just remember to always think twice: +- Billie Jean +(Identify the Michael Jackson song) She's just a girl who claims that I am the one: +- Billie Jean +(Identify the Michael Jackson song) We could change the world tomorrow, this could be a better place: +- Bad +(Identify the Michael Jackson song) If you don't like what I'm saying, then won't you slap my face?: +- Bad +(Identify the Michael Jackson song) No one's gonna save you from the beast about to strike: +- Thriller +(Identify the Michael Jackson song) Under the moonlight, you see a sight that almost stops your heart: +- Thriller +(Identify the Michael Jackson song) They'll kick you and beat you then they'll tell you it's fair: +- Beat It +(Identify the Michael Jackson song) Don't want to see your face, you better disappear: +- Beat It +(Identify the Michael Jackson song) I know your every move so won't you just let me be?: +- Dirty Diana +(Identify the Michael Jackson song) I've been here times before but I was too blind to see: +- Dirty Diana +(Identify the Michael Jackson song) Fever...temperatures rising now: +- Don't Stop 'Til You Get Enough +- Don't Stop Till You Get Enough +- Dont Stop 'Til You Get Enough +- Dont Stop Till You Get Enough +(Identify the Michael Jackson song) Lovely is the feeling now: +- Don't Stop 'Til You Get Enough +- Don't Stop Till You Get Enough +- Dont Stop 'Til You Get Enough +- Dont Stop Till You Get Enough +(Identify the Michael Jackson song) It's time that I realise that there are some with no home, not a nickel to loan, could it be really me pretending that they're not alone?: +- Man in the Mirror +(Identify the Michael Jackson song) I see the kids in the street with not enough to eat, who am I to be blind pretending not to see their needs?: +- Man in the Mirror +(Identify the Michael Jackson song) At night when the stars shine, I pray in you I'll find a love so true: +- I Just Can't Stop Loving You +- I Just Cant Stop Loving You +(Identify the Michael Jackson song sung live) Brad, what are you gonna do?: +- I Just Can't Stop Loving You +- I Just Cant Stop Loving You +(Identify the Michael Jackson song) False prophets cry of doom, what are the possibilities?: +- Jam +(Identify the Michael Jackson song) It ain't too much for me: +- Jam +(Identify the Michael Jackson song) Do you remember back in the Spring? Every morning birds would sing.: +- Remember The Time +(Identify the Michael Jackson song) Do you remember when we fell in love? We were young and innocent then.: +- Remember The Time +(Identify the Michael Jackson song) We could fly so high, let our spirits never die, in my heart I feel you are all my brothers: +- Heal the World +(Identify the Michael Jackson song) See the nations turn their swords into plowshares: +- Heal the World +(Identify the Michael Jackson song) I ain't scared of no sheets: +- Black or White +(Identify the Michael Jackson song) Don't tell me you agree with me when I saw you kicking dirt in my eye: +- Black or White +(Identify the Michael Jackson song) Still I cry alone at night, don't you judge of my composure cause I'm lying to myself: +- Who Is It +(Identify the Michael Jackson song) I am the damned, I am the dead, I am the agony inside a dying head: +- Who Is It +(Identify the Michael Jackson song) She always takes it with a heart of stone: +- Give In To Me +(Identify the Michael Jackson song) Don't try to understand me: +- Give In To Me +(Identify the Michael Jackson song) Take away my money, throw away my time, you can call me honey but you're no damn good for me: +- Dangerous +(Identify the Michael Jackson song) The girl was persuasive, the girl you could not trust: +- Dangerous +(Identify the Michael Jackson song) You try to cope with every lie they scrutinise: +- Scream +(Identify the Michael Jackson song) Please have mercy cause I just can't take this: +- Scream +(Identify the Michael Jackson song) Black man, blackmail, throw the brother in jail: +- They Don't Care About Us +- They Dont Care About Us +(Identify the Michael Jackson song) I'm tired of being the victim of hate, you're raping me of my pride, oh for God's sake: +- They Don't Care About Us +- They Dont Care About Us +(Identify the Michael Jackson song) Happy days will drown the pain: +- Stranger in Moscow +(Identify the Michael Jackson song) Stalin's tomb won't let me be: +- Stranger in Moscow +(Identify the Michael Jackson song) They really want to use me then falsely accuse me: +- This Time Around +(Identify the Michael Jackson song) They thought they really could control me: +- This Time Around +(Identify the Michael Jackson song) Did you ever stop to notice all the children dead from war? Did you ever stop to notice this crying Earth, the weeping shore?: +- Earth Song +(Identify the Michael Jackson song) What have we done to the world? Look what we've done. What about all the peace that you pledged your only son?: +- Earth Song +(Identify the Michael Jackson song) He'll stop at nothing just to get his political say: +- D.S. +- D.S +- DS +- D S +(Identify the Michael Jackson song) Tom Sneddon is a cold man: +- D.S. +- D.S +- DS +- D S +(Identify the Michael Jackson song) If you give me a hand, then I will shake it: +- Money +(Identify the Michael Jackson song) Lie for it, spy for it, kill for it, die for it: +- Money +(Identify the Michael Jackson song) Though we're far apart, you're always in my heart: +- You Are Not Alone +(Identify the Michael Jackson song) I can hear your prayers, your burdens I will bear: +- You Are Not Alone +(Identify the Michael Jackson song) Neglection can kill like a knife in your soul, oh, it will: +- Little Susie +(Identify the Michael Jackson song) Suddenly a voice from the crowd said this girl lived in vain: +- Little Susie +(Identify the Michael Jackson song) Speculate to break the one you hate, circulate the lie you confiscate: +- Tabloid Junkie +(Identify the Michael Jackson song) Scandal, with the words you use. You're a parasite in black and white, do anything for news: +- Tabloid Junkie +(Identify the Michael Jackson song) She seemed sincere like it was love and true romance: +- Blood on the Dance Floor +(Identify the Michael Jackson song) It seemed that everything was on my side: +- Blood on the Dance Floor +(Identify the Michael Jackson song) There's a creak behind the door, there's a rocking in the chair, but nobody's sitting there: +- Ghosts +(Identify the Michael Jackson song) Who gave you the right to scare my family?: +- Ghosts diff --git a/redbot/cogs/trivia/data/lists/prince.yaml b/redbot/cogs/trivia/data/lists/prince.yaml new file mode 100644 index 000000000..ce78b5a07 --- /dev/null +++ b/redbot/cogs/trivia/data/lists/prince.yaml @@ -0,0 +1,237 @@ +AUTHOR: Aurorum +(Identify the Prince song) Springtime was always my favourite time of year: +- Sometimes It Snows in April +(Identify the Prince song) Sometimes I wish that life was never ending: +- Sometimes It Snows in April +(Identify the Prince song) If I was your one and only friend, would you run to me if somebody hurt you, even if that somebody was me?: +- If I Was Your Girlfriend +(Identify the Prince song) If I was your best friend, would you let me take care of you: +- If I Was Your Girlfriend +(Identify the Prince song) I go out every night and sleep all day since you took your love away: +- Nothing Compares 2 U +- Nothing Compares to You +(Identify the Prince song) All the flowers that you planted mama, in the backyard, all died when you went away: +- Nothing Compares 2 U +- Nothing Compares to You +(Identify the Prince song) Hurricane Annie ripped the ceiling off a church, killed everyone inside: +- Sign O The Times +- Sign O' The Times +- Sign Of The Times +(Identify the Prince song) You turn on the telly and every other story is telling you somebody died: +- Sign O The Times +- Sign O' The Times +- Sign Of The Times +(Identify the Prince song) Nobody got in nobody's way, so I guess you could say it was a good day: +- Baltimore +(Identify the Prince song) Absence of war, are we gonna see another bloody day? We're tired of crying, and people are dying.: +- Baltimore +(Identify the Prince song) Even doves have pride: +- When Doves Cry +(Identify the Prince song) How could you just leave me standing alone in a world that's so cold?: +- When Doves Cry +(Identify the Prince song) This could be the saddest story even been told: +- BREAKDOWN +(Identify the Prince song) A journal full of numbers that I used to go through, all behind me now: +- BREAKDOWN +(Identify the Prince song) So here I sit in my lonely room, looking for my sunshine: +- 17 Days +- Seventeen Days +(Identify the Prince song) So let the rain come down, let the rain come down, let the rain come down down: +- 17 Days +- Seventeen Days +(Identify the Prince song) Ghettos to the left of us, flowers to the right: +- The Cross +(Identify the Prince song) A pregnant mother sings, she lives in starvation: +- The Cross +(Identify the Prince song) Spirits come and spirits go, some stick around for the aftershow: +- Comeback +(Identify the Prince song) Walking up the stairs, just the afternoon. Sweet wind blew, not a moment too soon.: +- Comeback +(Identify the Prince song) Which one of us is right if we always fight?: +- Diamonds And Pearls +(Identify the Prince song) There will come a time where love will blow your mind and everything you look for, you'll find: +- Diamonds And Pearls +(Identify the Prince song) There will be a new city with the streets of gold, the young so educated they'll never grow old: +- 7 +- Seven +(Identify the Prince song) A voice of many colours sings a song that's so bold, singing whilst we watch them fall: +- 7 +- Seven +(Identify the Prince song) I never meant to cause you any pain: +- Purple Rain +(Identify the Prince song) It's such a shame our friendship had to end: +- Purple Rain +(Identify the Prince song) Pardon me for living, but this is my world too, I can't help what's cool to us might be strange to you: +- New Power Generation +(Identify the Prince song) I hope they bury your old ideas the same time they bury you: +- New Power Generation +(Identify the Prince song) She walked in through the out door: +- Raspberry Beret +(Identify the Prince song) Rain sounds so cool when it hits the barn roof and the horses wonder who you are: +- Raspberry Beret +(Identify the Prince song) So what if we're controlling all the oil, is it worth a child dying for?: +- Money Don't Matter 2 Night +- Money Don't Matter 2Night +- Money Don't Matter Tonight +- Money Dont Matter Tonight +(Identify the Prince song) Anything is better than the picture of a child in a cloud of gas, and you think you got it bad: +- Money Don't Matter 2 Night +- Money Don't Matter 2Night +- Money Don't Matter Tonight +- Money Dont Matter Tonight +(Identify the Prince song) Drop your bombs on each other, in the act of saving face: +- Resolution +(Identify the Prince song) The main problem with people is they never do what they say: +- Resolution +(Identify the Prince song) Make a promise this very night that they will no longer pose a threat to either one of us: +- All The Midnights In The World +(Identify the Prince song) Together with love for one another, we shall make them known: +- All The Midnights In The World +(Identify the Prince song) I can't disguise the pounding of my heart, it beats so strong: +- Take Me With U +- Take Me With You +(Identify the Prince song) You're sheer perfection: +- Take Me With U +- Take Me With You +(Identify the Prince song) I know your heart is beating, my drummer tells me so: +- Free +(Identify the Prince song) Be glad that you are free, free to change your mind: +- Free +(Identify the Prince song) She wears a long fur coat of mink, even in the summer time: +- The Glamorous Life +(Identify the Prince song) She's got big thoughts, big dreams and a big brown Mercedes Sedan: +- The Glamorous Life +(Identify the Prince song) Have to catch an early train, got to be at work by nine: +- Manic Monday +(Identify the Prince song) Blame it on the train, but the boss is already there: +- Manic Monday +(Identify the Prince song) He left her with a baby and another one on the way: +- I Could Never Take The Place Of Your Man +(Identify the Prince song) She asked me if we could be friends and I said ooh, honey, baby, that's a dead end: +- I Could Never Take The Place Of Your Man +(Identify the Prince song) Big cars and women and fancy clothes will save your face, but it won't save your soul: +- My Name Is Prince +(Identify the Prince song) Would our Lord be happy if he came today?: +- My Name Is Prince +(Identify the Prince song) The sky was all purple, there were people running everywhere trying to run from the destruction: +- 1999 +(Identify the Prince song) Everybody's got a bomb, we could all die any day: +- 1999 +(Identify the Prince song) There is a woman who sits all alone by the pier, her husband was naughty and caused his wife so many tears: +- Paisley Park +(Identify the Prince song) See the man cry as the city condemns where he lives. Memories die, but taxes, he'll still have to give.: +- Paisley Park +(Identify the Prince song) They could take a walk down the ocean side, make a wish on every wave: +- The Morning Papers +(Identify the Prince song) They could find a carousel and ride, or kiss in every cave: +- The Morning Papers +(Identify the Prince song) Don't my kisses please you right?: +- The Beautiful Ones +(Identify the Prince song) You were so hard to find, the beautiful ones, they hurt you every time: +- The Beautiful Ones +(Identify the Prince song) If everybody is a star, to me, you're the most pretty: +- Big City +(Identify the Prince song) Bright lights, a sea of faces, something tells me this is gonna be fun: +- Big City +(Identify the Prince song) Voices from the sky say rely on your best friend to pull you through, but even if I wanted to I couldn't really truly: +- Thieves In The Temple +(Identify the Prince song) Love come quick, love come in a hurry: +- Thieves In The Temple +(Identify the Prince song) All hail the new King in town: +- Partyman +(Identify the Prince song) Young and old, gather round: +- Partyman +(Identify the Prince song) Make the rules then break them all cause you are the best: +- Cream +(Identify the Prince song) Look up in the air, it's your guitar: +- Cream +(Identify the Prince song) Open your heart, open your mind: +- Around The World In A Day +(Identify the Prince song) Loneliness already knows you: +- Around The World In A Day +(Identify the Prince song) Was it good for you, was that what you wanted me to be?: +- Controversy +(Identify the Prince song) I can't understand human curiosity: +- Controversy +(Identify the Prince song) I guess I should be happy, but I'm still not sure that you really love me: +- Lion of Judah +(Identify the Prince song) Sitting on the floor of an all-white room, feeling like the colour blue: +- Lion of Judah +(Identify the Prince song) You can't be too flirty, mama, I know how to undress me: +- Kiss +(Identify the Prince song) Women, not girls, rule my world: +- Kiss +(Identify the Prince song) Guess I should've known by the way you parked your car sideways that it wouldn't last: +- Little Red Corvette +(Identify the Prince song) I guess I must be dumb cause you had a pocket full of horses, Trojan and some of them used: +- Little Red Corvette +(Identify the Prince song) Thank you ma'am, you really make my day: +- Glam Slam +(Identify the Prince song) I pray you'll always stay: +- Glam Slam +(Identify the Prince song) Africa divided, hijack in the air: +- Mountains +(Identify the Prince song) Once upon a time in a land called Fantasy: +- Mountains +(Identify the Prince song) Don't you miss the feeling music gave ya back in the day?: +- Musicology +(Identify the Prince song) Let's groove, September, Earth Wind and Fire: +- Musicology +(Identify the Prince song) Electric word life, it means forever and that's a mighty long time: +- Let's Go Crazy +- Lets Go Crazy +(Identify the Prince song) Better live now before the grim reaper comes knocking on your door: +- Let's Go Crazy +- Lets Go Crazy +(Identify the Prince song) Is the water warm enough?: +- Computer Blue +(Identify the Prince song) Where is my love life?: +- Computer Blue +(Identify the Prince song) Someone that makes you laugh when you want to cry: +- Graffiti Bridge +(Identify the Prince song) Everybody wants to find the perfect one: +- Graffiti Bridge +(Identify the Prince song) This is the best day of my life: +- 3 Chains o' Gold +- 3 Chains o Gold +- 3 Chains Of Gold +(Identify the Prince song) They are the nucleus of my soul, melt down, no they'll never: +- 3 Chains o' Gold +- 3 Chains o Gold +- 3 Chains Of Gold +(Identify the Prince song) I'm not a woman, I'm not a man, I am something that you'll never understand: +- I Would Die 4 U +- I Would Die For You +(Identify the Prince song) I'm not your lover, I'm not your friend, I am something that you'll never comprehend: +- I Would Die 4 U +- I Would Die For You +(Identify the Prince song) My luck will change tonight, there's gotta be a better life: +- Baby I'm A Star +- Baby, I'm A Star +(Identify the Prince song) Take a picture sweetie, I ain't got time to waste: +- Baby I'm A Star +- Baby, I'm A Star +- Baby Im A Star +- Baby, Im A Star +(Identify the Prince song) Whenever my sunshine turns to rain, whenever my hope and dreams are aimed in the wrong direction: +- She's Always in My Hair +- Shes Always in My Hair +(Identify the Prince song) Telling me how much she cares: +- She's Always in My Hair +- Shes Always in My Hair +(Identify the Prince song) Everybody needs a thrill: +- Pop Life +(Identify the Prince song) Everybody can't be on top: +- Pop Life +(Identify the Prince song) This is the garden where emotions grow: +- Our Destiny/Roadhouse Garden +- Our Destiny +- Roadhouse Garden +(Identify the Prince song) This is the house where life's the play: +- Our Destiny/Roadhouse Garden +- Our Destiny +- Roadhouse Garden +(Identify the Prince song) Let me get a fruit cocktail, I ain't too hungry: +- The Ballad of Dorothy Parker +(Identify the Prince song) An affliction brought on by a witch's curse: +- The Ballad of Dorothy Parker From 3498f8ccb671ef67527c5edaf54e3b8c0453e708 Mon Sep 17 00:00:00 2001 From: PredaaA <46051820+PredaaA@users.noreply.github.com> Date: Sun, 18 Aug 2019 01:50:48 +0200 Subject: [PATCH 112/183] Remove commas for explanations about how to set API keys (#2905) This removes commas in explanations about how to set API keys in streams, image and audio cogs, since it has been changed in #2692. --- changelog.d/audio/2905.enhance.rst | 1 + changelog.d/image/2905.enhance.2.rst | 1 + changelog.d/image/2905.enhance.rst | 1 + changelog.d/streams/2905.enhance.rst | 1 + redbot/cogs/audio/audio.py | 6 +++--- redbot/cogs/image/image.py | 14 +++++++------- redbot/cogs/streams/streams.py | 4 ++-- 7 files changed, 16 insertions(+), 12 deletions(-) create mode 100644 changelog.d/audio/2905.enhance.rst create mode 100644 changelog.d/image/2905.enhance.2.rst create mode 100644 changelog.d/image/2905.enhance.rst create mode 100644 changelog.d/streams/2905.enhance.rst diff --git a/changelog.d/audio/2905.enhance.rst b/changelog.d/audio/2905.enhance.rst new file mode 100644 index 000000000..98ce114c8 --- /dev/null +++ b/changelog.d/audio/2905.enhance.rst @@ -0,0 +1 @@ +Remove commas for explanations about how to set API keys. diff --git a/changelog.d/image/2905.enhance.2.rst b/changelog.d/image/2905.enhance.2.rst new file mode 100644 index 000000000..f26d2f70c --- /dev/null +++ b/changelog.d/image/2905.enhance.2.rst @@ -0,0 +1 @@ +Updated the giphycreds command to match the formatting of the other API commands. diff --git a/changelog.d/image/2905.enhance.rst b/changelog.d/image/2905.enhance.rst new file mode 100644 index 000000000..98ce114c8 --- /dev/null +++ b/changelog.d/image/2905.enhance.rst @@ -0,0 +1 @@ +Remove commas for explanations about how to set API keys. diff --git a/changelog.d/streams/2905.enhance.rst b/changelog.d/streams/2905.enhance.rst new file mode 100644 index 000000000..98ce114c8 --- /dev/null +++ b/changelog.d/streams/2905.enhance.rst @@ -0,0 +1 @@ +Remove commas for explanations about how to set API keys. diff --git a/redbot/cogs/audio/audio.py b/redbot/cogs/audio/audio.py index 59a8ce059..bbebdbe62 100644 --- a/redbot/cogs/audio/audio.py +++ b/redbot/cogs/audio/audio.py @@ -654,8 +654,8 @@ class Audio(commands.Cog): '4. When asked if you\'re developing commercial integration select "No".\n' "5. Accept the terms and conditions.\n" "6. Copy your client ID and your client secret into:\n" - "`{prefix}set api spotify client_id, " - "client_secret,`" + "`{prefix}set api spotify client_id " + "client_secret `" ).format(prefix=ctx.prefix) await ctx.maybe_send_embed(message) @@ -715,7 +715,7 @@ class Audio(commands.Cog): "6. Click on Create Credential at the top.\n" '7. At the top click the link for "API key".\n' "8. No application restrictions are needed. Click Create at the bottom.\n" - "9. You now have a key to add to `{prefix}set api youtube api_key,`" + "9. You now have a key to add to `{prefix}set api youtube api_key `" ).format(prefix=ctx.prefix) await ctx.maybe_send_embed(message) diff --git a/redbot/cogs/image/image.py b/redbot/cogs/image/image.py index 7c672bdff..aa51c01d7 100644 --- a/redbot/cogs/image/image.py +++ b/redbot/cogs/image/image.py @@ -149,7 +149,7 @@ class Image(commands.Cog): "7. Enter a valid email address and a description.\n" "8. Check the captcha box and click next.\n" "9. Your Client ID will be on the next page.\n" - "10. Run the command `{prefix}set api imgur client_id,`.\n" + "10. Run the command `{prefix}set api imgur client_id `.\n" ).format(prefix=ctx.prefix) await ctx.maybe_send_embed(message) @@ -223,17 +223,17 @@ class Image(commands.Cog): @checks.is_owner() @commands.command() async def giphycreds(self, ctx): - """Explain how to set Giphy API tokens""" + """Explain how to set Giphy API tokens.""" message = _( "To get a Giphy API Key:\n" "1. Login to a Giphy account.\n" - "2. Visit [this](https://developers.giphy.com/dashboard) page\n" - "3. Press `Create an App`\n" - "4. Write an app name, example: `Red Bot`\n" - "5. Write an app description, example: `Used for Red Bot`\n" + "2. Visit this page https://developers.giphy.com/dashboard.\n" + "3. Press *Create an App*.\n" + "4. Write an app name, example: *Red Bot*.\n" + "5. Write an app description, example: *Used for Red Bot*.\n" "6. Copy the API key shown.\n" - "7. Do `{prefix}set api GIPHY api_key,your_api_key`\n" + "7. Run the command `{prefix}set api GIPHY api_key `.\n" ).format(prefix=ctx.prefix) await ctx.maybe_send_embed(message) diff --git a/redbot/cogs/streams/streams.py b/redbot/cogs/streams/streams.py index cfb591c95..56d20ebd3 100644 --- a/redbot/cogs/streams/streams.py +++ b/redbot/cogs/streams/streams.py @@ -328,7 +328,7 @@ class Streams(commands.Cog): "select an Application Category of your choosing.\n" "4. Click *Register*.\n" "5. On the following page, copy the Client ID.\n" - "6. Run the command `{prefix}set api twitch client_id,`\n\n" + "6. Run the command `{prefix}set api twitch client_id `\n\n" "Note: These tokens are sensitive and should only be used in a private channel\n" "or in DM with the bot.\n" ).format(prefix=ctx.prefix) @@ -349,7 +349,7 @@ class Streams(commands.Cog): "3. Set up your API key \n" "(see https://support.google.com/googleapi/answer/6158862 for instructions)\n" "4. Copy your API key and run the command " - "`{prefix}set api youtube api_key,`\n\n" + "`{prefix}set api youtube api_key `\n\n" "Note: These tokens are sensitive and should only be used in a private channel\n" "or in DM with the bot.\n" ).format(prefix=ctx.prefix) From 580c4429e8f9d49a08e8ee3182ffaec13635ddc9 Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Tue, 20 Aug 2019 02:37:23 +0200 Subject: [PATCH 113/183] Add `pip-wheel-metadata` folder to `.gitignore` (#2941) --- .gitignore | 1 + changelog.d/2941.misc.rst | 1 + 2 files changed, 2 insertions(+) create mode 100644 changelog.d/2941.misc.rst diff --git a/.gitignore b/.gitignore index ba29f5881..7f45b422d 100644 --- a/.gitignore +++ b/.gitignore @@ -57,6 +57,7 @@ parts/ sdist/ var/ wheels/ +pip-wheel-metadata/ *.egg-info/ .installed.cfg *.egg diff --git a/changelog.d/2941.misc.rst b/changelog.d/2941.misc.rst new file mode 100644 index 000000000..0b2b4bf95 --- /dev/null +++ b/changelog.d/2941.misc.rst @@ -0,0 +1 @@ +Add `pip-wheel-metadata` folder to `.gitignore` file - pip creates it when installing Red in venv \ No newline at end of file From 43da727a9fead071e693327398599cacf2aca661 Mon Sep 17 00:00:00 2001 From: El Laggron Date: Mon, 26 Aug 2019 02:13:21 +0200 Subject: [PATCH 114/183] [Utils] Text to file (#2849) --- changelog.d/2849.misc.rst | 2 ++ redbot/core/utils/chat_formatting.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 changelog.d/2849.misc.rst diff --git a/changelog.d/2849.misc.rst b/changelog.d/2849.misc.rst new file mode 100644 index 000000000..6d6074e8a --- /dev/null +++ b/changelog.d/2849.misc.rst @@ -0,0 +1,2 @@ +Added the function ``redbot.core.utils.chat_formatting.text_to_file`` to +prepare a long text to be send as a file. diff --git a/redbot/core/utils/chat_formatting.py b/redbot/core/utils/chat_formatting.py index 52380013e..a73abf78c 100644 --- a/redbot/core/utils/chat_formatting.py +++ b/redbot/core/utils/chat_formatting.py @@ -1,6 +1,7 @@ import itertools import datetime from typing import Sequence, Iterator, List, Optional +from io import BytesIO import discord @@ -429,3 +430,30 @@ def humanize_timedelta( strings.append(f"{period_value} {unit}") return ", ".join(strings) + + +def text_to_file( + text: str, filename: str = "file.txt", *, spoiler: bool = False, encoding: str = "utf-8" +): + """Prepares text to be sent as a file on Discord, without character limit. + + This writes text into a bytes object that can be used for the ``file`` or ``files`` parameters + of :meth:`discord.abc.Messageable.send`. + + Parameters + ---------- + text: str + The text to put in your file. + filename: str + The name of the file sent. Defaults to ``file.txt``. + spoiler: bool + Whether the attachment is a spoiler. Defaults to ``False``. + + Returns + ------- + discord.File + The file containing your text. + + """ + file = BytesIO(text.encode(encoding)) + return discord.File(file, filename, spoiler=spoiler) From bfa55922cf98e1a4c3935f985927124dde8906b8 Mon Sep 17 00:00:00 2001 From: Michael H Date: Mon, 26 Aug 2019 21:39:51 -0400 Subject: [PATCH 115/183] Add note for using towncrier with standalone PRs (#2915) --- .github/CONTRIBUTING.md | 2 ++ changelog.d/2915.docs.rst | 1 + 2 files changed, 3 insertions(+) create mode 100644 changelog.d/2915.docs.rst diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 5dc471615..b76f1a7d5 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -125,6 +125,8 @@ To create a towncrier entry for your PR, create a file in `changelog.d` for it. The filename should be of the format `issuenumber.changetype(.count).rst`, where `(.count)` is an optional part of the filename should multiple entries for the same issue number and type be neccessary. +If there is not an issue associated with your PR, +you may use the PR number in place of the issue number. Valid changetypes are: diff --git a/changelog.d/2915.docs.rst b/changelog.d/2915.docs.rst new file mode 100644 index 000000000..712c6c87e --- /dev/null +++ b/changelog.d/2915.docs.rst @@ -0,0 +1 @@ +Updated towncrier info in contribution guidelines to include how to do a standalone PR. \ No newline at end of file From 57fa29dd64a7f89685218be40209c01c31195237 Mon Sep 17 00:00:00 2001 From: Flame442 <34169552+Flame442@users.noreply.github.com> Date: Mon, 26 Aug 2019 21:42:31 -0400 Subject: [PATCH 116/183] Rename two changelog files from fix to bugfix (#2949) --- changelog.d/2863.bugfix.rst | 1 + changelog.d/2863.fix.rst | 1 - changelog.d/2892.bugfix.1.rst | 1 + changelog.d/2892.fix.1.rst | 1 - changelog.d/2949.misc.rst | 1 + 5 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 changelog.d/2863.bugfix.rst delete mode 100644 changelog.d/2863.fix.rst create mode 100644 changelog.d/2892.bugfix.1.rst delete mode 100644 changelog.d/2892.fix.1.rst create mode 100644 changelog.d/2949.misc.rst diff --git a/changelog.d/2863.bugfix.rst b/changelog.d/2863.bugfix.rst new file mode 100644 index 000000000..9d32c3d6d --- /dev/null +++ b/changelog.d/2863.bugfix.rst @@ -0,0 +1 @@ +Help properly hides disabled commands. diff --git a/changelog.d/2863.fix.rst b/changelog.d/2863.fix.rst deleted file mode 100644 index c0bd0ecda..000000000 --- a/changelog.d/2863.fix.rst +++ /dev/null @@ -1 +0,0 @@ -Help properly hides disabled commands. \ No newline at end of file diff --git a/changelog.d/2892.bugfix.1.rst b/changelog.d/2892.bugfix.1.rst new file mode 100644 index 000000000..f976e6c8c --- /dev/null +++ b/changelog.d/2892.bugfix.1.rst @@ -0,0 +1 @@ +``Command.can_see`` now works as intended for disabled commands diff --git a/changelog.d/2892.fix.1.rst b/changelog.d/2892.fix.1.rst deleted file mode 100644 index f24241cc7..000000000 --- a/changelog.d/2892.fix.1.rst +++ /dev/null @@ -1 +0,0 @@ -``Command.can_see`` now works as intended for disabled commands \ No newline at end of file diff --git a/changelog.d/2949.misc.rst b/changelog.d/2949.misc.rst new file mode 100644 index 000000000..b65940dd1 --- /dev/null +++ b/changelog.d/2949.misc.rst @@ -0,0 +1 @@ +Renamed two changelog files from fix to bugfix. From d1a46acc9a55f95f31303a32e1059354aec3258d Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Tue, 27 Aug 2019 12:02:26 +1000 Subject: [PATCH 117/183] PostgreSQL driver, tests against DB backends, and general drivers cleanup (#2723) * PostgreSQL driver and general drivers cleanup Signed-off-by: Toby Harradine * Make tests pass Signed-off-by: Toby Harradine * Add black --target-version flag in make.bat Signed-off-by: Toby Harradine * Rewrite postgres driver Most of the logic is now in PL/pgSQL. This completely avoids the use of Python f-strings to format identifiers into queries. Although an SQL-injection attack would have been impossible anyway (only the owner would have ever had the ability to do that), using PostgreSQL's format() is more reliable for unusual identifiers. Performance-wise, I'm not sure whether this is an improvement, but I highly doubt that it's worse. Signed-off-by: Toby Harradine * Reformat Signed-off-by: Toby Harradine * Fix PostgresDriver.delete_all_data() Signed-off-by: Toby Harradine * Clean up PL/pgSQL code Signed-off-by: Toby Harradine * More PL/pgSQL cleanup Signed-off-by: Toby Harradine * PL/pgSQL function optimisations Signed-off-by: Toby Harradine * Ensure compatibility with PostgreSQL 10 and below Signed-off-by: Toby Harradine * More/better docstrings for PG functions Signed-off-by: Toby Harradine * Fix typo in docstring Signed-off-by: Toby Harradine * Return correct value on toggle() Signed-off-by: Toby Harradine * Use composite type for PG function parameters Signed-off-by: Toby Harradine * Fix JSON driver's Config.clear_all() Signed-off-by: Toby Harradine * Correct description for Mongo tox recipe Signed-off-by: Toby Harradine * Fix linting errors Signed-off-by: Toby Harradine * Update dep specification after merging bumpdeps Signed-off-by: Toby Harradine * Add towncrier entries Signed-off-by: Toby Harradine * Update from merge Signed-off-by: Toby Harradine * Mention [postgres] extra in install docs Signed-off-by: Toby Harradine * Support more connection options and use better defaults Signed-off-by: Toby Harradine * Actually pass PG env vars in tox Signed-off-by: Toby Harradine * Replace event trigger with manual DELETE queries Signed-off-by: Toby Harradine --- .travis.yml | 19 +- Makefile | 4 +- changelog.d/2723.feature.rst | 1 + changelog.d/2723.misc.rst | 32 + docs/framework_config.rst | 6 +- docs/install_linux_mac.rst | 6 + docs/install_windows.rst | 8 +- make.bat | 4 +- redbot/__main__.py | 7 +- redbot/cogs/warnings/warnings.py | 2 +- redbot/core/bot.py | 7 +- redbot/core/config.py | 131 ++- redbot/core/core_commands.py | 168 ++-- redbot/core/data_manager.py | 5 +- redbot/core/drivers/__init__.py | 126 ++- redbot/core/drivers/base.py | 342 +++++++ redbot/core/drivers/{red_json.py => json.py} | 93 +- redbot/core/drivers/log.py | 11 + .../core/drivers/{red_mongo.py => mongo.py} | 266 +++--- redbot/core/drivers/postgres/__init__.py | 3 + redbot/core/drivers/postgres/ddl.sql | 839 ++++++++++++++++++ redbot/core/drivers/postgres/drop_ddl.sql | 3 + redbot/core/drivers/postgres/postgres.py | 255 ++++++ redbot/core/drivers/red_base.py | 233 ----- redbot/core/errors.py | 35 +- redbot/core/utils/__init__.py | 47 + redbot/core/utils/tunnel.py | 2 +- redbot/pytest/core.py | 25 +- redbot/setup.py | 355 +++----- setup.cfg | 4 + tests/conftest.py | 45 + tools/dev-requirements.txt | 2 +- tools/primary_deps.ini | 2 + tox.ini | 37 +- 34 files changed, 2282 insertions(+), 843 deletions(-) create mode 100644 changelog.d/2723.feature.rst create mode 100644 changelog.d/2723.misc.rst create mode 100644 redbot/core/drivers/base.py rename redbot/core/drivers/{red_json.py => json.py} (71%) create mode 100644 redbot/core/drivers/log.py rename redbot/core/drivers/{red_mongo.py => mongo.py} (64%) create mode 100644 redbot/core/drivers/postgres/__init__.py create mode 100644 redbot/core/drivers/postgres/ddl.sql create mode 100644 redbot/core/drivers/postgres/drop_ddl.sql create mode 100644 redbot/core/drivers/postgres/postgres.py delete mode 100644 redbot/core/drivers/red_base.py create mode 100644 tests/conftest.py diff --git a/.travis.yml b/.travis.yml index 11bc49b0a..a1748288b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,14 +5,10 @@ notifications: email: false python: -- 3.7.2 +- 3.7.3 env: global: - PIPENV_IGNORE_VIRTUALENVS=1 - matrix: - - TOXENV=py - - TOXENV=docs - - TOXENV=style install: - pip install --upgrade pip tox @@ -22,6 +18,19 @@ script: jobs: include: + - env: TOXENV=py + - env: TOXENV=docs + - env: TOXENV=style + - env: TOXENV=postgres + services: postgresql + addons: + postgresql: "10" + before_script: + - psql -c 'create database red_db;' -U postgres + - env: TOXENV=mongo + services: mongodb + before_script: + - mongo red_db --eval 'db.createUser({user:"red",pwd:"red",roles:["readWrite"]});' # These jobs only occur on tag creation if the prior ones succeed - stage: PyPi Deployment if: tag IS present diff --git a/Makefile b/Makefile index 5d9afbf64..c6f92b713 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ # Python Code Style reformat: - black -l 99 `git ls-files "*.py"` + black -l 99 --target-version py37 `git ls-files "*.py"` stylecheck: - black --check -l 99 `git ls-files "*.py"` + black --check -l 99 --target-version py37 `git ls-files "*.py"` # Translations gettext: diff --git a/changelog.d/2723.feature.rst b/changelog.d/2723.feature.rst new file mode 100644 index 000000000..1e2f3d49b --- /dev/null +++ b/changelog.d/2723.feature.rst @@ -0,0 +1 @@ +Added a config driver for PostgreSQL diff --git a/changelog.d/2723.misc.rst b/changelog.d/2723.misc.rst new file mode 100644 index 000000000..2d4afcf25 --- /dev/null +++ b/changelog.d/2723.misc.rst @@ -0,0 +1,32 @@ +Changes to the ``redbot.core.drivers`` package: + +- The modules inside the ``redbot.core.drivers`` package no longer have the ``red_`` prefix in front of their names. +- All driver classes are now directly accessible as attributes to the ``redbot.core.drivers`` package. +- :func:`get_driver`'s signature has been changed. +- :func:`get_driver` can now use data manager to infer the backend type if it is not supplied as an argument. +- :func:`get_driver_class` has been added. + +Changes to the :class:`BaseDriver` and :class:`JsonDriver` classes class: + +- :meth:`BaseDriver.get_config_details` is an now abstract staticmethod. +- :meth:`BaseDriver.initialize` and :meth:`BaseDriver.teardown` are two new abstract coroutine classmethods. +- :meth:`BaseDriver.delete_all_data` is a new concrete (but overrideable) coroutine instance method. +- :meth:`BaseDriver.aiter_cogs` is a new abstract asynchronous iterator method. +- :meth:`BaseDriver.migrate_to` is a new concrete coroutine classmethod. +- :class:`JsonDriver` no longer requires the data path when constructed and will infer the data path from data manager. + +Changes to the :class:`IdentifierData` class and :class:`ConfigCategory` enum: + +- ``IdentifierData.custom_group_data`` has been replaced by :attr:`IdentifierData.primary_key_len`. +- :meth:`ConfigCategory.get_pkey_info` is a new classmethod. + +Changes to the migration and backup system: + +- All code in the ``redbot.setup`` script, excluding that regarding MongoV1, is now virtually backend-agnostic. +- All code in the ``[p]backup`` is now backend-agnostic. +- :func:`redbot.core.config.migrate` is a new coroutine function. +- All a new driver needs to do now to be compatible with migrations and backups is to implement the :class:`BaseDriver` ABC. + +Enhancements to unit tests: + +- New tox recipes have been added for testing against Mongo and Postgres backends. See the ``tox.ini`` file for clues on how to run them. diff --git a/docs/framework_config.rst b/docs/framework_config.rst index 96b8d5768..d18aed63b 100644 --- a/docs/framework_config.rst +++ b/docs/framework_config.rst @@ -421,15 +421,15 @@ Driver Reference Base Driver ^^^^^^^^^^^ -.. autoclass:: redbot.core.drivers.red_base.BaseDriver +.. autoclass:: redbot.core.drivers.BaseDriver :members: JSON Driver ^^^^^^^^^^^ -.. autoclass:: redbot.core.drivers.red_json.JSON +.. autoclass:: redbot.core.drivers.JsonDriver :members: Mongo Driver ^^^^^^^^^^^^ -.. autoclass:: redbot.core.drivers.red_mongo.Mongo +.. autoclass:: redbot.core.drivers.MongoDriver :members: diff --git a/docs/install_linux_mac.rst b/docs/install_linux_mac.rst index 22d0c492e..cb58b13db 100644 --- a/docs/install_linux_mac.rst +++ b/docs/install_linux_mac.rst @@ -200,6 +200,12 @@ Or, to install with MongoDB support: python3.7 -m pip install -U Red-DiscordBot[mongo] +Or, to install with PostgreSQL support: + +.. code-block:: none + + python3.7 -m pip install -U Red-DiscordBot[postgres] + .. note:: To install the development version, replace ``Red-DiscordBot`` in the above commands with the diff --git a/docs/install_windows.rst b/docs/install_windows.rst index f36753f70..ad316cb58 100644 --- a/docs/install_windows.rst +++ b/docs/install_windows.rst @@ -65,7 +65,7 @@ Installing Red If you're not inside an activated virtual environment, include the ``--user`` flag with all ``pip`` commands. - * No MongoDB support: + * Normal installation: .. code-block:: none @@ -77,6 +77,12 @@ Installing Red python -m pip install -U Red-DiscordBot[mongo] + * With PostgreSQL support: + + .. code-block:: none + + python3.7 -m pip install -U Red-DiscordBot[postgres] + .. note:: To install the development version, replace ``Red-DiscordBot`` in the above commands with the diff --git a/make.bat b/make.bat index 46ea86173..1e38b16e7 100644 --- a/make.bat +++ b/make.bat @@ -14,11 +14,11 @@ for /F "tokens=* USEBACKQ" %%A in (`git ls-files "*.py"`) do ( goto %1 :reformat -black -l 99 !PYFILES! +black -l 99 --target-version py37 !PYFILES! exit /B %ERRORLEVEL% :stylecheck -black -l 99 --check !PYFILES! +black -l 99 --check --target-version py37 !PYFILES! exit /B %ERRORLEVEL% :newenv diff --git a/redbot/__main__.py b/redbot/__main__.py index 38338b0ca..2cac3e178 100644 --- a/redbot/__main__.py +++ b/redbot/__main__.py @@ -33,7 +33,7 @@ from redbot.core.events import init_events from redbot.core.cli import interactive_config, confirm, parse_cli_flags from redbot.core.core_commands import Core from redbot.core.dev_commands import Dev -from redbot.core import __version__, modlog, bank, data_manager +from redbot.core import __version__, modlog, bank, data_manager, drivers from signal import SIGTERM @@ -99,7 +99,11 @@ def main(): ) cli_flags.instance_name = "temporary_red" data_manager.create_temp_config() + loop = asyncio.get_event_loop() + data_manager.load_basic_configuration(cli_flags.instance_name) + driver_cls = drivers.get_driver_class() + loop.run_until_complete(driver_cls.initialize(**data_manager.storage_details())) redbot.logging.init_logging( level=cli_flags.logging_level, location=data_manager.core_data_path() / "logs" ) @@ -111,7 +115,6 @@ def main(): red = Red( cli_flags=cli_flags, description=description, dm_help=None, fetch_offline_members=True ) - loop = asyncio.get_event_loop() loop.run_until_complete(red.maybe_update_config()) init_global_checks(red) init_events(red, cli_flags) diff --git a/redbot/cogs/warnings/warnings.py b/redbot/cogs/warnings/warnings.py index b53fdaf8d..a871ae62f 100644 --- a/redbot/cogs/warnings/warnings.py +++ b/redbot/cogs/warnings/warnings.py @@ -251,7 +251,7 @@ class Warnings(commands.Cog): user: discord.Member, points: Optional[int] = 1, *, - reason: str + reason: str, ): """Warn the user for the specified reason. diff --git a/redbot/core/bot.py b/redbot/core/bot.py index 9d047aed0..a7c82f058 100644 --- a/redbot/core/bot.py +++ b/redbot/core/bot.py @@ -1,7 +1,7 @@ import asyncio import inspect -import os import logging +import os from collections import Counter from enum import Enum from importlib.machinery import ModuleSpec @@ -9,10 +9,9 @@ from pathlib import Path from typing import Optional, Union, List import discord -import sys from discord.ext.commands import when_mentioned_or -from . import Config, i18n, commands, errors +from . import Config, i18n, commands, errors, drivers from .cog_manager import CogManager from .rpc import RPCMixin @@ -592,8 +591,8 @@ class Red(RedBase, discord.AutoShardedClient): async def logout(self): """Logs out of Discord and closes all connections.""" - await super().logout() + await drivers.get_driver_class().teardown() async def shutdown(self, *, restart: bool = False): """Gracefully quit Red. diff --git a/redbot/core/config.py b/redbot/core/config.py index e81b20c0d..1fed17bba 100644 --- a/redbot/core/config.py +++ b/redbot/core/config.py @@ -5,23 +5,22 @@ import pickle import weakref from typing import ( Any, - Union, - Tuple, - Dict, - Awaitable, AsyncContextManager, - TypeVar, + Awaitable, + Dict, MutableMapping, Optional, + Tuple, + Type, + TypeVar, + Union, ) import discord -from .data_manager import cog_data_path, core_data_path -from .drivers import get_driver, IdentifierData, BackendType -from .drivers.red_base import BaseDriver +from .drivers import IdentifierData, get_driver, ConfigCategory, BaseDriver -__all__ = ["Config", "get_latest_confs"] +__all__ = ["Config", "get_latest_confs", "migrate"] log = logging.getLogger("red.config") @@ -101,7 +100,7 @@ class Value: Information on identifiers for this value. default The default value for the data element that `identifiers` points at. - driver : `redbot.core.drivers.red_base.BaseDriver` + driver : `redbot.core.drivers.BaseDriver` A reference to `Config.driver`. """ @@ -250,7 +249,7 @@ class Group(Value): All registered default values for this Group. force_registration : `bool` Same as `Config.force_registration`. - driver : `redbot.core.drivers.red_base.BaseDriver` + driver : `redbot.core.drivers.BaseDriver` A reference to `Config.driver`. """ @@ -586,7 +585,7 @@ class Config: Unique identifier provided to differentiate cog data when name conflicts occur. driver - An instance of a driver that implements `redbot.core.drivers.red_base.BaseDriver`. + An instance of a driver that implements `redbot.core.drivers.BaseDriver`. force_registration : `bool` Determines if Config should throw an error if a cog attempts to access an attribute which has not been previously registered. @@ -634,7 +633,7 @@ class Config: self.force_registration = force_registration self._defaults = defaults or {} - self.custom_groups = {} + self.custom_groups: Dict[str, int] = {} self._lock_cache: MutableMapping[ IdentifierData, asyncio.Lock ] = weakref.WeakValueDictionary() @@ -643,10 +642,6 @@ class Config: def defaults(self): return pickle.loads(pickle.dumps(self._defaults, -1)) - @staticmethod - def _create_uuid(identifier: int): - return str(identifier) - @classmethod def get_conf(cls, cog_instance, identifier: int, force_registration=False, cog_name=None): """Get a Config instance for your cog. @@ -681,25 +676,12 @@ class Config: A new Config object. """ - if cog_instance is None and cog_name is not None: - cog_path_override = cog_data_path(raw_name=cog_name) - else: - cog_path_override = cog_data_path(cog_instance=cog_instance) + uuid = str(identifier) + if cog_name is None: + cog_name = type(cog_instance).__name__ - cog_name = cog_path_override.stem - # uuid = str(hash(identifier)) - uuid = cls._create_uuid(identifier) - - # We have to import this here otherwise we have a circular dependency - from .data_manager import basic_config - - driver_name = basic_config.get("STORAGE_TYPE", "JSON") - driver_details = basic_config.get("STORAGE_DETAILS", {}) - - driver = get_driver( - driver_name, cog_name, uuid, data_path_override=cog_path_override, **driver_details - ) - if driver_name == BackendType.JSON.value: + driver = get_driver(cog_name, uuid) + if hasattr(driver, "migrate_identifier"): driver.migrate_identifier(identifier) conf = cls( @@ -712,7 +694,7 @@ class Config: @classmethod def get_core_conf(cls, force_registration: bool = False): - """Get a Config instance for a core module. + """Get a Config instance for the core bot. All core modules that require a config instance should use this classmethod instead of `get_conf`. @@ -723,24 +705,9 @@ class Config: See `force_registration`. """ - core_path = core_data_path() - - # We have to import this here otherwise we have a circular dependency - from .data_manager import basic_config - - driver_name = basic_config.get("STORAGE_TYPE", "JSON") - driver_details = basic_config.get("STORAGE_DETAILS", {}) - - driver = get_driver( - driver_name, "Core", "0", data_path_override=core_path, **driver_details + return cls.get_conf( + None, cog_name="Core", identifier=0, force_registration=force_registration ) - conf = cls( - cog_name="Core", - driver=driver, - unique_identifier="0", - force_registration=force_registration, - ) - return conf def __getattr__(self, item: str) -> Union[Group, Value]: """Same as `group.__getattr__` except for global data. @@ -916,26 +883,18 @@ class Config: self.custom_groups[group_identifier] = identifier_count def _get_base_group(self, category: str, *primary_keys: str) -> Group: - is_custom = category not in ( - self.GLOBAL, - self.GUILD, - self.USER, - self.MEMBER, - self.ROLE, - self.CHANNEL, - ) - # noinspection PyTypeChecker + pkey_len, is_custom = ConfigCategory.get_pkey_info(category, self.custom_groups) identifier_data = IdentifierData( + cog_name=self.cog_name, uuid=self.unique_identifier, category=category, primary_key=primary_keys, identifiers=(), - custom_group_data=self.custom_groups, + primary_key_len=pkey_len, is_custom=is_custom, ) - pkey_len = BaseDriver.get_pkey_len(identifier_data) - if len(primary_keys) < pkey_len: + if len(primary_keys) < identifier_data.primary_key_len: # Don't mix in defaults with groups higher than the document level defaults = {} else: @@ -1220,9 +1179,7 @@ class Config: """ if not scopes: # noinspection PyTypeChecker - identifier_data = IdentifierData( - self.unique_identifier, "", (), (), self.custom_groups - ) + identifier_data = IdentifierData(self.cog_name, self.unique_identifier, "", (), (), 0) group = Group(identifier_data, defaults={}, driver=self.driver, config=self) else: cat, *scopes = scopes @@ -1359,7 +1316,12 @@ class Config: return self.get_custom_lock(self.GUILD) else: id_data = IdentifierData( - self.unique_identifier, self.MEMBER, (str(guild.id),), (), self.custom_groups + self.cog_name, + self.unique_identifier, + category=self.MEMBER, + primary_key=(str(guild.id),), + identifiers=(), + primary_key_len=2, ) return self._lock_cache.setdefault(id_data, asyncio.Lock()) @@ -1375,10 +1337,33 @@ class Config: ------- asyncio.Lock """ - id_data = IdentifierData( - self.unique_identifier, group_identifier, (), (), self.custom_groups - ) - return self._lock_cache.setdefault(id_data, asyncio.Lock()) + try: + pkey_len, is_custom = ConfigCategory.get_pkey_info( + group_identifier, self.custom_groups + ) + except KeyError: + raise ValueError(f"Custom group not initialized: {group_identifier}") from None + else: + id_data = IdentifierData( + self.cog_name, + self.unique_identifier, + category=group_identifier, + primary_key=(), + identifiers=(), + primary_key_len=pkey_len, + is_custom=is_custom, + ) + return self._lock_cache.setdefault(id_data, asyncio.Lock()) + + +async def migrate(cur_driver_cls: Type[BaseDriver], new_driver_cls: Type[BaseDriver]) -> None: + """Migrate from one driver type to another.""" + # Get custom group data + core_conf = Config.get_core_conf() + core_conf.init_custom("CUSTOM_GROUPS", 2) + all_custom_group_data = await core_conf.custom("CUSTOM_GROUPS").all() + + await cur_driver_cls.migrate_to(new_driver_cls, all_custom_group_data) def _str_key_dict(value: Dict[Any, _T]) -> Dict[str, _T]: diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index 77ba280d3..fabd4cd78 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -3,15 +3,12 @@ import contextlib import datetime import importlib import itertools -import json import logging import os -import pathlib import sys import platform import getpass import pip -import tarfile import traceback from collections import namedtuple from pathlib import Path @@ -23,15 +20,18 @@ import aiohttp import discord import pkg_resources -from redbot.core import ( +from . import ( __version__, version_info as red_version_info, VersionInfo, checks, commands, + drivers, errors, i18n, + config, ) +from .utils import create_backup from .utils.predicates import MessagePredicate from .utils.chat_formatting import humanize_timedelta, pagify, box, inline, humanize_list from .commands.requires import PrivilegeLevel @@ -1307,105 +1307,71 @@ class Core(commands.Cog, CoreLogic): @commands.command() @checks.is_owner() - async def backup(self, ctx: commands.Context, *, backup_path: str = None): - """Creates a backup of all data for the instance.""" - if backup_path: - path = pathlib.Path(backup_path) - if not (path.exists() and path.is_dir()): - return await ctx.send( - _("That path doesn't seem to exist. Please provide a valid path.") - ) - from redbot.core.data_manager import basic_config, instance_name - from redbot.core.drivers.red_json import JSON + async def backup(self, ctx: commands.Context, *, backup_dir: str = None): + """Creates a backup of all data for the instance. - data_dir = Path(basic_config["DATA_PATH"]) - if basic_config["STORAGE_TYPE"] == "MongoDB": - from redbot.core.drivers.red_mongo import Mongo - - m = Mongo("Core", "0", **basic_config["STORAGE_DETAILS"]) - db = m.db - collection_names = await db.list_collection_names() - for c_name in collection_names: - if c_name == "Core": - c_data_path = data_dir / basic_config["CORE_PATH_APPEND"] - else: - c_data_path = data_dir / basic_config["COG_PATH_APPEND"] / c_name - docs = await db[c_name].find().to_list(None) - for item in docs: - item_id = str(item.pop("_id")) - target = JSON(c_name, item_id, data_path_override=c_data_path) - target.data = item - await target._save() - backup_filename = "redv3-{}-{}.tar.gz".format( - instance_name, ctx.message.created_at.strftime("%Y-%m-%d %H-%M-%S") - ) - if data_dir.exists(): - if not backup_path: - backup_pth = data_dir.home() - else: - backup_pth = Path(backup_path) - backup_file = backup_pth / backup_filename - - to_backup = [] - exclusions = [ - "__pycache__", - "Lavalink.jar", - os.path.join("Downloader", "lib"), - os.path.join("CogManager", "cogs"), - os.path.join("RepoManager", "repos"), - ] - downloader_cog = ctx.bot.get_cog("Downloader") - if downloader_cog and hasattr(downloader_cog, "_repo_manager"): - repo_output = [] - repo_mgr = downloader_cog._repo_manager - for repo in repo_mgr._repos.values(): - repo_output.append({"url": repo.url, "name": repo.name, "branch": repo.branch}) - repo_filename = data_dir / "cogs" / "RepoManager" / "repos.json" - with open(str(repo_filename), "w") as f: - f.write(json.dumps(repo_output, indent=4)) - instance_data = {instance_name: basic_config} - instance_file = data_dir / "instance.json" - with open(str(instance_file), "w") as instance_out: - instance_out.write(json.dumps(instance_data, indent=4)) - for f in data_dir.glob("**/*"): - if not any(ex in str(f) for ex in exclusions): - to_backup.append(f) - with tarfile.open(str(backup_file), "w:gz") as tar: - for f in to_backup: - tar.add(str(f), recursive=False) - print(str(backup_file)) - await ctx.send( - _("A backup has been made of this instance. It is at {}.").format(backup_file) - ) - if backup_file.stat().st_size > 8_000_000: - await ctx.send(_("This backup is too large to send via DM.")) - return - await ctx.send(_("Would you like to receive a copy via DM? (y/n)")) - - pred = MessagePredicate.yes_or_no(ctx) - try: - await ctx.bot.wait_for("message", check=pred, timeout=60) - except asyncio.TimeoutError: - await ctx.send(_("Response timed out.")) - else: - if pred.result is True: - await ctx.send(_("OK, it's on its way!")) - try: - async with ctx.author.typing(): - await ctx.author.send( - _("Here's a copy of the backup"), - file=discord.File(str(backup_file)), - ) - except discord.Forbidden: - await ctx.send( - _("I don't seem to be able to DM you. Do you have closed DMs?") - ) - except discord.HTTPException: - await ctx.send(_("I could not send the backup file.")) - else: - await ctx.send(_("OK then.")) + You may provide a path to a directory for the backup archive to + be placed in. If the directory does not exist, the bot will + attempt to create it. + """ + if backup_dir is None: + dest = Path.home() else: - await ctx.send(_("That directory doesn't seem to exist...")) + dest = Path(backup_dir) + + driver_cls = drivers.get_driver_class() + if driver_cls != drivers.JsonDriver: + await ctx.send(_("Converting data to JSON for backup...")) + async with ctx.typing(): + await config.migrate(driver_cls, drivers.JsonDriver) + + log.info("Creating backup for this instance...") + try: + backup_fpath = await create_backup(dest) + except OSError as exc: + await ctx.send( + _( + "Creating the backup archive failed! Please check your console or logs for " + "details." + ) + ) + log.exception("Failed to create backup archive", exc_info=exc) + return + + if backup_fpath is None: + await ctx.send(_("Your datapath appears to be empty.")) + return + + log.info("Backup archive created successfully at '%s'", backup_fpath) + await ctx.send( + _("A backup has been made of this instance. It is located at `{path}`.").format( + path=backup_fpath + ) + ) + if backup_fpath.stat().st_size > 8_000_000: + await ctx.send(_("This backup is too large to send via DM.")) + return + await ctx.send(_("Would you like to receive a copy via DM? (y/n)")) + + pred = MessagePredicate.yes_or_no(ctx) + try: + await ctx.bot.wait_for("message", check=pred, timeout=60) + except asyncio.TimeoutError: + await ctx.send(_("Response timed out.")) + else: + if pred.result is True: + await ctx.send(_("OK, it's on its way!")) + try: + async with ctx.author.typing(): + await ctx.author.send( + _("Here's a copy of the backup"), file=discord.File(str(backup_fpath)) + ) + except discord.Forbidden: + await ctx.send(_("I don't seem to be able to DM you. Do you have closed DMs?")) + except discord.HTTPException: + await ctx.send(_("I could not send the backup file.")) + else: + await ctx.send(_("OK then.")) @commands.command() @commands.cooldown(1, 60, commands.BucketType.user) diff --git a/redbot/core/data_manager.py b/redbot/core/data_manager.py index b031cd1cb..be1632809 100644 --- a/redbot/core/data_manager.py +++ b/redbot/core/data_manager.py @@ -224,7 +224,4 @@ def storage_details() -> dict: ------- dict """ - try: - return basic_config["STORAGE_DETAILS"] - except KeyError as e: - raise RuntimeError("Bot basic config has not been loaded yet.") from e + return basic_config.get("STORAGE_DETAILS", {}) diff --git a/redbot/core/drivers/__init__.py b/redbot/core/drivers/__init__.py index 5108049f0..f34727c86 100644 --- a/redbot/core/drivers/__init__.py +++ b/redbot/core/drivers/__init__.py @@ -1,50 +1,110 @@ import enum +from typing import Optional, Type -from .red_base import IdentifierData +from .. import data_manager +from .base import IdentifierData, BaseDriver, ConfigCategory +from .json import JsonDriver +from .mongo import MongoDriver +from .postgres import PostgresDriver -__all__ = ["get_driver", "IdentifierData", "BackendType"] +__all__ = [ + "get_driver", + "ConfigCategory", + "IdentifierData", + "BaseDriver", + "JsonDriver", + "MongoDriver", + "PostgresDriver", + "BackendType", +] class BackendType(enum.Enum): JSON = "JSON" MONGO = "MongoDBV2" MONGOV1 = "MongoDB" + POSTGRES = "Postgres" -def get_driver(type, *args, **kwargs): +_DRIVER_CLASSES = { + BackendType.JSON: JsonDriver, + BackendType.MONGO: MongoDriver, + BackendType.POSTGRES: PostgresDriver, +} + + +def get_driver_class(storage_type: Optional[BackendType] = None) -> Type[BaseDriver]: + """Get the driver class for the given storage type. + + Parameters + ---------- + storage_type : Optional[BackendType] + The backend you want a driver class for. Omit to try to obtain + the backend from data manager. + + Returns + ------- + Type[BaseDriver] + A subclass of `BaseDriver`. + + Raises + ------ + ValueError + If there is no driver for the given storage type. + """ - Selectively import/load driver classes based on the selected type. This - is required so that dependencies can differ between installs (e.g. so that - you don't need to install a mongo dependency if you will just be running a - json data backend). + if storage_type is None: + storage_type = BackendType(data_manager.storage_type()) + try: + return _DRIVER_CLASSES[storage_type] + except KeyError: + raise ValueError(f"No driver found for storage type {storage_type}") from None - .. note:: - See the respective classes for information on what ``args`` and ``kwargs`` - should be. +def get_driver( + cog_name: str, identifier: str, storage_type: Optional[BackendType] = None, **kwargs +): + """Get a driver instance. + + Parameters + ---------- + cog_name : str + The cog's name. + identifier : str + The cog's discriminator. + storage_type : Optional[BackendType] + The backend you want a driver for. Omit to try to obtain the + backend from data manager. + **kwargs + Driver-specific keyword arguments. + + Returns + ------- + BaseDriver + A driver instance. + + Raises + ------ + RuntimeError + If the storage type is MongoV1 or invalid. - :param str type: - One of: json, mongo - :param args: - Dependent on driver type. - :param kwargs: - Dependent on driver type. - :return: - Subclass of :py:class:`.red_base.BaseDriver`. """ - if type == "JSON": - from .red_json import JSON + if storage_type is None: + try: + storage_type = BackendType(data_manager.storage_type()) + except RuntimeError: + storage_type = BackendType.JSON - return JSON(*args, **kwargs) - elif type == "MongoDBV2": - from .red_mongo import Mongo - - return Mongo(*args, **kwargs) - elif type == "MongoDB": - raise RuntimeError( - "Please convert to JSON first to continue using the bot." - " This is a required conversion prior to using the new Mongo driver." - " This message will be updated with a link to the update docs once those" - " docs have been created." - ) - raise RuntimeError("Invalid driver type: '{}'".format(type)) + try: + driver_cls: Type[BaseDriver] = get_driver_class(storage_type) + except ValueError: + if storage_type == BackendType.MONGOV1: + raise RuntimeError( + "Please convert to JSON first to continue using the bot." + " This is a required conversion prior to using the new Mongo driver." + " This message will be updated with a link to the update docs once those" + " docs have been created." + ) from None + else: + raise RuntimeError(f"Invalid driver type: '{storage_type}'") from None + return driver_cls(cog_name, identifier, **kwargs) diff --git a/redbot/core/drivers/base.py b/redbot/core/drivers/base.py new file mode 100644 index 000000000..8d8ed8a36 --- /dev/null +++ b/redbot/core/drivers/base.py @@ -0,0 +1,342 @@ +import abc +import enum +from typing import Tuple, Dict, Any, Union, List, AsyncIterator, Type + +__all__ = ["BaseDriver", "IdentifierData", "ConfigCategory"] + + +class ConfigCategory(str, enum.Enum): + GLOBAL = "GLOBAL" + GUILD = "GUILD" + CHANNEL = "TEXTCHANNEL" + ROLE = "ROLE" + USER = "USER" + MEMBER = "MEMBER" + + @classmethod + def get_pkey_info( + cls, category: Union[str, "ConfigCategory"], custom_group_data: Dict[str, int] + ) -> Tuple[int, bool]: + """Get the full primary key length for the given category, + and whether or not the category is a custom category. + """ + try: + # noinspection PyArgumentList + category_obj = cls(category) + except ValueError: + return custom_group_data[category], True + else: + return _CATEGORY_PKEY_COUNTS[category_obj], False + + +_CATEGORY_PKEY_COUNTS = { + ConfigCategory.GLOBAL: 0, + ConfigCategory.GUILD: 1, + ConfigCategory.CHANNEL: 1, + ConfigCategory.ROLE: 1, + ConfigCategory.USER: 1, + ConfigCategory.MEMBER: 2, +} + + +class IdentifierData: + def __init__( + self, + cog_name: str, + uuid: str, + category: str, + primary_key: Tuple[str, ...], + identifiers: Tuple[str, ...], + primary_key_len: int, + is_custom: bool = False, + ): + self._cog_name = cog_name + self._uuid = uuid + self._category = category + self._primary_key = primary_key + self._identifiers = identifiers + self.primary_key_len = primary_key_len + self._is_custom = is_custom + + @property + def cog_name(self) -> str: + return self._cog_name + + @property + def uuid(self) -> str: + return self._uuid + + @property + def category(self) -> str: + return self._category + + @property + def primary_key(self) -> Tuple[str, ...]: + return self._primary_key + + @property + def identifiers(self) -> Tuple[str, ...]: + return self._identifiers + + @property + def is_custom(self) -> bool: + return self._is_custom + + def __repr__(self) -> str: + return ( + f"" + ) + + def __eq__(self, other) -> bool: + if not isinstance(other, IdentifierData): + return False + return ( + self.uuid == other.uuid + and self.category == other.category + and self.primary_key == other.primary_key + and self.identifiers == other.identifiers + ) + + def __hash__(self) -> int: + return hash((self.uuid, self.category, self.primary_key, self.identifiers)) + + def add_identifier(self, *identifier: str) -> "IdentifierData": + if not all(isinstance(i, str) for i in identifier): + raise ValueError("Identifiers must be strings.") + + return IdentifierData( + self.cog_name, + self.uuid, + self.category, + self.primary_key, + self.identifiers + identifier, + self.primary_key_len, + is_custom=self.is_custom, + ) + + def to_tuple(self) -> Tuple[str, ...]: + return tuple( + filter( + None, + (self.cog_name, self.uuid, self.category, *self.primary_key, *self.identifiers), + ) + ) + + +class BaseDriver(abc.ABC): + def __init__(self, cog_name: str, identifier: str, **kwargs): + self.cog_name = cog_name + self.unique_cog_identifier = identifier + + @classmethod + @abc.abstractmethod + async def initialize(cls, **storage_details) -> None: + """ + Initialize this driver. + + Parameters + ---------- + **storage_details + The storage details required to initialize this driver. + Should be the same as :func:`data_manager.storage_details` + + Raises + ------ + MissingExtraRequirements + If initializing the driver requires an extra which isn't + installed. + + """ + raise NotImplementedError + + @classmethod + @abc.abstractmethod + async def teardown(cls) -> None: + """ + Tear down this driver. + """ + raise NotImplementedError + + @staticmethod + @abc.abstractmethod + def get_config_details() -> Dict[str, Any]: + """ + Asks users for additional configuration information necessary + to use this config driver. + + Returns + ------- + Dict[str, Any] + Dictionary of configuration details. + """ + raise NotImplementedError + + @abc.abstractmethod + async def get(self, identifier_data: IdentifierData) -> Any: + """ + Finds the value indicate by the given identifiers. + + Parameters + ---------- + identifier_data + + Returns + ------- + Any + Stored value. + """ + raise NotImplementedError + + @abc.abstractmethod + async def set(self, identifier_data: IdentifierData, value=None) -> None: + """ + Sets the value of the key indicated by the given identifiers. + + Parameters + ---------- + identifier_data + value + Any JSON serializable python object. + """ + raise NotImplementedError + + @abc.abstractmethod + async def clear(self, identifier_data: IdentifierData) -> None: + """ + Clears out the value specified by the given identifiers. + + Equivalent to using ``del`` on a dict. + + Parameters + ---------- + identifier_data + """ + raise NotImplementedError + + @classmethod + @abc.abstractmethod + def aiter_cogs(cls) -> AsyncIterator[Tuple[str, str]]: + """Get info for cogs which have data stored on this backend. + + Yields + ------ + Tuple[str, str] + Asynchronously yields (cog_name, cog_identifier) tuples. + + """ + raise NotImplementedError + + @classmethod + async def migrate_to( + cls, + new_driver_cls: Type["BaseDriver"], + all_custom_group_data: Dict[str, Dict[str, Dict[str, int]]], + ) -> None: + """Migrate data from this backend to another. + + Both drivers must be initialized beforehand. + + This will only move the data - no instance metadata is modified + as a result of this operation. + + Parameters + ---------- + new_driver_cls + Subclass of `BaseDriver`. + all_custom_group_data : Dict[str, Dict[str, Dict[str, int]]] + Dict mapping cog names, to cog IDs, to custom groups, to + primary key lengths. + + """ + # Backend-agnostic method of migrating from one driver to another. + async for cog_name, cog_id in cls.aiter_cogs(): + this_driver = cls(cog_name, cog_id) + other_driver = new_driver_cls(cog_name, cog_id) + custom_group_data = all_custom_group_data.get(cog_name, {}).get(cog_id, {}) + exported_data = await this_driver.export_data(custom_group_data) + await other_driver.import_data(exported_data, custom_group_data) + + @classmethod + async def delete_all_data(cls, **kwargs) -> None: + """Delete all data being stored by this driver. + + The driver must be initialized before this operation. + + The BaseDriver provides a generic method which may be overriden + by subclasses. + + Parameters + ---------- + **kwargs + Driver-specific kwargs to change the way this method + operates. + + """ + async for cog_name, cog_id in cls.aiter_cogs(): + driver = cls(cog_name, cog_id) + await driver.clear(IdentifierData(cog_name, cog_id, "", (), (), 0)) + + @staticmethod + def _split_primary_key( + category: Union[ConfigCategory, str], + custom_group_data: Dict[str, int], + data: Dict[str, Any], + ) -> List[Tuple[Tuple[str, ...], Dict[str, Any]]]: + pkey_len = ConfigCategory.get_pkey_info(category, custom_group_data)[0] + if pkey_len == 0: + return [((), data)] + + def flatten(levels_remaining, currdata, parent_key=()): + items = [] + for _k, _v in currdata.items(): + new_key = parent_key + (_k,) + if levels_remaining > 1: + items.extend(flatten(levels_remaining - 1, _v, new_key).items()) + else: + items.append((new_key, _v)) + return dict(items) + + ret = [] + for k, v in flatten(pkey_len, data).items(): + ret.append((k, v)) + return ret + + async def export_data( + self, custom_group_data: Dict[str, int] + ) -> List[Tuple[str, Dict[str, Any]]]: + categories = [c.value for c in ConfigCategory] + categories.extend(custom_group_data.keys()) + + ret = [] + for c in categories: + ident_data = IdentifierData( + self.cog_name, + self.unique_cog_identifier, + c, + (), + (), + *ConfigCategory.get_pkey_info(c, custom_group_data), + ) + try: + data = await self.get(ident_data) + except KeyError: + continue + ret.append((c, data)) + return ret + + async def import_data( + self, cog_data: List[Tuple[str, Dict[str, Any]]], custom_group_data: Dict[str, int] + ) -> None: + for category, all_data in cog_data: + splitted_pkey = self._split_primary_key(category, custom_group_data, all_data) + for pkey, data in splitted_pkey: + ident_data = IdentifierData( + self.cog_name, + self.unique_cog_identifier, + category, + pkey, + (), + *ConfigCategory.get_pkey_info(category, custom_group_data), + ) + await self.set(ident_data, data) diff --git a/redbot/core/drivers/red_json.py b/redbot/core/drivers/json.py similarity index 71% rename from redbot/core/drivers/red_json.py rename to redbot/core/drivers/json.py index 54e73e715..bd66c84f1 100644 --- a/redbot/core/drivers/red_json.py +++ b/redbot/core/drivers/json.py @@ -5,12 +5,13 @@ import os import pickle import weakref from pathlib import Path -from typing import Any, Dict +from typing import Any, AsyncIterator, Dict, Optional, Tuple from uuid import uuid4 -from .red_base import BaseDriver, IdentifierData +from .. import data_manager, errors +from .base import BaseDriver, IdentifierData, ConfigCategory -__all__ = ["JSON"] +__all__ = ["JsonDriver"] _shared_datastore = {} @@ -35,9 +36,10 @@ def finalize_driver(cog_name): _finalizers.remove(f) -class JSON(BaseDriver): +# noinspection PyProtectedMember +class JsonDriver(BaseDriver): """ - Subclass of :py:class:`.red_base.BaseDriver`. + Subclass of :py:class:`.BaseDriver`. .. py:attribute:: file_name @@ -50,27 +52,26 @@ class JSON(BaseDriver): def __init__( self, - cog_name, - identifier, + cog_name: str, + identifier: str, *, - data_path_override: Path = None, - file_name_override: str = "settings.json" + data_path_override: Optional[Path] = None, + file_name_override: str = "settings.json", ): super().__init__(cog_name, identifier) self.file_name = file_name_override - if data_path_override: + if data_path_override is not None: self.data_path = data_path_override + elif cog_name == "Core" and identifier == "0": + self.data_path = data_manager.core_data_path() else: - self.data_path = Path.cwd() / "cogs" / ".data" / self.cog_name + self.data_path = data_manager.cog_data_path(raw_name=cog_name) self.data_path.mkdir(parents=True, exist_ok=True) self.data_path = self.data_path / self.file_name self._lock = asyncio.Lock() self._load_data() - async def has_valid_connection(self) -> bool: - return True - @property def data(self): return _shared_datastore.get(self.cog_name) @@ -79,6 +80,21 @@ class JSON(BaseDriver): def data(self, value): _shared_datastore[self.cog_name] = value + @classmethod + async def initialize(cls, **storage_details) -> None: + # No initializing to do + return + + @classmethod + async def teardown(cls) -> None: + # No tearing down to do + return + + @staticmethod + def get_config_details() -> Dict[str, Any]: + # No driver-specific configuration needed + return {} + def _load_data(self): if self.cog_name not in _driver_counts: _driver_counts[self.cog_name] = 0 @@ -111,30 +127,32 @@ class JSON(BaseDriver): async def get(self, identifier_data: IdentifierData): partial = self.data - full_identifiers = identifier_data.to_tuple() + full_identifiers = identifier_data.to_tuple()[1:] for i in full_identifiers: partial = partial[i] return pickle.loads(pickle.dumps(partial, -1)) async def set(self, identifier_data: IdentifierData, value=None): partial = self.data - full_identifiers = identifier_data.to_tuple() + full_identifiers = identifier_data.to_tuple()[1:] # This is both our deepcopy() and our way of making sure this value is actually JSON # serializable. value_copy = json.loads(json.dumps(value)) async with self._lock: for i in full_identifiers[:-1]: - if i not in partial: - partial[i] = {} - partial = partial[i] - partial[full_identifiers[-1]] = value_copy + try: + partial = partial.setdefault(i, {}) + except AttributeError: + # Tried to set sub-field of non-object + raise errors.CannotSetSubfield + partial[full_identifiers[-1]] = value_copy await self._save() async def clear(self, identifier_data: IdentifierData): partial = self.data - full_identifiers = identifier_data.to_tuple() + full_identifiers = identifier_data.to_tuple()[1:] try: for i in full_identifiers[:-1]: partial = partial[i] @@ -149,14 +167,32 @@ class JSON(BaseDriver): else: await self._save() + @classmethod + async def aiter_cogs(cls) -> AsyncIterator[Tuple[str, str]]: + yield "Core", "0" + for _dir in data_manager.cog_data_path().iterdir(): + fpath = _dir / "settings.json" + if not fpath.exists(): + continue + with fpath.open() as f: + try: + data = json.load(f) + except json.JSONDecodeError: + continue + if not isinstance(data, dict): + continue + for cog, inner in data.items(): + if not isinstance(inner, dict): + continue + for cog_id in inner: + yield cog, cog_id + async def import_data(self, cog_data, custom_group_data): def update_write_data(identifier_data: IdentifierData, _data): partial = self.data - idents = identifier_data.to_tuple() + idents = identifier_data.to_tuple()[1:] for ident in idents[:-1]: - if ident not in partial: - partial[ident] = {} - partial = partial[ident] + partial = partial.setdefault(ident, {}) partial[idents[-1]] = _data async with self._lock: @@ -164,12 +200,12 @@ class JSON(BaseDriver): splitted_pkey = self._split_primary_key(category, custom_group_data, all_data) for pkey, data in splitted_pkey: ident_data = IdentifierData( + self.cog_name, self.unique_cog_identifier, category, pkey, (), - custom_group_data, - is_custom=category in custom_group_data, + *ConfigCategory.get_pkey_info(category, custom_group_data), ) update_write_data(ident_data, data) await self._save() @@ -178,9 +214,6 @@ class JSON(BaseDriver): loop = asyncio.get_running_loop() await loop.run_in_executor(None, _save_json, self.data_path, self.data) - def get_config_details(self): - return - def _save_json(path: Path, data: Dict[str, Any]) -> None: """ diff --git a/redbot/core/drivers/log.py b/redbot/core/drivers/log.py new file mode 100644 index 000000000..03b5e8bf8 --- /dev/null +++ b/redbot/core/drivers/log.py @@ -0,0 +1,11 @@ +import functools +import logging +import os + +if os.getenv("RED_INSPECT_DRIVER_QUERIES"): + LOGGING_INVISIBLE = logging.DEBUG +else: + LOGGING_INVISIBLE = 0 + +log = logging.getLogger("red.driver") +log.invisible = functools.partial(log.log, LOGGING_INVISIBLE) diff --git a/redbot/core/drivers/red_mongo.py b/redbot/core/drivers/mongo.py similarity index 64% rename from redbot/core/drivers/red_mongo.py rename to redbot/core/drivers/mongo.py index d500f32db..5d0c5d795 100644 --- a/redbot/core/drivers/red_mongo.py +++ b/redbot/core/drivers/mongo.py @@ -2,77 +2,110 @@ import contextlib import itertools import re from getpass import getpass -from typing import Match, Pattern, Tuple, Any, Dict, Iterator, List +from typing import Match, Pattern, Tuple, Optional, AsyncIterator, Any, Dict, Iterator, List from urllib.parse import quote_plus -import motor.core -import motor.motor_asyncio -import pymongo.errors +try: + # pylint: disable=import-error + import pymongo.errors + import motor.core + import motor.motor_asyncio +except ModuleNotFoundError: + motor = None + pymongo = None -from .red_base import BaseDriver, IdentifierData +from .. import errors +from .base import BaseDriver, IdentifierData -__all__ = ["Mongo"] +__all__ = ["MongoDriver"] -_conn = None - - -def _initialize(**kwargs): - uri = kwargs.get("URI", "mongodb") - host = kwargs["HOST"] - port = kwargs["PORT"] - admin_user = kwargs["USERNAME"] - admin_pass = kwargs["PASSWORD"] - db_name = kwargs.get("DB_NAME", "default_db") - - if port is 0: - ports = "" - else: - ports = ":{}".format(port) - - if admin_user is not None and admin_pass is not None: - url = "{}://{}:{}@{}{}/{}".format( - uri, quote_plus(admin_user), quote_plus(admin_pass), host, ports, db_name - ) - else: - url = "{}://{}{}/{}".format(uri, host, ports, db_name) - - global _conn - _conn = motor.motor_asyncio.AsyncIOMotorClient(url, retryWrites=True) - - -class Mongo(BaseDriver): +class MongoDriver(BaseDriver): """ - Subclass of :py:class:`.red_base.BaseDriver`. + Subclass of :py:class:`.BaseDriver`. """ - def __init__(self, cog_name, identifier, **kwargs): - super().__init__(cog_name, identifier) + _conn: Optional["motor.motor_asyncio.AsyncIOMotorClient"] = None - if _conn is None: - _initialize(**kwargs) + @classmethod + async def initialize(cls, **storage_details) -> None: + if motor is None: + raise errors.MissingExtraRequirements( + "Red must be installed with the [mongo] extra to use the MongoDB driver" + ) + uri = storage_details.get("URI", "mongodb") + host = storage_details["HOST"] + port = storage_details["PORT"] + user = storage_details["USERNAME"] + password = storage_details["PASSWORD"] + database = storage_details.get("DB_NAME", "default_db") - async def has_valid_connection(self) -> bool: - # Maybe fix this? - return True + if port is 0: + ports = "" + else: + ports = ":{}".format(port) + + if user is not None and password is not None: + url = "{}://{}:{}@{}{}/{}".format( + uri, quote_plus(user), quote_plus(password), host, ports, database + ) + else: + url = "{}://{}{}/{}".format(uri, host, ports, database) + + cls._conn = motor.motor_asyncio.AsyncIOMotorClient(url, retryWrites=True) + + @classmethod + async def teardown(cls) -> None: + if cls._conn is not None: + cls._conn.close() + + @staticmethod + def get_config_details(): + while True: + uri = input("Enter URI scheme (mongodb or mongodb+srv): ") + if uri is "": + uri = "mongodb" + + if uri in ["mongodb", "mongodb+srv"]: + break + else: + print("Invalid URI scheme") + + host = input("Enter host address: ") + if uri is "mongodb": + port = int(input("Enter host port: ")) + else: + port = 0 + + admin_uname = input("Enter login username: ") + admin_password = getpass("Enter login password: ") + + db_name = input("Enter mongodb database name: ") + + if admin_uname == "": + admin_uname = admin_password = None + + ret = { + "HOST": host, + "PORT": port, + "USERNAME": admin_uname, + "PASSWORD": admin_password, + "DB_NAME": db_name, + "URI": uri, + } + return ret @property - def db(self) -> motor.core.Database: + def db(self) -> "motor.core.Database": """ Gets the mongo database for this cog's name. - .. warning:: - - Right now this will cause a new connection to be made every time the - database is accessed. We will want to create a connection pool down the - line to limit the number of connections. - :return: PyMongo Database object. """ - return _conn.get_database() + return self._conn.get_database() - def get_collection(self, category: str) -> motor.core.Collection: + def get_collection(self, category: str) -> "motor.core.Collection": """ Gets a specified collection within the PyMongo database for this cog. @@ -85,12 +118,13 @@ class Mongo(BaseDriver): """ return self.db[self.cog_name][category] - def get_primary_key(self, identifier_data: IdentifierData) -> Tuple[str]: + @staticmethod + def get_primary_key(identifier_data: IdentifierData) -> Tuple[str, ...]: # noinspection PyTypeChecker return identifier_data.primary_key async def rebuild_dataset( - self, identifier_data: IdentifierData, cursor: motor.motor_asyncio.AsyncIOMotorCursor + self, identifier_data: IdentifierData, cursor: "motor.motor_asyncio.AsyncIOMotorCursor" ): ret = {} async for doc in cursor: @@ -141,16 +175,16 @@ class Mongo(BaseDriver): async def set(self, identifier_data: IdentifierData, value=None): uuid = self._escape_key(identifier_data.uuid) primary_key = list(map(self._escape_key, self.get_primary_key(identifier_data))) + dot_identifiers = ".".join(map(self._escape_key, identifier_data.identifiers)) if isinstance(value, dict): if len(value) == 0: await self.clear(identifier_data) return value = self._escape_dict_keys(value) mongo_collection = self.get_collection(identifier_data.category) - pkey_len = self.get_pkey_len(identifier_data) num_pkeys = len(primary_key) - if num_pkeys >= pkey_len: + if num_pkeys >= identifier_data.primary_key_len: # We're setting at the document level or below. dot_identifiers = ".".join(map(self._escape_key, identifier_data.identifiers)) if dot_identifiers: @@ -158,11 +192,23 @@ class Mongo(BaseDriver): else: update_stmt = {"$set": value} - await mongo_collection.update_one( - {"_id": {"RED_uuid": uuid, "RED_primary_key": primary_key}}, - update=update_stmt, - upsert=True, - ) + try: + await mongo_collection.update_one( + {"_id": {"RED_uuid": uuid, "RED_primary_key": primary_key}}, + update=update_stmt, + upsert=True, + ) + except pymongo.errors.WriteError as exc: + if exc.args and exc.args[0].startswith("Cannot create field"): + # There's a bit of a failing edge case here... + # If we accidentally set the sub-field of an array, and the key happens to be a + # digit, it will successfully set the value in the array, and not raise an + # error. This is different to how other drivers would behave, and could lead to + # unexpected behaviour. + raise errors.CannotSetSubfield + else: + # Unhandled driver exception, should expose. + raise else: # We're setting above the document level. @@ -171,15 +217,17 @@ class Mongo(BaseDriver): # We'll do it in a transaction so we can roll-back in case something goes horribly # wrong. pkey_filter = self.generate_primary_key_filter(identifier_data) - async with await _conn.start_session() as session: + async with await self._conn.start_session() as session: with contextlib.suppress(pymongo.errors.CollectionInvalid): # Collections must already exist when inserting documents within a transaction - await _conn.get_database().create_collection(mongo_collection.full_name) + await self.db.create_collection(mongo_collection.full_name) try: async with session.start_transaction(): await mongo_collection.delete_many(pkey_filter, session=session) await mongo_collection.insert_many( - self.generate_documents_to_insert(uuid, primary_key, value, pkey_len), + self.generate_documents_to_insert( + uuid, primary_key, value, identifier_data.primary_key_len + ), session=session, ) except pymongo.errors.OperationFailure: @@ -218,7 +266,7 @@ class Mongo(BaseDriver): # What's left of `value` should be the new documents needing to be inserted. to_insert = self.generate_documents_to_insert( - uuid, primary_key, value, pkey_len + uuid, primary_key, value, identifier_data.primary_key_len ) requests = list( itertools.chain( @@ -289,6 +337,59 @@ class Mongo(BaseDriver): for result in results: await db[result["name"]].delete_many(pkey_filter) + @classmethod + async def aiter_cogs(cls) -> AsyncIterator[Tuple[str, str]]: + db = cls._conn.get_database() + for collection_name in await db.list_collection_names(): + parts = collection_name.split(".") + if not len(parts) == 2: + continue + cog_name = parts[0] + for cog_id in await db[collection_name].distinct("_id.RED_uuid"): + yield cog_name, cog_id + + @classmethod + async def delete_all_data( + cls, *, interactive: bool = False, drop_db: Optional[bool] = None, **kwargs + ) -> None: + """Delete all data being stored by this driver. + + Parameters + ---------- + interactive : bool + Set to ``True`` to allow the method to ask the user for + input from the console, regarding the other unset parameters + for this method. + drop_db : Optional[bool] + Set to ``True`` to drop the entire database for the current + bot's instance. Otherwise, collections which appear to be + storing bot data will be dropped. + + """ + if interactive is True and drop_db is None: + print( + "Please choose from one of the following options:\n" + " 1. Drop the entire MongoDB database for this instance, or\n" + " 2. Delete all of Red's data within this database, without dropping the database " + "itself." + ) + options = ("1", "2") + while True: + resp = input("> ") + try: + drop_db = bool(options.index(resp)) + except ValueError: + print("Please type a number corresponding to one of the options.") + else: + break + db = cls._conn.get_database() + if drop_db is True: + await cls._conn.drop_database(db) + else: + async with await cls._conn.start_session() as session: + async for cog_name, cog_id in cls.aiter_cogs(): + await db.drop_collection(db[cog_name], session=session) + @staticmethod def _escape_key(key: str) -> str: return _SPECIAL_CHAR_PATTERN.sub(_replace_with_escaped, key) @@ -344,40 +445,3 @@ _CHAR_ESCAPES = { def _replace_with_unescaped(match: Match[str]) -> str: return _CHAR_ESCAPES[match[0]] - - -def get_config_details(): - uri = None - while True: - uri = input("Enter URI scheme (mongodb or mongodb+srv): ") - if uri is "": - uri = "mongodb" - - if uri in ["mongodb", "mongodb+srv"]: - break - else: - print("Invalid URI scheme") - - host = input("Enter host address: ") - if uri is "mongodb": - port = int(input("Enter host port: ")) - else: - port = 0 - - admin_uname = input("Enter login username: ") - admin_password = getpass("Enter login password: ") - - db_name = input("Enter mongodb database name: ") - - if admin_uname == "": - admin_uname = admin_password = None - - ret = { - "HOST": host, - "PORT": port, - "USERNAME": admin_uname, - "PASSWORD": admin_password, - "DB_NAME": db_name, - "URI": uri, - } - return ret diff --git a/redbot/core/drivers/postgres/__init__.py b/redbot/core/drivers/postgres/__init__.py new file mode 100644 index 000000000..870df18c0 --- /dev/null +++ b/redbot/core/drivers/postgres/__init__.py @@ -0,0 +1,3 @@ +from .postgres import PostgresDriver + +__all__ = ["PostgresDriver"] diff --git a/redbot/core/drivers/postgres/ddl.sql b/redbot/core/drivers/postgres/ddl.sql new file mode 100644 index 000000000..9d1c3c7b0 --- /dev/null +++ b/redbot/core/drivers/postgres/ddl.sql @@ -0,0 +1,839 @@ +/* + ************************************************************ + * PostgreSQL driver Data Definition Language (DDL) Script. * + ************************************************************ + */ + +CREATE SCHEMA IF NOT EXISTS red_config; +CREATE SCHEMA IF NOT EXISTS red_utils; + +DO $$ +BEGIN + PERFORM 'red_config.identifier_data'::regtype; +EXCEPTION + WHEN UNDEFINED_OBJECT THEN + CREATE TYPE red_config.identifier_data AS ( + cog_name text, + cog_id text, + category text, + pkeys text[], + identifiers text[], + pkey_len integer, + is_custom boolean + ); +END; +$$; + + +CREATE OR REPLACE FUNCTION + /* + * Create the config schema and/or table if they do not exist yet. + */ + red_config.maybe_create_table( + id_data red_config.identifier_data + ) + RETURNS void + LANGUAGE 'plpgsql' + AS $$ + DECLARE + schemaname CONSTANT text := concat_ws('.', id_data.cog_name, id_data.cog_id); + schema_exists CONSTANT boolean := exists( + SELECT 1 + FROM red_config.red_cogs t + WHERE t.cog_name = id_data.cog_name AND t.cog_id = id_data.cog_id); + table_exists CONSTANT boolean := schema_exists AND exists( + SELECT 1 + FROM information_schema.tables + WHERE table_schema = schemaname AND table_name = id_data.category); + + BEGIN + IF NOT schema_exists THEN + PERFORM red_config.create_schema(id_data.cog_name, id_data.cog_id); + END IF; + IF NOT table_exists THEN + PERFORM red_config.create_table(id_data); + END IF; + END; +$$; + + +CREATE OR REPLACE FUNCTION + /* + * Create the config schema for the given cog. + */ + red_config.create_schema(new_cog_name text, new_cog_id text, OUT schemaname text) + RETURNS text + LANGUAGE 'plpgsql' + AS $$ + BEGIN + schemaname := concat_ws('.', new_cog_name, new_cog_id); + + EXECUTE format('CREATE SCHEMA IF NOT EXISTS %I', schemaname); + + INSERT INTO red_config.red_cogs AS t VALUES(new_cog_name, new_cog_id, schemaname) + ON CONFLICT(cog_name, cog_id) DO UPDATE + SET + schemaname = excluded.schemaname; + END; +$$; + + +CREATE OR REPLACE FUNCTION + /* + * Create the config table for the given category. + */ + red_config.create_table(id_data red_config.identifier_data) + RETURNS void + LANGUAGE 'plpgsql' + AS $$ + DECLARE + schemaname CONSTANT text := concat_ws('.', id_data.cog_name, id_data.cog_id); + constraintname CONSTANT text := id_data.category||'_pkey'; + pkey_columns CONSTANT text := red_utils.gen_pkey_columns(1, id_data.pkey_len); + pkey_type CONSTANT text := red_utils.get_pkey_type(id_data.is_custom); + pkey_column_definitions CONSTANT text := red_utils.gen_pkey_column_definitions( + 1, id_data.pkey_len, pkey_type); + + BEGIN + EXECUTE format( + $query$ + CREATE TABLE IF NOT EXISTS %I.%I ( + %s, + json_data jsonb DEFAULT '{}' NOT NULL, + CONSTRAINT %I PRIMARY KEY (%s) + ) + $query$, + schemaname, + id_data.category, + pkey_column_definitions, + constraintname, + pkey_columns); + END; +$$; + + +CREATE OR REPLACE FUNCTION + /* + * Get config data. + * + * - When `pkeys` is a full primary key, all or part of a document + * will be returned. + * - When `pkeys` is not a full primary key, documents will be + * aggregated together into a single JSONB object, with primary keys + * as keys mapping to the documents. + */ + red_config.get( + id_data red_config.identifier_data, + OUT result jsonb + ) + LANGUAGE 'plpgsql' + STABLE + PARALLEL SAFE + AS $$ + DECLARE + schemaname CONSTANT text := concat_ws('.', id_data.cog_name, id_data.cog_id); + num_pkeys CONSTANT integer := coalesce(array_length(id_data.pkeys, 1), 0); + num_missing_pkeys CONSTANT integer := id_data.pkey_len - num_pkeys; + pkey_type CONSTANT text := red_utils.get_pkey_type(id_data.is_custom); + whereclause CONSTANT text := red_utils.gen_whereclause(num_pkeys, pkey_type); + + missing_pkey_columns text; + + BEGIN + IF num_missing_pkeys <= 0 THEN + -- No missing primary keys: we're getting all or part of a document. + EXECUTE format( + 'SELECT json_data #> $2 FROM %I.%I WHERE %s', + schemaname, + id_data.category, + whereclause) + INTO result + USING id_data.pkeys, id_data.identifiers; + + ELSIF num_missing_pkeys = 1 THEN + -- 1 missing primary key: we can use the built-in jsonb_object_agg() aggregate function. + EXECUTE format( + 'SELECT jsonb_object_agg(%I::text, json_data) FROM %I.%I WHERE %s', + 'primary_key_'||id_data.pkey_len, + schemaname, + id_data.category, + whereclause) + INTO result + USING id_data.pkeys; + ELSE + -- Multiple missing primary keys: we must use our custom red_utils.jsonb_object_agg2() + -- aggregate function. + missing_pkey_columns := red_utils.gen_pkey_columns_casted(num_pkeys + 1, id_data.pkey_len); + + EXECUTE format( + 'SELECT red_utils.jsonb_object_agg2(json_data, %s) FROM %I.%I WHERE %s', + missing_pkey_columns, + schemaname, + id_data.category, + whereclause) + INTO result + USING id_data.pkeys; + END IF; + END; +$$; + + +CREATE OR REPLACE FUNCTION + /* + * Set config data. + * + * - When `pkeys` is a full primary key, all or part of a document + * will be set. + * - When `pkeys` is not a full set, multiple documents will be + * replaced or removed - `new_value` must be a JSONB object mapping + * primary keys to the new documents. + * + * Raises `error_in_assignment` error when trying to set a sub-key + * of a non-document type. + */ + red_config.set( + id_data red_config.identifier_data, + new_value jsonb + ) + RETURNS void + LANGUAGE 'plpgsql' + AS $$ + DECLARE + schemaname CONSTANT text := concat_ws('.', id_data.cog_name, id_data.cog_id); + constraintname CONSTANT text := id_data.category||'_pkey'; + num_pkeys CONSTANT integer := coalesce(array_length(id_data.pkeys, 1), 0); + num_missing_pkeys CONSTANT integer := id_data.pkey_len - num_pkeys; + pkey_type CONSTANT text := red_utils.get_pkey_type(id_data.is_custom); + pkey_placeholders CONSTANT text := red_utils.gen_pkey_placeholders(num_pkeys, pkey_type); + + new_document jsonb; + pkey_column_definitions text; + whereclause text; + missing_pkey_columns text; + + BEGIN + PERFORM red_config.maybe_create_table(id_data); + + IF num_missing_pkeys = 0 THEN + -- Setting all or part of a document + new_document := red_utils.jsonb_set2('{}', new_value, VARIADIC id_data.identifiers); + + EXECUTE format( + $query$ + INSERT INTO %I.%I AS t VALUES (%s, $2) + ON CONFLICT ON CONSTRAINT %I DO UPDATE + SET + json_data = red_utils.jsonb_set2(t.json_data, $3, VARIADIC $4) + $query$, + schemaname, + id_data.category, + pkey_placeholders, + constraintname) + USING id_data.pkeys, new_document, new_value, id_data.identifiers; + + ELSE + -- Setting multiple documents + whereclause := red_utils.gen_whereclause(num_pkeys, pkey_type); + missing_pkey_columns := red_utils.gen_pkey_columns_casted( + num_pkeys + 1, id_data.pkey_len, pkey_type); + pkey_column_definitions := red_utils.gen_pkey_column_definitions(num_pkeys + 1, id_data.pkey_len); + + -- Delete all documents which we're setting first, since we don't know whether they'll be + -- replaced by the subsequent INSERT. + EXECUTE format('DELETE FROM %I.%I WHERE %s', schemaname, id_data.category, whereclause) + USING id_data.pkeys; + + -- Insert all new documents + EXECUTE format( + $query$ + INSERT INTO %I.%I AS t + SELECT %s, json_data + FROM red_utils.generate_rows_from_object($2, $3) AS f(%s, json_data jsonb) + ON CONFLICT ON CONSTRAINT %I DO UPDATE + SET + json_data = excluded.json_data + $query$, + schemaname, + id_data.category, + concat_ws(', ', pkey_placeholders, missing_pkey_columns), + pkey_column_definitions, + constraintname) + USING id_data.pkeys, new_value, num_missing_pkeys; + END IF; + END; +$$; + + +CREATE OR REPLACE FUNCTION + /* + * Clear config data. + * + * - When `identifiers` is not empty, this will clear a key from a + * document. + * - When `identifiers` is empty and `pkeys` is not empty, it will + * delete one or more documents. + * - When `pkeys` is empty, it will drop the whole table. + * - When `id_data.category` is NULL or an empty string, it will drop + * the whole schema. + * + * Has no effect when the document or key does not exist. + */ + red_config.clear( + id_data red_config.identifier_data + ) + RETURNS void + LANGUAGE 'plpgsql' + AS $$ + DECLARE + schemaname CONSTANT text := concat_ws('.', id_data.cog_name, id_data.cog_id); + num_pkeys CONSTANT integer := coalesce(array_length(id_data.pkeys, 1), 0); + num_identifiers CONSTANT integer := coalesce(array_length(id_data.identifiers, 1), 0); + pkey_type CONSTANT text := red_utils.get_pkey_type(id_data.is_custom); + + whereclause text; + + BEGIN + IF num_identifiers > 0 THEN + -- Popping a key from a document or nested document. + whereclause := red_utils.gen_whereclause(num_pkeys, pkey_type); + + EXECUTE format( + $query$ + UPDATE %I.%I AS t + SET + json_data = t.json_data #- $2 + WHERE %s + $query$, + schemaname, + id_data.category, + whereclause) + USING id_data.pkeys, id_data.identifiers; + + ELSIF num_pkeys > 0 THEN + -- Deleting one or many documents + whereclause := red_utils.gen_whereclause(num_pkeys, pkey_type); + + EXECUTE format('DELETE FROM %I.%I WHERE %s', schemaname, id_data.category, whereclause) + USING id_data.pkeys; + + ELSIF id_data.category IS NOT NULL AND id_data.category != '' THEN + -- Deleting an entire category + EXECUTE format('DROP TABLE %I.%I CASCADE', schemaname, id_data.category); + + ELSE + -- Deleting an entire cog's data + EXECUTE format('DROP SCHEMA %I CASCADE', schemaname); + + DELETE FROM red_config.red_cogs + WHERE cog_name = id_data.cog_name AND cog_id = id_data.cog_id; + END IF; + END; +$$; + + +CREATE OR REPLACE FUNCTION + /* + * Increment a number within a document. + * + * If the value doesn't already exist, it is inserted as + * `default_value + amount`. + * + * Raises 'wrong_object_type' error when trying to increment a + * non-numeric value. + */ + red_config.inc( + id_data red_config.identifier_data, + amount numeric, + default_value numeric, + OUT result numeric + ) + LANGUAGE 'plpgsql' + AS $$ + DECLARE + schemaname CONSTANT text := concat_ws('.', id_data.cog_name, id_data.cog_id); + num_identifiers CONSTANT integer := coalesce(array_length(id_data.identifiers, 1), 0); + pkey_type CONSTANT text := red_utils.get_pkey_type(id_data.is_custom); + whereclause CONSTANT text := red_utils.gen_whereclause(id_data.pkey_len, pkey_type); + + new_document jsonb; + existing_document jsonb; + existing_value jsonb; + pkey_placeholders text; + + BEGIN + IF num_identifiers = 0 THEN + -- Without identifiers, there's no chance we're actually incrementing a number + RAISE EXCEPTION 'Cannot increment document(s)' + USING ERRCODE = 'wrong_object_type'; + END IF; + + PERFORM red_config.maybe_create_table(id_data); + + -- Look for the existing document + EXECUTE format( + 'SELECT json_data FROM %I.%I WHERE %s', + schemaname, + id_data.category, + whereclause) + INTO existing_document USING id_data.pkeys; + + IF existing_document IS NULL THEN + -- We need to insert a new document + result := default_value + amount; + new_document := red_utils.jsonb_set2('{}', result, VARIADIC id_data.identifiers); + pkey_placeholders := red_utils.gen_pkey_placeholders(id_data.pkey_len, pkey_type); + + EXECUTE format( + 'INSERT INTO %I.%I VALUES(%s, $2)', + schemaname, + id_data.category, + pkey_placeholders) + USING id_data.pkeys, new_document; + + ELSE + -- We need to update the existing document + existing_value := existing_document #> id_data.identifiers; + + IF existing_value IS NULL THEN + result := default_value + amount; + + ELSIF jsonb_typeof(existing_value) = 'number' THEN + result := existing_value::text::numeric + amount; + + ELSE + RAISE EXCEPTION 'Cannot increment non-numeric value %', existing_value + USING ERRCODE = 'wrong_object_type'; + END IF; + + new_document := red_utils.jsonb_set2( + existing_document, to_jsonb(result), id_data.identifiers); + + EXECUTE format( + 'UPDATE %I.%I SET json_data = $2 WHERE %s', + schemaname, + id_data.category, + whereclause) + USING id_data.pkeys, new_document; + END IF; + END; +$$; + + +CREATE OR REPLACE FUNCTION + /* + * Toggle a boolean within a document. + * + * If the value doesn't already exist, it is inserted as `NOT + * default_value`. + * + * Raises 'wrong_object_type' error when trying to toggle a + * non-boolean value. + */ + red_config.toggle( + id_data red_config.identifier_data, + default_value boolean, + OUT result boolean + ) + LANGUAGE 'plpgsql' + AS $$ + DECLARE + schemaname CONSTANT text := concat_ws('.', id_data.cog_name, id_data.cog_id); + num_identifiers CONSTANT integer := coalesce(array_length(id_data.identifiers, 1), 0); + pkey_type CONSTANT text := red_utils.get_pkey_type(id_data.is_custom); + whereclause CONSTANT text := red_utils.gen_whereclause(id_data.pkey_len, pkey_type); + + new_document jsonb; + existing_document jsonb; + existing_value jsonb; + pkey_placeholders text; + + BEGIN + IF num_identifiers = 0 THEN + -- Without identifiers, there's no chance we're actually toggling a boolean + RAISE EXCEPTION 'Cannot increment document(s)' + USING ERRCODE = 'wrong_object_type'; + END IF; + + PERFORM red_config.maybe_create_table(id_data); + + -- Look for the existing document + EXECUTE format( + 'SELECT json_data FROM %I.%I WHERE %s', + schemaname, + id_data.category, + whereclause) + INTO existing_document USING id_data.pkeys; + + IF existing_document IS NULL THEN + -- We need to insert a new document + result := NOT default_value; + new_document := red_utils.jsonb_set2('{}', result, VARIADIC id_data.identifiers); + pkey_placeholders := red_utils.gen_pkey_placeholders(id_data.pkey_len, pkey_type); + + EXECUTE format( + 'INSERT INTO %I.%I VALUES(%s, $2)', + schemaname, + id_data.category, + pkey_placeholders) + USING id_data.pkeys, new_document; + + ELSE + -- We need to update the existing document + existing_value := existing_document #> id_data.identifiers; + + IF existing_value IS NULL THEN + result := NOT default_value; + + ELSIF jsonb_typeof(existing_value) = 'boolean' THEN + result := NOT existing_value::text::boolean; + + ELSE + RAISE EXCEPTION 'Cannot increment non-boolean value %', existing_value + USING ERRCODE = 'wrong_object_type'; + END IF; + + new_document := red_utils.jsonb_set2( + existing_document, to_jsonb(result), id_data.identifiers); + + EXECUTE format( + 'UPDATE %I.%I SET json_data = $2 WHERE %s', + schemaname, + id_data.category, + whereclause) + USING id_data.pkeys, new_document; + END IF; + END; +$$; + + +CREATE OR REPLACE FUNCTION + red_config.extend( + id_data red_config.identifier_data, + new_value text, + default_value text, + max_length integer DEFAULT NULL, + extend_left boolean DEFAULT FALSE, + OUT result jsonb + ) + LANGUAGE 'plpgsql' + AS $$ + DECLARE + schemaname CONSTANT text := concat_ws('.', id_data.cog_name, id_data.cog_id); + num_identifiers CONSTANT integer := coalesce(array_length(id_data.identifiers, 1), 0); + pkey_type CONSTANT text := red_utils.get_pkey_type(id_data.is_custom); + whereclause CONSTANT text := red_utils.gen_whereclause(id_data.pkey_len, pkey_type); + pop_idx CONSTANT integer := CASE extend_left WHEN TRUE THEN -1 ELSE 0 END; + + new_document jsonb; + existing_document jsonb; + existing_value jsonb; + pkey_placeholders text; + idx integer; + BEGIN + IF num_identifiers = 0 THEN + -- Without identifiers, there's no chance we're actually appending to an array + RAISE EXCEPTION 'Cannot append to document(s)' + USING ERRCODE = 'wrong_object_type'; + END IF; + + PERFORM red_config.maybe_create_table(id_data); + + -- Look for the existing document + EXECUTE format( + 'SELECT json_data FROM %I.%I WHERE %s', + schemaname, + id_data.category, + whereclause) + INTO existing_document USING id_data.pkeys; + + IF existing_document IS NULL THEN + result := default_value || new_value; + new_document := red_utils.jsonb_set2('{}'::jsonb, result, id_data.identifiers); + pkey_placeholders := red_utils.gen_pkey_placeholders(id_data.pkey_len, pkey_type); + + EXECUTE format( + 'INSERT INTO %I.%I VALUES(%s, $2)', + schemaname, + id_data.category, + pkey_placeholders) + USING id_data.pkeys, new_document; + + ELSE + existing_value := existing_document #> id_data.identifiers; + + IF existing_value IS NULL THEN + existing_value := default_value; + + ELSIF jsonb_typeof(existing_value) != 'array' THEN + RAISE EXCEPTION 'Cannot append to non-array value %', existing_value + USING ERRCODE = 'wrong_object_type'; + END IF; + + CASE extend_left + WHEN TRUE THEN + result := new_value || existing_value; + ELSE + result := existing_value || new_value; + END CASE; + + IF max_length IS NOT NULL THEN + FOR idx IN SELECT generate_series(1, jsonb_array_length(result) - max_length) LOOP + result := result - pop_idx; + END LOOP; + END IF; + + new_document := red_utils.jsonb_set2(existing_document, result, id_data.identifiers); + + EXECUTE format( + 'UPDATE %I.%I SET json_data = $2 WHERE %s', + schemaname, + id_data.category, + whereclause) + USING id_data.pkeys, new_document; + END IF; + END; +$$; + + +CREATE OR REPLACE FUNCTION + /* + * Delete all schemas listed in the red_config.red_cogs table. + */ + red_config.delete_all_schemas() + RETURNS void + LANGUAGE 'plpgsql' + AS $$ + DECLARE + cog_entry record; + BEGIN + FOR cog_entry IN SELECT * FROM red_config.red_cogs t LOOP + EXECUTE format('DROP SCHEMA %I CASCADE', cog_entry.schemaname); + END LOOP; + -- Clear out red_config.red_cogs table + DELETE FROM red_config.red_cogs WHERE TRUE; + END; +$$; + + + +CREATE OR REPLACE FUNCTION + /* + * Like `jsonb_set` but will insert new objects where one is missing + * along the path. + * + * Raises `error_in_assignment` error when trying to set a sub-key + * of a non-document type. + */ + red_utils.jsonb_set2(target jsonb, new_value jsonb, VARIADIC identifiers text[]) + RETURNS jsonb + LANGUAGE 'plpgsql' + IMMUTABLE + PARALLEL SAFE + AS $$ + DECLARE + num_identifiers CONSTANT integer := coalesce(array_length(identifiers, 1), 0); + + cur_value_type text; + idx integer; + + BEGIN + IF num_identifiers = 0 THEN + RETURN new_value; + END IF; + + FOR idx IN SELECT generate_series(1, num_identifiers - 1) LOOP + cur_value_type := jsonb_typeof(target #> identifiers[:idx]); + IF cur_value_type IS NULL THEN + -- Parent key didn't exist in JSON before - insert new object + target := jsonb_set(target, identifiers[:idx], '{}'::jsonb); + + ELSIF cur_value_type != 'object' THEN + -- We can't set the sub-field of a null, int, float, array etc. + RAISE EXCEPTION 'Cannot set sub-field of "%s"', cur_value_type + USING ERRCODE = 'error_in_assignment'; + END IF; + END LOOP; + + RETURN jsonb_set(target, identifiers, new_value); + END; +$$; + + +CREATE OR REPLACE FUNCTION + /* + * Return a set of rows to insert into a table, from a single JSONB + * object containing multiple documents. + */ + red_utils.generate_rows_from_object(object jsonb, num_missing_pkeys integer) + RETURNS setof record + LANGUAGE 'plpgsql' + IMMUTABLE + PARALLEL SAFE + AS $$ + DECLARE + pair record; + column_definitions text; + BEGIN + IF num_missing_pkeys = 1 THEN + -- Base case: Simply return (key, value) pairs + RETURN QUERY + SELECT key AS key_1, value AS json_data + FROM jsonb_each(object); + ELSE + -- We need to return (key, key, ..., value) pairs: recurse into inner JSONB objects + column_definitions := red_utils.gen_pkey_column_definitions(2, num_missing_pkeys); + + FOR pair IN SELECT * FROM jsonb_each(object) LOOP + RETURN QUERY + EXECUTE format( + $query$ + SELECT $1 AS key_1, * + FROM red_utils.generate_rows_from_object($2, $3) + AS f(%s, json_data jsonb) + $query$, + column_definitions) + USING pair.key, pair.value, num_missing_pkeys - 1; + END LOOP; + END IF; + RETURN; + END; +$$; + + +CREATE OR REPLACE FUNCTION + /* + * Get a comma-separated list of primary key placeholders. + * + * The placeholder will always be $1. Particularly useful for + * inserting values into a table from an array of primary keys. + */ + red_utils.gen_pkey_placeholders(num_pkeys integer, pkey_type text DEFAULT 'text') + RETURNS text + LANGUAGE 'sql' + IMMUTABLE + PARALLEL SAFE + AS $$ + SELECT string_agg(t.item, ', ') + FROM ( + SELECT format('$1[%s]::%s', idx, pkey_type) AS item + FROM generate_series(1, num_pkeys) idx) t + ; +$$; + +CREATE OR REPLACE FUNCTION + /* + * Generate a whereclause for the given number of primary keys. + * + * When there are no primary keys, this will simply return the the + * string 'TRUE'. When there are multiple, it will return multiple + * equality comparisons concatenated with 'AND'. + */ + red_utils.gen_whereclause(num_pkeys integer, pkey_type text) + RETURNS text + LANGUAGE 'sql' + IMMUTABLE + PARALLEL SAFE + AS $$ + SELECT coalesce(string_agg(t.item, ' AND '), 'TRUE') + FROM ( + SELECT format('%I = $1[%s]::%s', 'primary_key_'||idx, idx, pkey_type) AS item + FROM generate_series(1, num_pkeys) idx) t + ; +$$; + +CREATE OR REPLACE FUNCTION + /* + * Generate a comma-separated list of primary key column names. + */ + red_utils.gen_pkey_columns(start integer, stop integer) + RETURNS text + LANGUAGE 'sql' + IMMUTABLE + PARALLEL SAFE + AS $$ + SELECT string_agg(t.item, ', ') + FROM ( + SELECT quote_ident('primary_key_'||idx) AS item + FROM generate_series(start, stop) idx) t + ; +$$; + +CREATE OR REPLACE FUNCTION + /* + * Generate a comma-separated list of primary key column names casted + * to the given type. + */ + red_utils.gen_pkey_columns_casted(start integer, stop integer, pkey_type text DEFAULT 'text') + RETURNS text + LANGUAGE 'sql' + IMMUTABLE + PARALLEL SAFE + AS $$ + SELECT string_agg(t.item, ', ') + FROM ( + SELECT format('%I::%s', 'primary_key_'||idx, pkey_type) AS item + FROM generate_series(start, stop) idx) t + ; +$$; + + +CREATE OR REPLACE FUNCTION + /* + * Generate a primary key column definition list. + */ + red_utils.gen_pkey_column_definitions( + start integer, stop integer, column_type text DEFAULT 'text' + ) + RETURNS text + LANGUAGE 'sql' + IMMUTABLE + PARALLEL SAFE + AS $$ + SELECT string_agg(t.item, ', ') + FROM ( + SELECT format('%I %s', 'primary_key_'||idx, column_type) AS item + FROM generate_series(start, stop) idx) t + ; +$$; + + +CREATE OR REPLACE FUNCTION + red_utils.get_pkey_type(is_custom boolean) + RETURNS TEXT + LANGUAGE 'sql' + IMMUTABLE + PARALLEL SAFE + AS $$ + SELECT ('{bigint,text}'::text[])[is_custom::integer + 1]; +$$; + + +DROP AGGREGATE IF EXISTS red_utils.jsonb_object_agg2(jsonb, VARIADIC text[]); +CREATE AGGREGATE + /* + * Like `jsonb_object_agg` but aggregates more than two columns into a + * single JSONB object. + * + * If possible, use `jsonb_object_agg` instead for performance + * reasons. + */ + red_utils.jsonb_object_agg2(json_data jsonb, VARIADIC primary_keys text[]) ( + SFUNC = red_utils.jsonb_set2, + STYPE = jsonb, + INITCOND = '{}', + PARALLEL = SAFE + ) +; + + +CREATE TABLE IF NOT EXISTS + /* + * Table to keep track of other cogs' schemas. + */ + red_config.red_cogs( + cog_name text, + cog_id text, + schemaname text NOT NULL, + PRIMARY KEY (cog_name, cog_id) +) +; diff --git a/redbot/core/drivers/postgres/drop_ddl.sql b/redbot/core/drivers/postgres/drop_ddl.sql new file mode 100644 index 000000000..8587446d0 --- /dev/null +++ b/redbot/core/drivers/postgres/drop_ddl.sql @@ -0,0 +1,3 @@ +SELECT red_config.delete_all_schemas(); +DROP SCHEMA IF EXISTS red_config CASCADE; +DROP SCHEMA IF EXISTS red_utils CASCADE; diff --git a/redbot/core/drivers/postgres/postgres.py b/redbot/core/drivers/postgres/postgres.py new file mode 100644 index 000000000..926052b05 --- /dev/null +++ b/redbot/core/drivers/postgres/postgres.py @@ -0,0 +1,255 @@ +import getpass +import json +import sys +from pathlib import Path +from typing import Optional, Any, AsyncIterator, Tuple, Union, Callable, List + +try: + # pylint: disable=import-error + import asyncpg +except ModuleNotFoundError: + asyncpg = None + +from ... import data_manager, errors +from ..base import BaseDriver, IdentifierData, ConfigCategory +from ..log import log + +__all__ = ["PostgresDriver"] + +_PKG_PATH = Path(__file__).parent +DDL_SCRIPT_PATH = _PKG_PATH / "ddl.sql" +DROP_DDL_SCRIPT_PATH = _PKG_PATH / "drop_ddl.sql" + + +def encode_identifier_data( + id_data: IdentifierData +) -> Tuple[str, str, str, List[str], List[str], int, bool]: + return ( + id_data.cog_name, + id_data.uuid, + id_data.category, + ["0"] if id_data.category == ConfigCategory.GLOBAL else list(id_data.primary_key), + list(id_data.identifiers), + 1 if id_data.category == ConfigCategory.GLOBAL else id_data.primary_key_len, + id_data.is_custom, + ) + + +class PostgresDriver(BaseDriver): + + _pool: Optional["asyncpg.pool.Pool"] = None + + @classmethod + async def initialize(cls, **storage_details) -> None: + if asyncpg is None: + raise errors.MissingExtraRequirements( + "Red must be installed with the [postgres] extra to use the PostgreSQL driver" + ) + cls._pool = await asyncpg.create_pool(**storage_details) + with DDL_SCRIPT_PATH.open() as fs: + await cls._pool.execute(fs.read()) + + @classmethod + async def teardown(cls) -> None: + if cls._pool is not None: + await cls._pool.close() + + @staticmethod + def get_config_details(): + unixmsg = ( + "" + if sys.platform != "win32" + else ( + " - Common directories for PostgreSQL Unix-domain sockets (/run/postgresql, " + "/var/run/postgresl, /var/pgsql_socket, /private/tmp, and /tmp),\n" + ) + ) + host = ( + input( + f"Enter the PostgreSQL server's address.\n" + f"If left blank, Red will try the following, in order:\n" + f" - The PGHOST environment variable,\n{unixmsg}" + f" - localhost.\n" + f"> " + ) + or None + ) + + print( + "Enter the PostgreSQL server port.\n" + "If left blank, this will default to either:\n" + " - The PGPORT environment variable,\n" + " - 5432." + ) + while True: + port = input("> ") or None + if port is None: + break + + try: + port = int(port) + except ValueError: + print("Port must be a number") + else: + break + + user = ( + input( + "Enter the PostgreSQL server username.\n" + "If left blank, this will default to either:\n" + " - The PGUSER environment variable,\n" + " - The OS name of the user running Red (ident/peer authentication).\n" + "> " + ) + or None + ) + + passfile = r"%APPDATA%\postgresql\pgpass.conf" if sys.platform != "win32" else "~/.pgpass" + password = getpass.getpass( + f"Enter the PostgreSQL server password. The input will be hidden.\n" + f" NOTE: If using ident/peer authentication (no password), enter NONE.\n" + f"When NONE is entered, this will default to:\n" + f" - The PGPASSWORD environment variable,\n" + f" - Looking up the password in the {passfile} passfile,\n" + f" - No password.\n" + f"> " + ) + if password == "NONE": + password = None + + database = ( + input( + "Enter the PostgreSQL database's name.\n" + "If left blank, this will default to either:\n" + " - The PGDATABASE environment variable,\n" + " - The OS name of the user running Red.\n" + "> " + ) + or None + ) + + return { + "host": host, + "port": port, + "user": user, + "password": password, + "database": database, + } + + async def get(self, identifier_data: IdentifierData): + try: + result = await self._execute( + "SELECT red_config.get($1)", + encode_identifier_data(identifier_data), + method=self._pool.fetchval, + ) + except asyncpg.UndefinedTableError: + raise KeyError from None + + if result is None: + # The result is None both when postgres yields no results, or when it yields a NULL row + # A 'null' JSON value would be returned as encoded JSON, i.e. the string 'null' + raise KeyError + return json.loads(result) + + async def set(self, identifier_data: IdentifierData, value=None): + try: + await self._execute( + "SELECT red_config.set($1, $2::jsonb)", + encode_identifier_data(identifier_data), + json.dumps(value), + ) + except asyncpg.ErrorInAssignmentError: + raise errors.CannotSetSubfield + + async def clear(self, identifier_data: IdentifierData): + try: + await self._execute( + "SELECT red_config.clear($1)", encode_identifier_data(identifier_data) + ) + except asyncpg.UndefinedTableError: + pass + + async def inc( + self, identifier_data: IdentifierData, value: Union[int, float], default: Union[int, float] + ) -> Union[int, float]: + try: + return await self._execute( + f"SELECT red_config.inc($1, $2, $3)", + encode_identifier_data(identifier_data), + value, + default, + method=self._pool.fetchval, + ) + except asyncpg.WrongObjectTypeError as exc: + raise errors.StoredTypeError(*exc.args) + + async def toggle(self, identifier_data: IdentifierData, default: bool) -> bool: + try: + return await self._execute( + "SELECT red_config.inc($1, $2)", + encode_identifier_data(identifier_data), + default, + method=self._pool.fetchval, + ) + except asyncpg.WrongObjectTypeError as exc: + raise errors.StoredTypeError(*exc.args) + + @classmethod + async def aiter_cogs(cls) -> AsyncIterator[Tuple[str, str]]: + query = "SELECT cog_name, cog_id FROM red_config.red_cogs" + log.invisible(query) + async with cls._pool.acquire() as conn, conn.transaction(): + async for row in conn.cursor(query): + yield row["cog_name"], row["cog_id"] + + @classmethod + async def delete_all_data( + cls, *, interactive: bool = False, drop_db: Optional[bool] = None, **kwargs + ) -> None: + """Delete all data being stored by this driver. + + Parameters + ---------- + interactive : bool + Set to ``True`` to allow the method to ask the user for + input from the console, regarding the other unset parameters + for this method. + drop_db : Optional[bool] + Set to ``True`` to drop the entire database for the current + bot's instance. Otherwise, schemas within the database which + store bot data will be dropped, as well as functions, + aggregates, event triggers, and meta-tables. + + """ + if interactive is True and drop_db is None: + print( + "Please choose from one of the following options:\n" + " 1. Drop the entire PostgreSQL database for this instance, or\n" + " 2. Delete all of Red's data within this database, without dropping the database " + "itself." + ) + options = ("1", "2") + while True: + resp = input("> ") + try: + drop_db = bool(options.index(resp)) + except ValueError: + print("Please type a number corresponding to one of the options.") + else: + break + if drop_db is True: + storage_details = data_manager.storage_details() + await cls._pool.execute(f"DROP DATABASE $1", storage_details["database"]) + else: + with DROP_DDL_SCRIPT_PATH.open() as fs: + await cls._pool.execute(fs.read()) + + @classmethod + async def _execute(cls, query: str, *args, method: Optional[Callable] = None) -> Any: + if method is None: + method = cls._pool.execute + log.invisible("Query: %s", query) + if args: + log.invisible("Args: %s", args) + return await method(query, *args) diff --git a/redbot/core/drivers/red_base.py b/redbot/core/drivers/red_base.py deleted file mode 100644 index de28b1b9a..000000000 --- a/redbot/core/drivers/red_base.py +++ /dev/null @@ -1,233 +0,0 @@ -import enum -from typing import Tuple - -__all__ = ["BaseDriver", "IdentifierData"] - - -class ConfigCategory(enum.Enum): - GLOBAL = "GLOBAL" - GUILD = "GUILD" - CHANNEL = "TEXTCHANNEL" - ROLE = "ROLE" - USER = "USER" - MEMBER = "MEMBER" - - -class IdentifierData: - def __init__( - self, - uuid: str, - category: str, - primary_key: Tuple[str, ...], - identifiers: Tuple[str, ...], - custom_group_data: dict, - is_custom: bool = False, - ): - self._uuid = uuid - self._category = category - self._primary_key = primary_key - self._identifiers = identifiers - self.custom_group_data = custom_group_data - self._is_custom = is_custom - - @property - def uuid(self): - return self._uuid - - @property - def category(self): - return self._category - - @property - def primary_key(self): - return self._primary_key - - @property - def identifiers(self): - return self._identifiers - - @property - def is_custom(self): - return self._is_custom - - def __repr__(self): - return ( - f"" - ) - - def __eq__(self, other) -> bool: - if not isinstance(other, IdentifierData): - return False - return ( - self.uuid == other.uuid - and self.category == other.category - and self.primary_key == other.primary_key - and self.identifiers == other.identifiers - ) - - def __hash__(self) -> int: - return hash((self.uuid, self.category, self.primary_key, self.identifiers)) - - def add_identifier(self, *identifier: str) -> "IdentifierData": - if not all(isinstance(i, str) for i in identifier): - raise ValueError("Identifiers must be strings.") - - return IdentifierData( - self.uuid, - self.category, - self.primary_key, - self.identifiers + identifier, - self.custom_group_data, - is_custom=self.is_custom, - ) - - def to_tuple(self): - return tuple( - item - for item in (self.uuid, self.category, *self.primary_key, *self.identifiers) - if len(item) > 0 - ) - - -class BaseDriver: - def __init__(self, cog_name, identifier): - self.cog_name = cog_name - self.unique_cog_identifier = identifier - - async def has_valid_connection(self) -> bool: - raise NotImplementedError - - async def get(self, identifier_data: IdentifierData): - """ - Finds the value indicate by the given identifiers. - - Parameters - ---------- - identifier_data - - Returns - ------- - Any - Stored value. - """ - raise NotImplementedError - - def get_config_details(self): - """ - Asks users for additional configuration information necessary - to use this config driver. - - Returns - ------- - Dict of configuration details. - """ - raise NotImplementedError - - async def set(self, identifier_data: IdentifierData, value=None): - """ - Sets the value of the key indicated by the given identifiers. - - Parameters - ---------- - identifier_data - value - Any JSON serializable python object. - """ - raise NotImplementedError - - async def clear(self, identifier_data: IdentifierData): - """ - Clears out the value specified by the given identifiers. - - Equivalent to using ``del`` on a dict. - - Parameters - ---------- - identifier_data - """ - raise NotImplementedError - - def _get_levels(self, category, custom_group_data): - if category == ConfigCategory.GLOBAL.value: - return 0 - elif category in ( - ConfigCategory.USER.value, - ConfigCategory.GUILD.value, - ConfigCategory.CHANNEL.value, - ConfigCategory.ROLE.value, - ): - return 1 - elif category == ConfigCategory.MEMBER.value: - return 2 - elif category in custom_group_data: - return custom_group_data[category] - else: - raise RuntimeError(f"Cannot convert due to group: {category}") - - def _split_primary_key(self, category, custom_group_data, data): - levels = self._get_levels(category, custom_group_data) - if levels == 0: - return (((), data),) - - def flatten(levels_remaining, currdata, parent_key=()): - items = [] - for k, v in currdata.items(): - new_key = parent_key + (k,) - if levels_remaining > 1: - items.extend(flatten(levels_remaining - 1, v, new_key).items()) - else: - items.append((new_key, v)) - return dict(items) - - ret = [] - for k, v in flatten(levels, data).items(): - ret.append((k, v)) - return tuple(ret) - - async def export_data(self, custom_group_data): - categories = [c.value for c in ConfigCategory] - categories.extend(custom_group_data.keys()) - - ret = [] - for c in categories: - ident_data = IdentifierData( - self.unique_cog_identifier, - c, - (), - (), - custom_group_data, - is_custom=c in custom_group_data, - ) - try: - data = await self.get(ident_data) - except KeyError: - continue - ret.append((c, data)) - return ret - - async def import_data(self, cog_data, custom_group_data): - for category, all_data in cog_data: - splitted_pkey = self._split_primary_key(category, custom_group_data, all_data) - for pkey, data in splitted_pkey: - ident_data = IdentifierData( - self.unique_cog_identifier, - category, - pkey, - (), - custom_group_data, - is_custom=category in custom_group_data, - ) - await self.set(ident_data, data) - - @staticmethod - def get_pkey_len(identifier_data: IdentifierData) -> int: - cat = identifier_data.category - if cat == ConfigCategory.GLOBAL.value: - return 0 - elif cat == ConfigCategory.MEMBER.value: - return 2 - elif identifier_data.is_custom: - return identifier_data.custom_group_data[cat] - else: - return 1 diff --git a/redbot/core/errors.py b/redbot/core/errors.py index a67097dc0..5bd7f4fa2 100644 --- a/redbot/core/errors.py +++ b/redbot/core/errors.py @@ -1,5 +1,4 @@ import importlib.machinery -from typing import Optional import discord @@ -49,3 +48,37 @@ class BalanceTooHigh(BankError, OverflowError): return _("{user}'s balance cannot rise above {max:,} {currency}.").format( user=self.user, max=self.max_balance, currency=self.currency_name ) + + +class MissingExtraRequirements(RedError): + """Raised when an extra requirement is missing but required.""" + + +class ConfigError(RedError): + """Error in a Config operation.""" + + +class StoredTypeError(ConfigError, TypeError): + """A TypeError pertaining to stored Config data. + + This error may arise when, for example, trying to increment a value + which is not a number, or trying to toggle a value which is not a + boolean. + """ + + +class CannotSetSubfield(StoredTypeError): + """Tried to set sub-field of an invalid data structure. + + This would occur in the following example:: + + >>> import asyncio + >>> from redbot.core import Config + >>> config = Config.get_conf(None, 1234, cog_name="Example") + >>> async def example(): + ... await config.foo.set(True) + ... await config.set_raw("foo", "bar", False) # Should raise here + ... + >>> asyncio.run(example()) + + """ diff --git a/redbot/core/utils/__init__.py b/redbot/core/utils/__init__.py index 4dc805109..96a44c515 100644 --- a/redbot/core/utils/__init__.py +++ b/redbot/core/utils/__init__.py @@ -1,7 +1,9 @@ import asyncio +import json import logging import os import shutil +import tarfile from asyncio import AbstractEventLoop, as_completed, Semaphore from asyncio.futures import isfuture from itertools import chain @@ -24,8 +26,10 @@ from typing import ( ) import discord +from datetime import datetime from fuzzywuzzy import fuzz, process +from .. import commands, data_manager from .chat_formatting import box if TYPE_CHECKING: @@ -37,6 +41,7 @@ __all__ = [ "fuzzy_command_search", "format_fuzzy_results", "deduplicate_iterables", + "create_backup", ] _T = TypeVar("_T") @@ -397,3 +402,45 @@ def bounded_gather( tasks = (_sem_wrapper(semaphore, task) for task in coros_or_futures) return asyncio.gather(*tasks, loop=loop, return_exceptions=return_exceptions) + + +async def create_backup(dest: Path = Path.home()) -> Optional[Path]: + data_path = Path(data_manager.core_data_path().parent) + if not data_path.exists(): + return + + dest.mkdir(parents=True, exist_ok=True) + timestr = datetime.utcnow().isoformat(timespec="minutes") + backup_fpath = dest / f"redv3_{data_manager.instance_name}_{timestr}.tar.gz" + + to_backup = [] + exclusions = [ + "__pycache__", + "Lavalink.jar", + os.path.join("Downloader", "lib"), + os.path.join("CogManager", "cogs"), + os.path.join("RepoManager", "repos"), + ] + + # Avoiding circular imports + from ...cogs.downloader.repo_manager import RepoManager + + repo_mgr = RepoManager() + await repo_mgr.initialize() + repo_output = [] + for _, repo in repo_mgr._repos: + repo_output.append({"url": repo.url, "name": repo.name, "branch": repo.branch}) + repos_file = data_path / "cogs" / "RepoManager" / "repos.json" + with repos_file.open("w") as fs: + json.dump(repo_output, fs, indent=4) + instance_file = data_path / "instance.json" + with instance_file.open("w") as fs: + json.dump({data_manager.instance_name: data_manager.basic_config}, fs, indent=4) + for f in data_path.glob("**/*"): + if not any(ex in str(f) for ex in exclusions) and f.is_file(): + to_backup.append(f) + + with tarfile.open(str(backup_fpath), "w:gz") as tar: + for f in to_backup: + tar.add(str(f), arcname=f.relative_to(data_path), recursive=False) + return backup_fpath diff --git a/redbot/core/utils/tunnel.py b/redbot/core/utils/tunnel.py index bae10b04c..e1655ee78 100644 --- a/redbot/core/utils/tunnel.py +++ b/redbot/core/utils/tunnel.py @@ -89,7 +89,7 @@ class Tunnel(metaclass=TunnelMeta): destination: discord.abc.Messageable, content: str = None, embed=None, - files: Optional[List[discord.File]] = None + files: Optional[List[discord.File]] = None, ) -> List[discord.Message]: """ This does the actual sending, use this instead of a full tunnel diff --git a/redbot/pytest/core.py b/redbot/pytest/core.py index f22ce931d..b839d0732 100644 --- a/redbot/pytest/core.py +++ b/redbot/pytest/core.py @@ -7,15 +7,13 @@ import pytest from _pytest.monkeypatch import MonkeyPatch from redbot.core import Config from redbot.core.bot import Red -from redbot.core import config as config_module - -from redbot.core.drivers import red_json +from redbot.core import config as config_module, drivers __all__ = [ "monkeysession", "override_data_path", "coroutine", - "json_driver", + "driver", "config", "config_fr", "red", @@ -56,34 +54,31 @@ def coroutine(): @pytest.fixture() -def json_driver(tmpdir_factory): +def driver(tmpdir_factory): import uuid rand = str(uuid.uuid4()) path = Path(str(tmpdir_factory.mktemp(rand))) - driver = red_json.JSON("PyTest", identifier=str(uuid.uuid4()), data_path_override=path) - return driver + return drivers.get_driver("PyTest", str(random.randint(1, 999999)), data_path_override=path) @pytest.fixture() -def config(json_driver): +def config(driver): config_module._config_cache = weakref.WeakValueDictionary() - conf = Config( - cog_name="PyTest", unique_identifier=json_driver.unique_cog_identifier, driver=json_driver - ) + conf = Config(cog_name="PyTest", unique_identifier=driver.unique_cog_identifier, driver=driver) yield conf @pytest.fixture() -def config_fr(json_driver): +def config_fr(driver): """ Mocked config object with force_register enabled. """ config_module._config_cache = weakref.WeakValueDictionary() conf = Config( cog_name="PyTest", - unique_identifier=json_driver.unique_cog_identifier, - driver=json_driver, + unique_identifier=driver.unique_cog_identifier, + driver=driver, force_registration=True, ) yield conf @@ -176,7 +171,7 @@ def red(config_fr): Config.get_core_conf = lambda *args, **kwargs: config_fr - red = Red(cli_flags=cli_flags, description=description, dm_help=None) + red = Red(cli_flags=cli_flags, description=description, dm_help=None, owner_id=None) yield red diff --git a/redbot/setup.py b/redbot/setup.py index 797cbd841..0edaa6b32 100644 --- a/redbot/setup.py +++ b/redbot/setup.py @@ -1,32 +1,21 @@ #!/usr/bin/env python3 import asyncio import json +import logging import os import sys -import tarfile from copy import deepcopy -from datetime import datetime as dt from pathlib import Path -import logging +from typing import Dict, Any, Optional import appdirs import click import redbot.logging from redbot.core.cli import confirm -from redbot.core.data_manager import ( - basic_config_default, - load_basic_configuration, - instance_name, - basic_config, - cog_data_path, - core_data_path, - storage_details, -) -from redbot.core.utils import safe_delete -from redbot.core import Config +from redbot.core.utils import safe_delete, create_backup as _create_backup +from redbot.core import config, data_manager, drivers from redbot.core.drivers import BackendType, IdentifierData -from redbot.core.drivers.red_json import JSON conversion_log = logging.getLogger("red.converter") @@ -61,11 +50,11 @@ else: def save_config(name, data, remove=False): - config = load_existing_config() - if remove and name in config: - config.pop(name) + _config = load_existing_config() + if remove and name in _config: + _config.pop(name) else: - if name in config: + if name in _config: print( "WARNING: An instance already exists with this name. " "Continuing will overwrite the existing instance config." @@ -73,10 +62,10 @@ def save_config(name, data, remove=False): if not confirm("Are you absolutely certain you want to continue (y/n)? "): print("Not continuing") sys.exit(0) - config[name] = data + _config[name] = data with config_file.open("w", encoding="utf-8") as fs: - json.dump(config, fs, indent=4) + json.dump(_config, fs, indent=4) def get_data_dir(): @@ -118,13 +107,14 @@ def get_data_dir(): def get_storage_type(): - storage_dict = {1: "JSON", 2: "MongoDB"} + storage_dict = {1: "JSON", 2: "MongoDB", 3: "PostgreSQL"} storage = None while storage is None: print() print("Please choose your storage backend (if you're unsure, choose 1).") print("1. JSON (file storage, requires no database).") print("2. MongoDB") + print("3. PostgreSQL") storage = input("> ") try: storage = int(storage) @@ -158,21 +148,16 @@ def basic_setup(): default_data_dir = get_data_dir() - default_dirs = deepcopy(basic_config_default) + default_dirs = deepcopy(data_manager.basic_config_default) default_dirs["DATA_PATH"] = str(default_data_dir.resolve()) storage = get_storage_type() - storage_dict = {1: BackendType.JSON, 2: BackendType.MONGO} + storage_dict = {1: BackendType.JSON, 2: BackendType.MONGO, 3: BackendType.POSTGRES} storage_type: BackendType = storage_dict.get(storage, BackendType.JSON) default_dirs["STORAGE_TYPE"] = storage_type.value - - if storage_type == BackendType.MONGO: - from redbot.core.drivers.red_mongo import get_config_details - - default_dirs["STORAGE_DETAILS"] = get_config_details() - else: - default_dirs["STORAGE_DETAILS"] = {} + driver_cls = drivers.get_driver_class(storage_type) + default_dirs["STORAGE_DETAILS"] = driver_cls.get_config_details() name = get_name() save_config(name, default_dirs) @@ -193,130 +178,38 @@ def get_target_backend(backend) -> BackendType: return BackendType.JSON elif backend == "mongo": return BackendType.MONGO + elif backend == "postgres": + return BackendType.POSTGRES -async def json_to_mongov2(instance): - instance_vals = instance_data[instance] - current_data_dir = Path(instance_vals["DATA_PATH"]) +async def do_migration( + current_backend: BackendType, target_backend: BackendType +) -> Dict[str, Any]: + cur_driver_cls = drivers.get_driver_class(current_backend) + new_driver_cls = drivers.get_driver_class(target_backend) + cur_storage_details = data_manager.storage_details() + new_storage_details = new_driver_cls.get_config_details() - load_basic_configuration(instance) + await cur_driver_cls.initialize(**cur_storage_details) + await new_driver_cls.initialize(**new_storage_details) - from redbot.core.drivers import red_mongo + await config.migrate(cur_driver_cls, new_driver_cls) - storage_details = red_mongo.get_config_details() + await cur_driver_cls.teardown() + await new_driver_cls.teardown() - core_conf = Config.get_core_conf() - new_driver = red_mongo.Mongo(cog_name="Core", identifier="0", **storage_details) - - core_conf.init_custom("CUSTOM_GROUPS", 2) - custom_group_data = await core_conf.custom("CUSTOM_GROUPS").all() - - curr_custom_data = custom_group_data.get("Core", {}).get("0", {}) - exported_data = await core_conf.driver.export_data(curr_custom_data) - conversion_log.info("Starting Core conversion...") - await new_driver.import_data(exported_data, curr_custom_data) - conversion_log.info("Core conversion complete.") - - for p in current_data_dir.glob("cogs/**/settings.json"): - cog_name = p.parent.stem - if "." in cog_name: - # Garbage handler - continue - with p.open(mode="r", encoding="utf-8") as f: - cog_data = json.load(f) - for identifier, all_data in cog_data.items(): - try: - conf = Config.get_conf(None, int(identifier), cog_name=cog_name) - except ValueError: - continue - new_driver = red_mongo.Mongo( - cog_name=cog_name, identifier=conf.driver.unique_cog_identifier, **storage_details - ) - - curr_custom_data = custom_group_data.get(cog_name, {}).get(identifier, {}) - - exported_data = await conf.driver.export_data(curr_custom_data) - conversion_log.info(f"Converting {cog_name} with identifier {identifier}...") - await new_driver.import_data(exported_data, curr_custom_data) - - conversion_log.info("Cog conversion complete.") - - return storage_details + return new_storage_details -async def mongov2_to_json(instance): - load_basic_configuration(instance) - - core_path = core_data_path() - - from redbot.core.drivers import red_json - - core_conf = Config.get_core_conf() - new_driver = red_json.JSON(cog_name="Core", identifier="0", data_path_override=core_path) - - core_conf.init_custom("CUSTOM_GROUPS", 2) - custom_group_data = await core_conf.custom("CUSTOM_GROUPS").all() - - curr_custom_data = custom_group_data.get("Core", {}).get("0", {}) - exported_data = await core_conf.driver.export_data(curr_custom_data) - conversion_log.info("Starting Core conversion...") - await new_driver.import_data(exported_data, curr_custom_data) - conversion_log.info("Core conversion complete.") - - collection_names = await core_conf.driver.db.list_collection_names() - splitted_names = list( - filter( - lambda elem: elem[1] != "" and elem[0] != "Core", - [n.split(".") for n in collection_names], - ) - ) - - ident_map = {} # Cogname: idents list - for cog_name, category in splitted_names: - if cog_name not in ident_map: - ident_map[cog_name] = set() - - idents = await core_conf.driver.db[cog_name][category].distinct("_id.RED_uuid") - ident_map[cog_name].update(set(idents)) - - for cog_name, idents in ident_map.items(): - for identifier in idents: - curr_custom_data = custom_group_data.get(cog_name, {}).get(identifier, {}) - try: - conf = Config.get_conf(None, int(identifier), cog_name=cog_name) - except ValueError: - continue - exported_data = await conf.driver.export_data(curr_custom_data) - - new_path = cog_data_path(raw_name=cog_name) - new_driver = red_json.JSON(cog_name, identifier, data_path_override=new_path) - conversion_log.info(f"Converting {cog_name} with identifier {identifier}...") - await new_driver.import_data(exported_data, curr_custom_data) - - # cog_data_path(raw_name=cog_name) - - conversion_log.info("Cog conversion complete.") - - return {} - - -async def mongo_to_json(instance): - load_basic_configuration(instance) - - from redbot.core.drivers.red_mongo import Mongo - - m = Mongo("Core", "0", **storage_details()) +async def mongov1_to_json() -> Dict[str, Any]: + await drivers.MongoDriver.initialize(**data_manager.storage_details()) + m = drivers.MongoDriver("Core", "0") db = m.db collection_names = await db.list_collection_names() for collection_name in collection_names: if "." in collection_name: # Fix for one of Zeph's problems continue - elif collection_name == "Core": - c_data_path = core_data_path() - else: - c_data_path = cog_data_path(raw_name=collection_name) - c_data_path.mkdir(parents=True, exist_ok=True) # Every cog name has its own collection collection = db[collection_name] async for document in collection.find(): @@ -329,16 +222,22 @@ async def mongo_to_json(instance): continue elif not str(cog_id).isdigit(): continue - driver = JSON(collection_name, cog_id, data_path_override=c_data_path) + driver = drivers.JsonDriver(collection_name, cog_id) for category, value in document.items(): - ident_data = IdentifierData(str(cog_id), category, (), (), {}) + ident_data = IdentifierData( + str(collection_name), str(cog_id), category, tuple(), tuple(), 0 + ) await driver.set(ident_data, value=value) + + conversion_log.info("Cog conversion complete.") + await drivers.MongoDriver.teardown() + return {} async def edit_instance(): - instance_list = load_existing_config() - if not instance_list: + _instance_list = load_existing_config() + if not _instance_list: print("No instances have been set up!") return @@ -346,18 +245,18 @@ async def edit_instance(): "You have chosen to edit an instance. The following " "is a list of instances that currently exist:\n" ) - for instance in instance_list.keys(): + for instance in _instance_list.keys(): print("{}\n".format(instance)) print("Please select one of the above by entering its name") selected = input("> ") - if selected not in instance_list.keys(): + if selected not in _instance_list.keys(): print("That isn't a valid instance!") return - instance_data = instance_list[selected] - default_dirs = deepcopy(basic_config_default) + _instance_data = _instance_list[selected] + default_dirs = deepcopy(data_manager.basic_config_default) - current_data_dir = Path(instance_data["DATA_PATH"]) + current_data_dir = Path(_instance_data["DATA_PATH"]) print("You have selected '{}' as the instance to modify.".format(selected)) if not confirm("Please confirm (y/n):"): print("Ok, we will not continue then.") @@ -383,68 +282,47 @@ async def edit_instance(): print("Your basic configuration has been edited") -async def create_backup(instance): - instance_vals = instance_data[instance] - if confirm("Would you like to make a backup of the data for this instance? (y/n)"): - load_basic_configuration(instance) - if instance_vals["STORAGE_TYPE"] == "MongoDB": - await mongo_to_json(instance) - print("Backing up the instance's data...") - backup_filename = "redv3-{}-{}.tar.gz".format( - instance, dt.utcnow().strftime("%Y-%m-%d %H-%M-%S") - ) - pth = Path(instance_vals["DATA_PATH"]) - if pth.exists(): - backup_pth = pth.home() - backup_file = backup_pth / backup_filename - - to_backup = [] - exclusions = [ - "__pycache__", - "Lavalink.jar", - os.path.join("Downloader", "lib"), - os.path.join("CogManager", "cogs"), - os.path.join("RepoManager", "repos"), - ] - from redbot.cogs.downloader.repo_manager import RepoManager - - repo_mgr = RepoManager() - await repo_mgr.initialize() - repo_output = [] - for repo in repo_mgr._repos.values(): - repo_output.append({"url": repo.url, "name": repo.name, "branch": repo.branch}) - repo_filename = pth / "cogs" / "RepoManager" / "repos.json" - with open(str(repo_filename), "w") as f: - f.write(json.dumps(repo_output, indent=4)) - instance_vals = {instance_name: basic_config} - instance_file = pth / "instance.json" - with open(str(instance_file), "w") as instance_out: - instance_out.write(json.dumps(instance_vals, indent=4)) - for f in pth.glob("**/*"): - if not any(ex in str(f) for ex in exclusions): - to_backup.append(f) - with tarfile.open(str(backup_file), "w:gz") as tar: - for f in to_backup: - tar.add(str(f), recursive=False) - print("A backup of {} has been made. It is at {}".format(instance, backup_file)) - - -async def remove_instance(instance): - await create_backup(instance) - - instance_vals = instance_data[instance] - if instance_vals["STORAGE_TYPE"] == "MongoDB": - from redbot.core.drivers.red_mongo import Mongo - - m = Mongo("Core", **instance_vals["STORAGE_DETAILS"]) - db = m.db - collections = await db.collection_names(include_system_collections=False) - for name in collections: - collection = await db.get_collection(name) - await collection.drop() +async def create_backup(instance: str) -> None: + data_manager.load_basic_configuration(instance) + backend_type = get_current_backend(instance) + if backend_type == BackendType.MONGOV1: + await mongov1_to_json() + elif backend_type != BackendType.JSON: + await do_migration(backend_type, BackendType.JSON) + print("Backing up the instance's data...") + backup_fpath = await _create_backup() + if backup_fpath is not None: + print(f"A backup of {instance} has been made. It is at {backup_fpath}") else: - pth = Path(instance_vals["DATA_PATH"]) - safe_delete(pth) + print("Creating the backup failed.") + + +async def remove_instance( + instance, + interactive: bool = False, + drop_db: Optional[bool] = None, + remove_datapath: Optional[bool] = None, +): + data_manager.load_basic_configuration(instance) + + if confirm("Would you like to make a backup of the data for this instance? (y/n)"): + await create_backup(instance) + + backend = get_current_backend(instance) + if backend == BackendType.MONGOV1: + driver_cls = drivers.MongoDriver + else: + driver_cls = drivers.get_driver_class(backend) + + await driver_cls.delete_all_data(interactive=interactive, drop_db=drop_db) + + if interactive is True and remove_datapath is None: + remove_datapath = confirm("Would you like to delete the instance's entire datapath? (y/n)") + + if remove_datapath is True: + data_path = data_manager.core_data_path().parent + safe_delete(data_path) + save_config(instance, {}, remove=True) print("The instance {} has been removed\n".format(instance)) @@ -467,8 +345,7 @@ async def remove_instance_interaction(): print("That isn't a valid instance!") return - await create_backup(selected) - await remove_instance(selected) + await remove_instance(selected, interactive=True) @click.group(invoke_without_command=True) @@ -483,38 +360,56 @@ def cli(ctx, debug): @cli.command() @click.argument("instance", type=click.Choice(instance_list)) -def delete(instance): +@click.option("--no-prompt", default=False, help="Don't ask for user input during the process.") +@click.option( + "--drop-db", + type=bool, + default=None, + help=( + "Drop the entire database constaining this instance's data. Has no effect on JSON " + "instances. If this option and --no-prompt are omitted, you will be asked about this." + ), +) +@click.option( + "--remove-datapath", + type=bool, + default=None, + help=( + "Remove this entire instance's datapath. If this option and --no-prompt are omitted, you " + "will be asked about this." + ), +) +def delete(instance: str, no_prompt: Optional[bool], drop_db: Optional[bool]): loop = asyncio.get_event_loop() - loop.run_until_complete(remove_instance(instance)) + if no_prompt is None: + interactive = None + else: + interactive = not no_prompt + loop.run_until_complete(remove_instance(instance, interactive, drop_db)) @cli.command() @click.argument("instance", type=click.Choice(instance_list)) -@click.argument("backend", type=click.Choice(["json", "mongo"])) +@click.argument("backend", type=click.Choice(["json", "mongo", "postgres"])) def convert(instance, backend): current_backend = get_current_backend(instance) target = get_target_backend(backend) + data_manager.load_basic_configuration(instance) - default_dirs = deepcopy(basic_config_default) + default_dirs = deepcopy(data_manager.basic_config_default) default_dirs["DATA_PATH"] = str(Path(instance_data[instance]["DATA_PATH"])) loop = asyncio.get_event_loop() - new_storage_details = None - if current_backend == BackendType.MONGOV1: - if target == BackendType.MONGO: + if target == BackendType.JSON: + new_storage_details = loop.run_until_complete(mongov1_to_json()) + else: raise RuntimeError( "Please see conversion docs for updating to the latest mongo version." ) - elif target == BackendType.JSON: - new_storage_details = loop.run_until_complete(mongo_to_json(instance)) - elif current_backend == BackendType.JSON: - if target == BackendType.MONGO: - new_storage_details = loop.run_until_complete(json_to_mongov2(instance)) - elif current_backend == BackendType.MONGO: - if target == BackendType.JSON: - new_storage_details = loop.run_until_complete(mongov2_to_json(instance)) + else: + new_storage_details = loop.run_until_complete(do_migration(current_backend, target)) if new_storage_details is not None: default_dirs["STORAGE_TYPE"] = target.value @@ -522,7 +417,9 @@ def convert(instance, backend): save_config(instance, default_dirs) conversion_log.info(f"Conversion to {target} complete.") else: - conversion_log.info(f"Cannot convert {current_backend} to {target} at this time.") + conversion_log.info( + f"Cannot convert {current_backend.value} to {target.value} at this time." + ) if __name__ == "__main__": diff --git a/setup.cfg b/setup.cfg index 399c55186..76acee512 100644 --- a/setup.cfg +++ b/setup.cfg @@ -80,6 +80,8 @@ mongo = dnspython==1.16.0 motor==2.0.0 pymongo==3.8.0 +postgres = + asyncpg==0.18.3 style = black==19.3b0 toml==0.10.0 @@ -123,3 +125,5 @@ include = **/locales/*.po data/* data/**/* +redbot.core.drivers.postgres = + *.sql diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 000000000..11d03fb88 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,45 @@ +import asyncio +import os + +import pytest + +from redbot.core import drivers, data_manager + + +@pytest.fixture(scope="session") +def event_loop(request): + """Create an instance of the default event loop for entire session.""" + loop = asyncio.get_event_loop_policy().new_event_loop() + yield loop + loop.close() + + +def _get_backend_type(): + if os.getenv("RED_STORAGE_TYPE") == "postgres": + return drivers.BackendType.POSTGRES + elif os.getenv("RED_STORAGE_TYPE") == "mongo": + return drivers.BackendType.MONGO + else: + return drivers.BackendType.JSON + + +@pytest.fixture(scope="session", autouse=True) +async def _setup_driver(): + backend_type = _get_backend_type() + if backend_type == drivers.BackendType.MONGO: + storage_details = { + "URI": os.getenv("RED_MONGO_URI", "mongodb"), + "HOST": os.getenv("RED_MONGO_HOST", "localhost"), + "PORT": int(os.getenv("RED_MONGO_PORT", "27017")), + "USERNAME": os.getenv("RED_MONGO_USER", "red"), + "PASSWORD": os.getenv("RED_MONGO_PASSWORD", "red"), + "DB_NAME": os.getenv("RED_MONGO_DATABASE", "red_db"), + } + else: + storage_details = {} + data_manager.storage_type = lambda: backend_type.value + data_manager.storage_details = lambda: storage_details + driver_cls = drivers.get_driver_class(backend_type) + await driver_cls.initialize(**storage_details) + yield + await driver_cls.teardown() diff --git a/tools/dev-requirements.txt b/tools/dev-requirements.txt index dbacdc621..ab52d3e8f 100644 --- a/tools/dev-requirements.txt +++ b/tools/dev-requirements.txt @@ -1,3 +1,3 @@ packaging tox --e .[docs,mongo,style,test] +-e .[docs,mongo,postgres,style,test] diff --git a/tools/primary_deps.ini b/tools/primary_deps.ini index 390920480..bd6e8819a 100644 --- a/tools/primary_deps.ini +++ b/tools/primary_deps.ini @@ -34,6 +34,8 @@ docs = mongo = dnspython motor +postgres = + asyncpg style = black test = diff --git a/tox.ini b/tox.ini index 965ea3e99..599d53eb1 100644 --- a/tox.ini +++ b/tox.ini @@ -15,12 +15,47 @@ description = Run tests and basic automatic issue checking. whitelist_externals = pytest pylint -extras = voice, test, mongo +extras = voice, test commands = python -m compileall ./redbot/cogs pytest pylint ./redbot +[testenv:postgres] +description = Run pytest with PostgreSQL backend +whitelist_externals = + pytest +extras = voice, test, postgres +setenv = + RED_STORAGE_TYPE=postgres +passenv = + # Use the following env vars for connection options, or other default options described here: + # https://magicstack.github.io/asyncpg/current/index.html#asyncpg.connection.connect + PGHOST + PGPORT + PGUSER + PGPASSWORD + PGDATABASE +commands = + pytest + +[testenv:mongo] +description = Run pytest with MongoDB backend +whitelist_externals = + pytest +extras = voice, test, mongo +setenv = + RED_STORAGE_TYPE=mongo +passenv = + RED_MONGO_URI + RED_MONGO_HOST + RED_MONGO_PORT + RED_MONGO_USER + RED_MONGO_PASSWORD + RED_MONGO_DATABASE +commands = + pytest + [testenv:docs] description = Attempt to build docs with sphinx-build whitelist_externals = From 326c53d6c4ca41afa7491660f93ba91d91f1cb7f Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Tue, 27 Aug 2019 14:25:05 +1000 Subject: [PATCH 118/183] Quick fix for postgres config details prompt (#2951) Signed-off-by: Toby Harradine --- redbot/core/drivers/postgres/postgres.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/redbot/core/drivers/postgres/postgres.py b/redbot/core/drivers/postgres/postgres.py index 926052b05..f46b64298 100644 --- a/redbot/core/drivers/postgres/postgres.py +++ b/redbot/core/drivers/postgres/postgres.py @@ -58,7 +58,7 @@ class PostgresDriver(BaseDriver): def get_config_details(): unixmsg = ( "" - if sys.platform != "win32" + if sys.platform == "win32" else ( " - Common directories for PostgreSQL Unix-domain sockets (/run/postgresql, " "/var/run/postgresl, /var/pgsql_socket, /private/tmp, and /tmp),\n" @@ -104,7 +104,7 @@ class PostgresDriver(BaseDriver): or None ) - passfile = r"%APPDATA%\postgresql\pgpass.conf" if sys.platform != "win32" else "~/.pgpass" + passfile = r"%APPDATA%\postgresql\pgpass.conf" if sys.platform == "win32" else "~/.pgpass" password = getpass.getpass( f"Enter the PostgreSQL server password. The input will be hidden.\n" f" NOTE: If using ident/peer authentication (no password), enter NONE.\n" From 0d16e2707060f2d6cd57fc3dcf0c02258551b5df Mon Sep 17 00:00:00 2001 From: DevilXD Date: Tue, 27 Aug 2019 10:34:44 +0200 Subject: [PATCH 119/183] Changed category from bugfix to misc --- changelog.d/{2924.bugfix.rst => 2924.misc.rst} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename changelog.d/{2924.bugfix.rst => 2924.misc.rst} (100%) diff --git a/changelog.d/2924.bugfix.rst b/changelog.d/2924.misc.rst similarity index 100% rename from changelog.d/2924.bugfix.rst rename to changelog.d/2924.misc.rst From 0c773134f21b1211910fb682cc965ed3b6971387 Mon Sep 17 00:00:00 2001 From: DiscordLiz <47602820+DiscordLiz@users.noreply.github.com> Date: Tue, 27 Aug 2019 09:27:24 -0400 Subject: [PATCH 120/183] [Mod] Fix modset deletedelay (#2943) * [Mod] Fix modset deletedelay fixes #2942 * Style guide fix --- changelog.d/mod/2924.fix.rst | 1 + redbot/cogs/mod/movetocore.py | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 changelog.d/mod/2924.fix.rst diff --git a/changelog.d/mod/2924.fix.rst b/changelog.d/mod/2924.fix.rst new file mode 100644 index 000000000..38dce73f7 --- /dev/null +++ b/changelog.d/mod/2924.fix.rst @@ -0,0 +1 @@ +``modset deletedelay`` doesn't delete non-commands. \ No newline at end of file diff --git a/redbot/cogs/mod/movetocore.py b/redbot/cogs/mod/movetocore.py index 35fae7b1c..e358cc742 100644 --- a/redbot/cogs/mod/movetocore.py +++ b/redbot/cogs/mod/movetocore.py @@ -21,10 +21,12 @@ class MoveToCore(MixinMeta): async def on_command_completion(self, ctx: commands.Context): await self._delete_delay(ctx) - # noinspection PyUnusedLocal @commands.Cog.listener() - async def on_command_error(self, ctx: commands.Context, error): - await self._delete_delay(ctx) + async def on_command_error(self, ctx: commands.Context, error: Exception): + # Every message which isn't a command but which + # starts with a bot prefix is dispatched as a command error + if not isinstance(error, commands.CommandNotFound): + await self._delete_delay(ctx) async def _delete_delay(self, ctx: commands.Context): """Currently used for: From 68018c924ef16604368419e3234b5090e9589157 Mon Sep 17 00:00:00 2001 From: Michael H Date: Tue, 27 Aug 2019 12:38:56 -0400 Subject: [PATCH 121/183] [Economy] House always wins in slots (#2875) * [Economy] House always wins in slots - Expected payout is negative - No flat increase payouts, all payouts are multiplicative * actually do math properly * UX + Changelog * How the hell did I mess that up?! --- changelog.d/2875.enhance.rst | 1 + redbot/cogs/economy/economy.py | 39 +++++++++++++++++++--------------- 2 files changed, 23 insertions(+), 17 deletions(-) create mode 100644 changelog.d/2875.enhance.rst diff --git a/changelog.d/2875.enhance.rst b/changelog.d/2875.enhance.rst new file mode 100644 index 000000000..79ae6a859 --- /dev/null +++ b/changelog.d/2875.enhance.rst @@ -0,0 +1 @@ +Slots now has a 62.5% expected payout and won't inflate economy when spammed. \ No newline at end of file diff --git a/redbot/cogs/economy/economy.py b/redbot/cogs/economy/economy.py index 8626c5bb7..468935deb 100644 --- a/redbot/cogs/economy/economy.py +++ b/redbot/cogs/economy/economy.py @@ -38,40 +38,43 @@ class SMReel(Enum): _ = lambda s: s PAYOUTS = { (SMReel.two, SMReel.two, SMReel.six): { - "payout": lambda x: x * 2500 + x, - "phrase": _("JACKPOT! 226! Your bid has been multiplied * 2500!"), + "payout": lambda x: x * 50, + "phrase": _("JACKPOT! 226! Your bid has been multiplied * 50!"), }, (SMReel.flc, SMReel.flc, SMReel.flc): { - "payout": lambda x: x + 1000, - "phrase": _("4LC! +1000!"), + "payout": lambda x: x * 25, + "phrase": _("4LC! Your bid has been multiplied * 25!"), }, (SMReel.cherries, SMReel.cherries, SMReel.cherries): { - "payout": lambda x: x + 800, - "phrase": _("Three cherries! +800!"), + "payout": lambda x: x * 20, + "phrase": _("Three cherries! Your bid has been multiplied * 20!"), }, (SMReel.two, SMReel.six): { - "payout": lambda x: x * 4 + x, + "payout": lambda x: x * 4, "phrase": _("2 6! Your bid has been multiplied * 4!"), }, (SMReel.cherries, SMReel.cherries): { - "payout": lambda x: x * 3 + x, + "payout": lambda x: x * 3, "phrase": _("Two cherries! Your bid has been multiplied * 3!"), }, - "3 symbols": {"payout": lambda x: x + 500, "phrase": _("Three symbols! +500!")}, + "3 symbols": { + "payout": lambda x: x * 10, + "phrase": _("Three symbols! Your bid has been multiplied * 10!"), + }, "2 symbols": { - "payout": lambda x: x * 2 + x, + "payout": lambda x: x * 2, "phrase": _("Two consecutive symbols! Your bid has been multiplied * 2!"), }, } SLOT_PAYOUTS_MSG = _( "Slot machine payouts:\n" - "{two.value} {two.value} {six.value} Bet * 2500\n" - "{flc.value} {flc.value} {flc.value} +1000\n" - "{cherries.value} {cherries.value} {cherries.value} +800\n" + "{two.value} {two.value} {six.value} Bet * 50\n" + "{flc.value} {flc.value} {flc.value} Bet * 25\n" + "{cherries.value} {cherries.value} {cherries.value} Bet * 20\n" "{two.value} {six.value} Bet * 4\n" "{cherries.value} {cherries.value} Bet * 3\n\n" - "Three symbols: +500\n" + "Three symbols: Bet * 10\n" "Two symbols: Bet * 2" ).format(**SMReel.__dict__) _ = T_ @@ -485,6 +488,7 @@ class Economy(commands.Cog): elif has_two: payout = PAYOUTS["2 symbols"] + pay = 0 if payout: then = await bank.get_balance(author) pay = payout["payout"](bid) @@ -513,15 +517,16 @@ class Economy(commands.Cog): await channel.send( ( "{slot}\n{author.mention} {phrase}\n\n" - + _("Your bid: {amount}") - + "\n{old_balance} → {new_balance}!" + + _("Your bid: {bid}") + + _("\n{old_balance} - {bid} (Your bid) + {pay} (Winnings) → {new_balance}!") ).format( slot=slot, author=author, phrase=phrase, - amount=bid, + bid=bid, old_balance=then, new_balance=now, + pay=pay, ) ) From 2056f9f8d086d95a84fe04b5b132620e1dc22a35 Mon Sep 17 00:00:00 2001 From: Draper <27962761+Drapersniper@users.noreply.github.com> Date: Tue, 27 Aug 2019 17:40:11 +0100 Subject: [PATCH 122/183] [Bank] Check recipient balance before completing transfer (#2925) * Fixed `[p]local start` Playlist picker auto selects if theres just 1 playlist found `[p]queue cleanself` added Signed-off-by: Guy * Black.... you are supposed to trigger before commits Signed-off-by: Guy * Added `BalanceTooHigh` to the docstrings of `bank.transfer_credits()` Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Bring this in line with #2926 to reduce conflicts,`is_global()` already is called inside `get_currency_name` and as such it does not need to be called outside Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> --- changelog.d/2923.bugfix.rst | 1 + redbot/core/bank.py | 15 ++++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) create mode 100644 changelog.d/2923.bugfix.rst diff --git a/changelog.d/2923.bugfix.rst b/changelog.d/2923.bugfix.rst new file mode 100644 index 000000000..7be210ff8 --- /dev/null +++ b/changelog.d/2923.bugfix.rst @@ -0,0 +1 @@ +Check the recipient balance before transferring and stop transfer if will go above the maximum allowed balance. \ No newline at end of file diff --git a/redbot/core/bank.py b/redbot/core/bank.py index 3b08a5083..ee5bb8948 100644 --- a/redbot/core/bank.py +++ b/redbot/core/bank.py @@ -186,11 +186,7 @@ async def set_balance(member: discord.Member, amount: int) -> int: if amount < 0: raise ValueError("Not allowed to have negative balance.") if amount > MAX_BALANCE: - currency = ( - await get_currency_name() - if await is_global() - else await get_currency_name(member.guild) - ) + currency = await get_currency_name(member.guild) raise errors.BalanceTooHigh( user=member.display_name, max_balance=MAX_BALANCE, currency_name=currency ) @@ -305,6 +301,9 @@ async def transfer_credits(from_: discord.Member, to: discord.Member, amount: in If the amount is invalid or if ``from_`` has insufficient funds. TypeError If the amount is not an `int`. + BalanceTooHigh + If the balance after the transfer would be greater than + ``bank.MAX_BALANCE`` """ if not isinstance(amount, int): @@ -312,6 +311,12 @@ async def transfer_credits(from_: discord.Member, to: discord.Member, amount: in if _invalid_amount(amount): raise ValueError("Invalid transfer amount {} <= 0".format(amount)) + if await get_balance(to) + amount > MAX_BALANCE: + currency = await get_currency_name(to.guild) + raise errors.BalanceTooHigh( + user=to.display_name, max_balance=MAX_BALANCE, currency_name=currency + ) + await withdraw_credits(from_, amount) return await deposit_credits(to, amount) From fb9fec282b093bd8dd8a1350160a2a8e93942f16 Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Tue, 27 Aug 2019 18:42:56 +0200 Subject: [PATCH 123/183] [Mod] Fix recording username changes (#2919) * fix(mod): past names are now properly recorded in `on_user_update` event * chore(changelog): add towncrier entry * chore(changelog): specify what commands were affected --- changelog.d/mod/2918.bugfix.rst | 1 + redbot/cogs/mod/events.py | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 changelog.d/mod/2918.bugfix.rst diff --git a/changelog.d/mod/2918.bugfix.rst b/changelog.d/mod/2918.bugfix.rst new file mode 100644 index 000000000..cafa96097 --- /dev/null +++ b/changelog.d/mod/2918.bugfix.rst @@ -0,0 +1 @@ +Fixed Mod cog not recording username changes for ``[p]names`` and ``[p]userinfo`` commands \ No newline at end of file diff --git a/redbot/cogs/mod/events.py b/redbot/cogs/mod/events.py index b83dddebb..d63a6c74f 100644 --- a/redbot/cogs/mod/events.py +++ b/redbot/cogs/mod/events.py @@ -95,7 +95,7 @@ class Events(MixinMeta): await self.check_mention_spam(message) @commands.Cog.listener() - async def on_member_update(self, before: discord.Member, after: discord.Member): + async def on_user_update(self, before: discord.User, after: discord.User): if before.name != after.name: async with self.settings.user(before).past_names() as name_list: while None in name_list: # clean out null entries from a bug @@ -107,6 +107,8 @@ class Events(MixinMeta): while len(name_list) > 20: name_list.pop(0) + @commands.Cog.listener() + async def on_member_update(self, before: discord.Member, after: discord.Member): if before.nick != after.nick and after.nick is not None: async with self.settings.member(before).past_nicks() as nick_list: while None in nick_list: # clean out null entries from a bug From 6c3a3fea66fdc808efcf2ae898cbc5b8364ad2bd Mon Sep 17 00:00:00 2001 From: ZeLarpMaster Date: Tue, 27 Aug 2019 12:44:07 -0400 Subject: [PATCH 124/183] Fixing typo in starwars trivia (#2903) * Fixing typo in starwars trivia Been pointed out to us by kDals#5653 * Add a changelog entry --- changelog.d/trivia/2909.bugfix.rst | 1 + redbot/cogs/trivia/data/lists/starwars.yaml | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 changelog.d/trivia/2909.bugfix.rst diff --git a/changelog.d/trivia/2909.bugfix.rst b/changelog.d/trivia/2909.bugfix.rst new file mode 100644 index 000000000..6451aa3f2 --- /dev/null +++ b/changelog.d/trivia/2909.bugfix.rst @@ -0,0 +1 @@ +Fixes a typo in `Ahsoka Tano`'s name in the starwars trivia diff --git a/redbot/cogs/trivia/data/lists/starwars.yaml b/redbot/cogs/trivia/data/lists/starwars.yaml index 6b0342e0e..82e48b70b 100644 --- a/redbot/cogs/trivia/data/lists/starwars.yaml +++ b/redbot/cogs/trivia/data/lists/starwars.yaml @@ -425,8 +425,8 @@ What was the cartel family who ruled over Tatooine?: What was the cloning planet in Episode II, Attack of the Clones?: - Kamino "What was the name of Anakin Skywalker's Apprentice in Star Wars: The Clone Wars?": -- Ashoka -- Ashoka Tano +- Ahsoka +- Ahsoka Tano What was the name of Darth Vader's flagship from the Battle of Hoth to the Battle of Endor?: - Executor "What was the name of General Grievous' Superweapon in Star Wars: The Clone Wars?": From 3c1b6ae4cf56c516fa8d2b1ea778a7242db33aa6 Mon Sep 17 00:00:00 2001 From: Draper <27962761+Drapersniper@users.noreply.github.com> Date: Tue, 27 Aug 2019 23:44:52 +0100 Subject: [PATCH 125/183] [Utils] Add humanize_number() function to chat formatting (#2836) This adds babel as a dependency, and also includes `redbot.core.i18n.get_babel_locale()` --- changelog.d/2836.feature.rst | 1 + changelog.d/2836.misc.rst | 1 + redbot/cogs/audio/audio.py | 28 ++++++---- redbot/cogs/bank/bank.py | 6 +- redbot/cogs/cleanup/cleanup.py | 49 +++++++++++++--- redbot/cogs/economy/economy.py | 84 ++++++++++++++++------------ redbot/cogs/general/general.py | 24 +++++--- redbot/cogs/mod/kickban.py | 6 +- redbot/cogs/trivia/session.py | 4 +- redbot/core/bank.py | 28 ++++++++-- redbot/core/errors.py | 5 +- redbot/core/i18n.py | 53 +++++++++++++++++- redbot/core/utils/chat_formatting.py | 27 ++++++++- setup.cfg | 1 + tools/primary_deps.ini | 1 + 15 files changed, 238 insertions(+), 80 deletions(-) create mode 100644 changelog.d/2836.feature.rst create mode 100644 changelog.d/2836.misc.rst diff --git a/changelog.d/2836.feature.rst b/changelog.d/2836.feature.rst new file mode 100644 index 000000000..2ab5446d1 --- /dev/null +++ b/changelog.d/2836.feature.rst @@ -0,0 +1 @@ +New :func:`humanize_number` in :module:`redbot.core.utils.chat_formatting` function to convert numbers into text which respect locale. \ No newline at end of file diff --git a/changelog.d/2836.misc.rst b/changelog.d/2836.misc.rst new file mode 100644 index 000000000..d203c9ec7 --- /dev/null +++ b/changelog.d/2836.misc.rst @@ -0,0 +1 @@ +New :func:`humanize_number` is used throughout the bot. diff --git a/redbot/cogs/audio/audio.py b/redbot/cogs/audio/audio.py index bbebdbe62..4dde73984 100644 --- a/redbot/cogs/audio/audio.py +++ b/redbot/cogs/audio/audio.py @@ -19,7 +19,7 @@ import redbot.core from redbot.core import Config, commands, checks, bank from redbot.core.data_manager import cog_data_path from redbot.core.i18n import Translator, cog_i18n -from redbot.core.utils.chat_formatting import bold, box, pagify +from redbot.core.utils.chat_formatting import bold, box, pagify, humanize_number from redbot.core.utils.menus import ( menu, DEFAULT_CONTROLS, @@ -442,7 +442,7 @@ class Audio(commands.Cog): await self._embed_msg( ctx, _("Track queueing command price set to {price} {currency}.").format( - price=price, currency=await bank.get_currency_name(ctx.guild) + price=humanize_number(price), currency=await bank.get_currency_name(ctx.guild) ), ) @@ -613,7 +613,9 @@ class Audio(commands.Cog): msg += _("DJ Role: [{role.name}]\n").format(role=dj_role_obj) if jukebox: msg += _("Jukebox: [{jukebox_name}]\n").format(jukebox_name=jukebox) - msg += _("Command price: [{jukebox_price}]\n").format(jukebox_price=jukebox_price) + msg += _("Command price: [{jukebox_price}]\n").format( + jukebox_price=humanize_number(jukebox_price) + ) if maxlength > 0: msg += _("Max track length: [{tracklength}]\n").format( tracklength=self._dynamic_time(maxlength) @@ -762,11 +764,15 @@ class Audio(commands.Cog): em = discord.Embed( colour=await ctx.embed_colour(), title=_("Playing in {num}/{total} servers:").format( - num=server_num, total=total_num + num=humanize_number(server_num), total=humanize_number(total_num) ), description=page, ) - em.set_footer(text="Page {}/{}".format(pages, (math.ceil(len(msg) / 1500)))) + em.set_footer( + text="Page {}/{}".format( + humanize_number(pages), humanize_number((math.ceil(len(msg) / 1500))) + ) + ) pages += 1 servers_embed.append(em) @@ -933,7 +939,9 @@ class Audio(commands.Cog): embed = discord.Embed( colour=await ctx.embed_colour(), description=(f"{header}\n{formatted_page}") ) - embed.set_footer(text=_("{num} preset(s)").format(num=len(list(eq_presets.keys())))) + embed.set_footer( + text=_("{num} preset(s)").format(num=humanize_number(len(list(eq_presets.keys())))) + ) page_list.append(embed) if len(page_list) == 1: return await ctx.send(embed=page_list[0]) @@ -1869,6 +1877,7 @@ class Audio(commands.Cog): song_info = "{} {}".format(i["name"], i["artists"][0]["name"]) else: song_info = "{} {}".format(i["track"]["name"], i["track"]["artists"][0]["name"]) + try: track_url = await self._youtube_api_search(yt_key, song_info) except (RuntimeError, aiohttp.client_exceptions.ServerDisconnectedError): @@ -1878,7 +1887,6 @@ class Audio(commands.Cog): ) await playlist_msg.edit(embed=error_embed) return None - pass try: yt_track = await player.get_tracks(track_url) except (RuntimeError, aiohttp.client_exceptions.ServerDisconnectedError): @@ -3416,8 +3424,8 @@ class Audio(commands.Cog): " Votes: {num_votes}/{num_members}" " ({cur_percent}% out of {required_percent}% needed)" ).format( - num_votes=num_votes, - num_members=num_members, + num_votes=humanize_number(num_votes), + num_members=humanize_number(num_members), cur_percent=vote, required_percent=percent, ) @@ -3869,7 +3877,7 @@ class Audio(commands.Cog): await self._embed_msg( ctx, _("Not enough {currency} ({required_credits} required).").format( - currency=credits_name, required_credits=jukebox_price + currency=credits_name, required_credits=humanize_number(jukebox_price) ), ) return False diff --git a/redbot/cogs/bank/bank.py b/redbot/cogs/bank/bank.py index 6d186ee6b..70f06a344 100644 --- a/redbot/cogs/bank/bank.py +++ b/redbot/cogs/bank/bank.py @@ -1,5 +1,5 @@ import discord -from redbot.core.utils.chat_formatting import box +from redbot.core.utils.chat_formatting import box, humanize_number from redbot.core import checks, bank, commands from redbot.core.i18n import Translator, cog_i18n @@ -88,7 +88,9 @@ class Bank(commands.Cog): "Bank settings:\n\nBank name: {bank_name}\nCurrency: {currency_name}\n" "Default balance: {default_balance}" ).format( - bank_name=bank_name, currency_name=currency_name, default_balance=default_balance + bank_name=bank_name, + currency_name=currency_name, + default_balance=humanize_number(default_balance), ) await ctx.send(box(settings)) diff --git a/redbot/cogs/cleanup/cleanup.py b/redbot/cogs/cleanup/cleanup.py index f54d075ee..74ff35790 100644 --- a/redbot/cogs/cleanup/cleanup.py +++ b/redbot/cogs/cleanup/cleanup.py @@ -8,6 +8,7 @@ import discord from redbot.core import checks, commands from redbot.core.bot import Red from redbot.core.i18n import Translator, cog_i18n +from redbot.core.utils.chat_formatting import humanize_number from redbot.core.utils.mod import slow_deletion, mass_purge from redbot.core.utils.predicates import MessagePredicate from .converters import RawMessageIds @@ -39,7 +40,9 @@ class Cleanup(commands.Cog): return True prompt = await ctx.send( - _("Are you sure you want to delete {number} messages? (y/n)").format(number=number) + _("Are you sure you want to delete {number} messages? (y/n)").format( + number=humanize_number(number) + ) ) response = await ctx.bot.wait_for("message", check=MessagePredicate.same_context(ctx)) @@ -152,7 +155,11 @@ class Cleanup(commands.Cog): to_delete.append(ctx.message) reason = "{}({}) deleted {} messages containing '{}' in channel {}.".format( - author.name, author.id, len(to_delete), text, channel.id + author.name, + author.id, + humanize_number(len(to_delete), override_locale="en_us"), + text, + channel.id, ) log.info(reason) @@ -208,7 +215,14 @@ class Cleanup(commands.Cog): reason = ( "{}({}) deleted {} messages " " made by {}({}) in channel {}." - "".format(author.name, author.id, len(to_delete), member or "???", _id, channel.name) + "".format( + author.name, + author.id, + humanize_number(len(to_delete), override_locale="en_US"), + member or "???", + _id, + channel.name, + ) ) log.info(reason) @@ -240,7 +254,10 @@ class Cleanup(commands.Cog): ) reason = "{}({}) deleted {} messages in channel {}.".format( - author.name, author.id, len(to_delete), channel.name + author.name, + author.id, + humanize_number(len(to_delete), override_locale="en_US"), + channel.name, ) log.info(reason) @@ -277,7 +294,10 @@ class Cleanup(commands.Cog): to_delete.append(ctx.message) reason = "{}({}) deleted {} messages in channel {}.".format( - author.name, author.id, len(to_delete), channel.name + author.name, + author.id, + humanize_number(len(to_delete), override_locale="en_US"), + channel.name, ) log.info(reason) @@ -319,7 +339,10 @@ class Cleanup(commands.Cog): ) to_delete.append(ctx.message) reason = "{}({}) deleted {} messages in channel {}.".format( - author.name, author.id, len(to_delete), channel.name + author.name, + author.id, + humanize_number(len(to_delete), override_locale="en_US"), + channel.name, ) log.info(reason) @@ -420,7 +443,12 @@ class Cleanup(commands.Cog): reason = ( "{}({}) deleted {} " " command messages in channel {}." - "".format(author.name, author.id, len(to_delete), channel.name) + "".format( + author.name, + author.id, + humanize_number(len(to_delete), override_locale="en_US"), + channel.name, + ) ) log.info(reason) @@ -500,7 +528,12 @@ class Cleanup(commands.Cog): reason = ( "{}({}) deleted {} messages " "sent by the bot in {}." - "".format(author.name, author.id, len(to_delete), channel_name) + "".format( + author.name, + author.id, + humanize_number(len(to_delete), override_locale="en_US"), + channel_name, + ) ) log.info(reason) diff --git a/redbot/cogs/economy/economy.py b/redbot/cogs/economy/economy.py index 468935deb..1f952140d 100644 --- a/redbot/cogs/economy/economy.py +++ b/redbot/cogs/economy/economy.py @@ -10,7 +10,7 @@ import discord from redbot.cogs.bank import check_global_setting_guildowner, check_global_setting_admin from redbot.core import Config, bank, commands, errors from redbot.core.i18n import Translator, cog_i18n -from redbot.core.utils.chat_formatting import box +from redbot.core.utils.chat_formatting import box, humanize_number from redbot.core.utils.menus import menu, DEFAULT_CONTROLS from redbot.core.bot import Red @@ -162,7 +162,7 @@ class Economy(commands.Cog): await ctx.send( _("{user}'s balance is {num} {currency}").format( - user=user.display_name, num=bal, currency=currency + user=user.display_name, num=humanize_number(bal), currency=currency ) ) @@ -179,7 +179,10 @@ class Economy(commands.Cog): await ctx.send( _("{user} transferred {num} {currency} to {other_user}").format( - user=from_.display_name, num=amount, currency=currency, other_user=to.display_name + user=from_.display_name, + num=humanize_number(amount), + currency=currency, + other_user=to.display_name, ) ) @@ -203,7 +206,7 @@ class Economy(commands.Cog): await bank.deposit_credits(to, creds.sum) msg = _("{author} added {num} {currency} to {user}'s account.").format( author=author.display_name, - num=creds.sum, + num=humanize_number(creds.sum), currency=currency, user=to.display_name, ) @@ -211,7 +214,7 @@ class Economy(commands.Cog): await bank.withdraw_credits(to, creds.sum) msg = _("{author} removed {num} {currency} from {user}'s account.").format( author=author.display_name, - num=creds.sum, + num=humanize_number(creds.sum), currency=currency, user=to.display_name, ) @@ -219,7 +222,7 @@ class Economy(commands.Cog): await bank.set_balance(to, creds.sum) msg = _("{author} set {user}'s account balance to {num} {currency}.").format( author=author.display_name, - num=creds.sum, + num=humanize_number(creds.sum), currency=currency, user=to.display_name, ) @@ -271,7 +274,9 @@ class Economy(commands.Cog): "You've reached the maximum amount of {currency}!" "Please spend some more \N{GRIMACING FACE}\n\n" "You currently have {new_balance} {currency}." - ).format(currency=credits_name, new_balance=exc.max_balance) + ).format( + currency=credits_name, new_balance=humanize_number(exc.max_balance) + ) ) return next_payday = cur_time + await self.config.PAYDAY_TIME() @@ -287,9 +292,9 @@ class Economy(commands.Cog): ).format( author=author, currency=credits_name, - amount=await self.config.PAYDAY_CREDITS(), - new_balance=await bank.get_balance(author), - pos=pos, + amount=humanize_number(await self.config.PAYDAY_CREDITS()), + new_balance=humanize_number(await bank.get_balance(author)), + pos=humanize_number(pos) if pos else pos, ) ) @@ -319,7 +324,9 @@ class Economy(commands.Cog): "You've reached the maximum amount of {currency}! " "Please spend some more \N{GRIMACING FACE}\n\n" "You currently have {new_balance} {currency}." - ).format(currency=credits_name, new_balance=exc.max_balance) + ).format( + currency=credits_name, new_balance=humanize_number(exc.max_balance) + ) ) return next_payday = cur_time + await self.config.guild(guild).PAYDAY_TIME() @@ -334,9 +341,9 @@ class Economy(commands.Cog): ).format( author=author, currency=credits_name, - amount=credit_amount, - new_balance=await bank.get_balance(author), - pos=pos, + amount=humanize_number(credit_amount), + new_balance=humanize_number(await bank.get_balance(author)), + pos=humanize_number(pos) if pos else pos, ) ) else: @@ -364,7 +371,7 @@ class Economy(commands.Cog): else: bank_sorted = await bank.get_leaderboard(positions=top, guild=guild) try: - bal_len = len(str(bank_sorted[0][1]["balance"])) + bal_len = len(humanize_number(bank_sorted[0][1]["balance"])) # first user is the largest we'll see except IndexError: return await ctx.send(_("There are no accounts in the bank.")) @@ -387,14 +394,17 @@ class Economy(commands.Cog): if await ctx.bot.is_owner(ctx.author): user_id = f"({str(acc[0])})" name = f"{acc[1]['name']} {user_id}" - balance = acc[1]["balance"] + balance = humanize_number(acc[1]["balance"]) if acc[0] != author.id: - temp_msg += f"{f'{pos}.': <{pound_len+2}} {balance: <{bal_len + 5}} {name}\n" + temp_msg += ( + f"{f'{humanize_number(pos)}.': <{pound_len+2}} " + f"{balance: <{bal_len + 5}} {name}\n" + ) else: temp_msg += ( - f"{f'{pos}.': <{pound_len+2}} " + f"{f'{humanize_number(pos)}.': <{pound_len+2}} " f"{balance: <{bal_len + 5}} " f"<<{author.display_name}>>\n" ) @@ -503,8 +513,8 @@ class Economy(commands.Cog): "Please spend some more \N{GRIMACING FACE}\n{old_balance} -> {new_balance}!" ).format( currency=await bank.get_currency_name(getattr(channel, "guild", None)), - old_balance=then, - new_balance=exc.max_balance, + old_balance=humanize_number(then), + new_balance=humanize_number(exc.max_balance), ) ) return @@ -523,10 +533,10 @@ class Economy(commands.Cog): slot=slot, author=author, phrase=phrase, - bid=bid, - old_balance=then, - new_balance=now, - pay=pay, + bid=humanize_number(bid), + old_balance=humanize_number(then), + new_balance=humanize_number(now), + pay=humanize_number(pay), ) ) @@ -552,12 +562,12 @@ class Economy(commands.Cog): "Payday cooldown: {payday_time}\n" "Amount given at account registration: {register_amount}" ).format( - slot_min=await conf.SLOT_MIN(), - slot_max=await conf.SLOT_MAX(), - slot_time=await conf.SLOT_TIME(), - payday_time=await conf.PAYDAY_TIME(), - payday_amount=await conf.PAYDAY_CREDITS(), - register_amount=await bank.get_default_balance(guild), + slot_min=humanize_number(await conf.SLOT_MIN()), + slot_max=humanize_number(await conf.SLOT_MAX()), + slot_time=humanize_number(await conf.SLOT_TIME()), + payday_time=humanize_number(await conf.PAYDAY_TIME()), + payday_amount=humanize_number(await conf.PAYDAY_CREDITS()), + register_amount=humanize_number(await bank.get_default_balance(guild)), ) ) ) @@ -575,7 +585,9 @@ class Economy(commands.Cog): await self.config.guild(guild).SLOT_MIN.set(bid) credits_name = await bank.get_currency_name(guild) await ctx.send( - _("Minimum bid is now {bid} {currency}.").format(bid=bid, currency=credits_name) + _("Minimum bid is now {bid} {currency}.").format( + bid=humanize_number(bid), currency=credits_name + ) ) @economyset.command() @@ -594,7 +606,9 @@ class Economy(commands.Cog): else: await self.config.guild(guild).SLOT_MAX.set(bid) await ctx.send( - _("Maximum bid is now {bid} {currency}.").format(bid=bid, currency=credits_name) + _("Maximum bid is now {bid} {currency}.").format( + bid=humanize_number(bid), currency=credits_name + ) ) @economyset.command() @@ -635,7 +649,7 @@ class Economy(commands.Cog): await self.config.guild(guild).PAYDAY_CREDITS.set(creds) await ctx.send( _("Every payday will now give {num} {currency}.").format( - num=creds, currency=credits_name + num=humanize_number(creds), currency=credits_name ) ) @@ -655,7 +669,7 @@ class Economy(commands.Cog): _( "Every payday will now give {num} {currency} " "to people with the role {role_name}." - ).format(num=creds, currency=credits_name, role_name=role.name) + ).format(num=humanize_number(creds), currency=credits_name, role_name=role.name) ) @economyset.command() @@ -668,7 +682,7 @@ class Economy(commands.Cog): await bank.set_default_balance(creds, guild) await ctx.send( _("Registering an account will now give {num} {currency}.").format( - num=creds, currency=credits_name + num=humanize_number(creds), currency=credits_name ) ) diff --git a/redbot/cogs/general/general.py b/redbot/cogs/general/general.py index 5d6d0e519..0814525a9 100644 --- a/redbot/cogs/general/general.py +++ b/redbot/cogs/general/general.py @@ -7,7 +7,7 @@ import discord from redbot.core import commands from redbot.core.i18n import Translator, cog_i18n from redbot.core.utils.menus import menu, DEFAULT_CONTROLS -from redbot.core.utils.chat_formatting import escape, italics +from redbot.core.utils.chat_formatting import escape, italics, humanize_number _ = T_ = Translator("General", __file__) @@ -89,7 +89,11 @@ class General(commands.Cog): author = ctx.author if number > 1: n = randint(1, number) - await ctx.send("{author.mention} :game_die: {n} :game_die:".format(author=author, n=n)) + await ctx.send( + "{author.mention} :game_die: {n} :game_die:".format( + author=author, n=humanize_number(n) + ) + ) else: await ctx.send(_("{author.mention} Maybe higher than 1? ;P").format(author=author)) @@ -223,10 +227,12 @@ class General(commands.Cog): async def serverinfo(self, ctx): """Show server information.""" guild = ctx.guild - online = len([m.status for m in guild.members if m.status != discord.Status.offline]) - total_users = len(guild.members) - text_channels = len(guild.text_channels) - voice_channels = len(guild.voice_channels) + online = humanize_number( + len([m.status for m in guild.members if m.status != discord.Status.offline]) + ) + total_users = humanize_number(len(guild.members)) + text_channels = humanize_number(len(guild.text_channels)) + voice_channels = humanize_number(len(guild.voice_channels)) passed = (ctx.message.created_at - guild.created_at).days created_at = _("Since {date}. That's over {num} days ago!").format( date=guild.created_at.strftime("%d %b %Y %H:%M"), num=passed @@ -234,9 +240,9 @@ class General(commands.Cog): data = discord.Embed(description=created_at, colour=(await ctx.embed_colour())) data.add_field(name=_("Region"), value=str(guild.region)) data.add_field(name=_("Users"), value=f"{online}/{total_users}") - data.add_field(name=_("Text Channels"), value=str(text_channels)) - data.add_field(name=_("Voice Channels"), value=str(voice_channels)) - data.add_field(name=_("Roles"), value=str(len(guild.roles))) + data.add_field(name=_("Text Channels"), value=text_channels) + data.add_field(name=_("Voice Channels"), value=voice_channels) + data.add_field(name=_("Roles"), value=humanize_number(len(guild.roles))) data.add_field(name=_("Owner"), value=str(guild.owner)) data.set_footer(text=_("Server ID: ") + str(guild.id)) diff --git a/redbot/cogs/mod/kickban.py b/redbot/cogs/mod/kickban.py index 31e64e09e..beabc1f05 100644 --- a/redbot/cogs/mod/kickban.py +++ b/redbot/cogs/mod/kickban.py @@ -7,7 +7,7 @@ from typing import cast, Optional, Union import discord from redbot.core import commands, i18n, checks, modlog -from redbot.core.utils.chat_formatting import pagify +from redbot.core.utils.chat_formatting import pagify, humanize_number from redbot.core.utils.mod import is_allowed_by_hierarchy, get_audit_reason from .abc import MixinMeta from .converters import RawUserIds @@ -244,7 +244,9 @@ class KickBanMixin(MixinMeta): errors = {} async def show_results(): - text = _("Banned {num} users from the server.").format(num=len(banned)) + text = _("Banned {num} users from the server.").format( + num=humanize_number(len(banned)) + ) if errors: text += _("\nErrors:\n") text += "\n".join(errors.values()) diff --git a/redbot/cogs/trivia/session.py b/redbot/cogs/trivia/session.py index 46274007f..d7ca7aac7 100644 --- a/redbot/cogs/trivia/session.py +++ b/redbot/cogs/trivia/session.py @@ -6,7 +6,7 @@ from collections import Counter import discord from redbot.core import bank from redbot.core.i18n import Translator -from redbot.core.utils.chat_formatting import box, bold, humanize_list +from redbot.core.utils.chat_formatting import box, bold, humanize_list, humanize_number from redbot.core.utils.common_filters import normalize_smartquotes from .log import LOG @@ -292,7 +292,7 @@ class TriviaSession: " for coming first." ).format( user=winner.display_name, - num=amount, + num=humanize_number(amount), currency=await bank.get_currency_name(self.ctx.guild), ) ) diff --git a/redbot/core/bank.py b/redbot/core/bank.py index ee5bb8948..de7060ea8 100644 --- a/redbot/core/bank.py +++ b/redbot/core/bank.py @@ -5,6 +5,7 @@ from functools import wraps import discord +from redbot.core.utils.chat_formatting import humanize_number from . import Config, errors, commands from .i18n import Translator @@ -237,11 +238,20 @@ async def withdraw_credits(member: discord.Member, amount: int) -> int: if not isinstance(amount, int): raise TypeError("Withdrawal amount must be of type int, not {}.".format(type(amount))) if _invalid_amount(amount): - raise ValueError("Invalid withdrawal amount {} < 0".format(amount)) + raise ValueError( + "Invalid withdrawal amount {} < 0".format( + humanize_number(amount, override_locale="en_US") + ) + ) bal = await get_balance(member) if amount > bal: - raise ValueError("Insufficient funds {} > {}".format(amount, bal)) + raise ValueError( + "Insufficient funds {} > {}".format( + humanize_number(amount, override_locale="en_US"), + humanize_number(bal, override_locale="en_US"), + ) + ) return await set_balance(member, bal - amount) @@ -272,7 +282,11 @@ async def deposit_credits(member: discord.Member, amount: int) -> int: if not isinstance(amount, int): raise TypeError("Deposit amount must be of type int, not {}.".format(type(amount))) if _invalid_amount(amount): - raise ValueError("Invalid deposit amount {} <= 0".format(amount)) + raise ValueError( + "Invalid deposit amount {} <= 0".format( + humanize_number(amount, override_locale="en_US") + ) + ) bal = await get_balance(member) return await set_balance(member, amount + bal) @@ -309,7 +323,11 @@ async def transfer_credits(from_: discord.Member, to: discord.Member, amount: in if not isinstance(amount, int): raise TypeError("Transfer amount must be of type int, not {}.".format(type(amount))) if _invalid_amount(amount): - raise ValueError("Invalid transfer amount {} <= 0".format(amount)) + raise ValueError( + "Invalid transfer amount {} <= 0".format( + humanize_number(amount, override_locale="en_US") + ) + ) if await get_balance(to) + amount > MAX_BALANCE: currency = await get_currency_name(to.guild) @@ -727,7 +745,7 @@ def cost(amount: int): credits_name = await get_currency_name(context.guild) raise commands.UserFeedbackCheckFailure( _("You need at least {cost} {currency} to use this command.").format( - cost=amount, currency=credits_name + cost=humanize_number(amount), currency=credits_name ) ) else: diff --git a/redbot/core/errors.py b/redbot/core/errors.py index 5bd7f4fa2..66f5f347b 100644 --- a/redbot/core/errors.py +++ b/redbot/core/errors.py @@ -2,6 +2,7 @@ import importlib.machinery import discord +from redbot.core.utils.chat_formatting import humanize_number from .i18n import Translator _ = Translator(__name__, __file__) @@ -45,8 +46,8 @@ class BalanceTooHigh(BankError, OverflowError): self.currency_name = currency_name def __str__(self) -> str: - return _("{user}'s balance cannot rise above {max:,} {currency}.").format( - user=self.user, max=self.max_balance, currency=self.currency_name + return _("{user}'s balance cannot rise above max {currency}.").format( + user=self.user, max=humanize_number(self.max_balance), currency=self.currency_name ) diff --git a/redbot/core/i18n.py b/redbot/core/i18n.py index 2f56cd6c0..7790e0ee5 100644 --- a/redbot/core/i18n.py +++ b/redbot/core/i18n.py @@ -1,10 +1,21 @@ import contextlib +import functools import io import os from pathlib import Path -from typing import Callable, Union, Dict +from typing import Callable, Union, Dict, Optional -__all__ = ["get_locale", "set_locale", "reload_locales", "cog_i18n", "Translator"] +import babel.localedata +from babel.core import Locale + +__all__ = [ + "get_locale", + "set_locale", + "reload_locales", + "cog_i18n", + "Translator", + "get_babel_locale", +] _current_locale = "en-US" @@ -160,6 +171,44 @@ class Translator(Callable[[str], str]): self.translations[untranslated] = translated +@functools.lru_cache() +def _get_babel_locale(red_locale: str) -> babel.core.Locale: + supported_locales = babel.localedata.locale_identifiers() + try: # Handles cases where red_locale is already Babel supported + babel_locale = Locale(*babel.parse_locale(red_locale)) + except (ValueError, babel.core.UnknownLocaleError): + try: + babel_locale = Locale(*babel.parse_locale(red_locale, sep="-")) + except (ValueError, babel.core.UnknownLocaleError): + # ValueError is Raised by `parse_locale` when an invalid Locale is given to it + # Lets handle it silently and default to "en_US" + try: + # Try to find a babel locale that's close to the one used by red + babel_locale = Locale(Locale.negotiate([red_locale], supported_locales, sep="-")) + except (ValueError, TypeError, babel.core.UnknownLocaleError): + # If we fail to get a close match we will then default to "en_US" + babel_locale = Locale("en", "US") + return babel_locale + + +def get_babel_locale(locale: Optional[str] = None) -> babel.core.Locale: + """Function to convert a locale to a ``babel.core.Locale``. + + Parameters + ---------- + locale : Optional[str] + The locale to convert, if not specified it defaults to the bot's locale. + + Returns + ------- + babel.core.Locale + The babel locale object. + """ + if locale is None: + locale = get_locale() + return _get_babel_locale(locale) + + # This import to be down here to avoid circular import issues. # This will be cleaned up at a later date # noinspection PyPep8 diff --git a/redbot/core/utils/chat_formatting.py b/redbot/core/utils/chat_formatting.py index a73abf78c..92d9261ee 100644 --- a/redbot/core/utils/chat_formatting.py +++ b/redbot/core/utils/chat_formatting.py @@ -1,11 +1,13 @@ import itertools import datetime -from typing import Sequence, Iterator, List, Optional +from typing import Sequence, Iterator, List, Optional, Union from io import BytesIO -import discord -from redbot.core.i18n import Translator +import discord +from babel.numbers import format_decimal + +from redbot.core.i18n import Translator, get_babel_locale _ = Translator("UtilsChatFormatting", __file__) @@ -432,6 +434,25 @@ def humanize_timedelta( return ", ".join(strings) +def humanize_number(val: Union[int, float], override_locale=None) -> str: + """ + Convert an int or float to a str with digit separators based on bot locale + + Parameters + ---------- + val : Union[int, float] + The int/float to be formatted. + override_locale: Optional[str] + A value to override the bots locale. + + Returns + ------- + str + locale aware formatted number. + """ + return format_decimal(val, locale=get_babel_locale(override_locale)) + + def text_to_file( text: str, filename: str = "file.txt", *, spoiler: bool = False, encoding: str = "utf-8" ): diff --git a/setup.cfg b/setup.cfg index 76acee512..3579342c5 100644 --- a/setup.cfg +++ b/setup.cfg @@ -31,6 +31,7 @@ install_requires = appdirs==1.4.3 async-timeout==3.0.1 attrs==19.1.0 + babel==2.7.0 chardet==3.0.4 Click==7.0 colorama==0.4.1 diff --git a/tools/primary_deps.ini b/tools/primary_deps.ini index bd6e8819a..02cb62010 100644 --- a/tools/primary_deps.ini +++ b/tools/primary_deps.ini @@ -9,6 +9,7 @@ install_requires = aiohttp aiohttp-json-rpc appdirs + babel click colorama discord.py From 2c8152606c520e18d1401e9c56da0a4ffb381865 Mon Sep 17 00:00:00 2001 From: Michael H Date: Tue, 27 Aug 2019 18:45:56 -0400 Subject: [PATCH 126/183] [Modlog] Reduce potential for bad API calls (#2945) - brings a fix over from #2934 --- changelog.d/modlog/2945.fix.rst | 1 + redbot/core/modlog.py | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 changelog.d/modlog/2945.fix.rst diff --git a/changelog.d/modlog/2945.fix.rst b/changelog.d/modlog/2945.fix.rst new file mode 100644 index 000000000..a30222b30 --- /dev/null +++ b/changelog.d/modlog/2945.fix.rst @@ -0,0 +1 @@ +Remove potential for additional bad API calls per ban/unban diff --git a/redbot/core/modlog.py b/redbot/core/modlog.py index 8a1a03bd6..27d6901e3 100644 --- a/redbot/core/modlog.py +++ b/redbot/core/modlog.py @@ -74,7 +74,8 @@ async def _init(bot: Red): await asyncio.sleep(10) # prevent small delays from causing a 5 minute delay on entry attempts = 0 - while attempts < 12: # wait up to an hour to find a matching case + # wait up to an hour to find a matching case + while attempts < 12 and guild.me.guild_permissions.view_audit_log: attempts += 1 try: entry = await guild.audit_logs( @@ -109,7 +110,8 @@ async def _init(bot: Red): await asyncio.sleep(10) # prevent small delays from causing a 5 minute delay on entry attempts = 0 - while attempts < 12: # wait up to an hour to find a matching case + # wait up to an hour to find a matching case + while attempts < 12 and guild.me.guild_permissions.view_audit_log: attempts += 1 try: entry = await guild.audit_logs( From 26cc85806ec971d5a27a44d9c20d877f44222125 Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Wed, 28 Aug 2019 04:01:02 +0200 Subject: [PATCH 127/183] [Utils] Stop using `:` in backup's filename - Windows doesn't accept it (#2957) --- changelog.d/2954.bugfix.rst | 1 + redbot/core/utils/__init__.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 changelog.d/2954.bugfix.rst diff --git a/changelog.d/2954.bugfix.rst b/changelog.d/2954.bugfix.rst new file mode 100644 index 000000000..e5e1c53cc --- /dev/null +++ b/changelog.d/2954.bugfix.rst @@ -0,0 +1 @@ +Stop using `:` character in backup's filename - Windows doesn't accept it \ No newline at end of file diff --git a/redbot/core/utils/__init__.py b/redbot/core/utils/__init__.py index 96a44c515..c97f7ac45 100644 --- a/redbot/core/utils/__init__.py +++ b/redbot/core/utils/__init__.py @@ -410,7 +410,7 @@ async def create_backup(dest: Path = Path.home()) -> Optional[Path]: return dest.mkdir(parents=True, exist_ok=True) - timestr = datetime.utcnow().isoformat(timespec="minutes") + timestr = datetime.utcnow().strftime("%Y-%m-%dT%H-%M-%S") backup_fpath = dest / f"redv3_{data_manager.instance_name}_{timestr}.tar.gz" to_backup = [] From b490942bcd864fcc6e61e9d3fb0c17ba7c7fbd64 Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Fri, 30 Aug 2019 00:23:31 +0200 Subject: [PATCH 128/183] [Core] Various fixes to `redbot-setup delete` (#2958) - ``redbot-setup delete`` no longer errors about "unexpected keyword argument" (fix #2955) - ``redbot-setup delete`` no longer prompts about backup when user passes ``--no-prompt`` option (fix #2956) - ``--[no-]backup``, ``--[no-]drop-db`` and ``--[no-]remove-datapath`` in ``redbot-setup delete`` command are now on/off flags. ``--no-prompt`` was changed to flag too, but it doesn't have ``--prompt`` equivalent as there's no much point in having it - ``redbot-setup`` now uses `click.confirm` for confirmation prompts and thy now also have default values for user convenience --- changelog.d/2955.bugfix.rst | 1 + changelog.d/2956.bugfix.rst | 1 + changelog.d/2958.enhance.1.rst | 1 + changelog.d/2958.enhance.2.rst | 1 + redbot/setup.py | 77 +++++++++++++++++++++++----------- 5 files changed, 57 insertions(+), 24 deletions(-) create mode 100644 changelog.d/2955.bugfix.rst create mode 100644 changelog.d/2956.bugfix.rst create mode 100644 changelog.d/2958.enhance.1.rst create mode 100644 changelog.d/2958.enhance.2.rst diff --git a/changelog.d/2955.bugfix.rst b/changelog.d/2955.bugfix.rst new file mode 100644 index 000000000..3ca92fad8 --- /dev/null +++ b/changelog.d/2955.bugfix.rst @@ -0,0 +1 @@ +``redbot-setup delete`` no longer errors about "unexpected keyword argument" \ No newline at end of file diff --git a/changelog.d/2956.bugfix.rst b/changelog.d/2956.bugfix.rst new file mode 100644 index 000000000..8f5bbca45 --- /dev/null +++ b/changelog.d/2956.bugfix.rst @@ -0,0 +1 @@ +``redbot-setup delete`` no longer prompts about backup when user passes ``--no-prompt`` option \ No newline at end of file diff --git a/changelog.d/2958.enhance.1.rst b/changelog.d/2958.enhance.1.rst new file mode 100644 index 000000000..876a29529 --- /dev/null +++ b/changelog.d/2958.enhance.1.rst @@ -0,0 +1 @@ +``--[no-]backup``, ``--[no-]drop-db`` and ``--[no-]remove-datapath`` in ``redbot-setup delete`` command are now on/off flags. \ No newline at end of file diff --git a/changelog.d/2958.enhance.2.rst b/changelog.d/2958.enhance.2.rst new file mode 100644 index 000000000..f4bba69a8 --- /dev/null +++ b/changelog.d/2958.enhance.2.rst @@ -0,0 +1 @@ +Confirmation prompts in ``redbot-setup`` now have default values for user convenience. \ No newline at end of file diff --git a/redbot/setup.py b/redbot/setup.py index 0edaa6b32..b67e3282f 100644 --- a/redbot/setup.py +++ b/redbot/setup.py @@ -12,8 +12,7 @@ import appdirs import click import redbot.logging -from redbot.core.cli import confirm -from redbot.core.utils import safe_delete, create_backup as _create_backup +from redbot.core.utils import safe_delete, create_backup as red_create_backup from redbot.core import config, data_manager, drivers from redbot.core.drivers import BackendType, IdentifierData @@ -59,7 +58,9 @@ def save_config(name, data, remove=False): "WARNING: An instance already exists with this name. " "Continuing will overwrite the existing instance config." ) - if not confirm("Are you absolutely certain you want to continue (y/n)? "): + if not click.confirm( + "Are you absolutely certain you want to continue?", default=False + ): print("Not continuing") sys.exit(0) _config[name] = data @@ -100,7 +101,7 @@ def get_data_dir(): sys.exit(1) print("You have chosen {} to be your data directory.".format(default_data_dir)) - if not confirm("Please confirm (y/n):"): + if not click.confirm("Please confirm", default=True): print("Please start the process over.") sys.exit(0) return default_data_dir @@ -258,18 +259,18 @@ async def edit_instance(): current_data_dir = Path(_instance_data["DATA_PATH"]) print("You have selected '{}' as the instance to modify.".format(selected)) - if not confirm("Please confirm (y/n):"): + if not click.confirm("Please confirm", default=True): print("Ok, we will not continue then.") return print("Ok, we will continue on.") print() - if confirm("Would you like to change the instance name? (y/n)"): + if click.confirm("Would you like to change the instance name?", default=False): name = get_name() else: name = selected - if confirm("Would you like to change the data location? (y/n)"): + if click.confirm("Would you like to change the data location?", default=False): default_data_dir = get_data_dir() default_dirs["DATA_PATH"] = str(default_data_dir.resolve()) else: @@ -290,7 +291,7 @@ async def create_backup(instance: str) -> None: elif backend_type != BackendType.JSON: await do_migration(backend_type, BackendType.JSON) print("Backing up the instance's data...") - backup_fpath = await _create_backup() + backup_fpath = await red_create_backup() if backup_fpath is not None: print(f"A backup of {instance} has been made. It is at {backup_fpath}") else: @@ -300,12 +301,18 @@ async def create_backup(instance: str) -> None: async def remove_instance( instance, interactive: bool = False, + _create_backup: Optional[bool] = None, drop_db: Optional[bool] = None, remove_datapath: Optional[bool] = None, ): data_manager.load_basic_configuration(instance) - if confirm("Would you like to make a backup of the data for this instance? (y/n)"): + if interactive is True and _create_backup is None: + _create_backup = click.confirm( + "Would you like to make a backup of the data for this instance?", default=False + ) + + if _create_backup is True: await create_backup(instance) backend = get_current_backend(instance) @@ -317,7 +324,9 @@ async def remove_instance( await driver_cls.delete_all_data(interactive=interactive, drop_db=drop_db) if interactive is True and remove_datapath is None: - remove_datapath = confirm("Would you like to delete the instance's entire datapath? (y/n)") + remove_datapath = click.confirm( + "Would you like to delete the instance's entire datapath?", default=False + ) if remove_datapath is True: data_path = data_manager.core_data_path().parent @@ -360,32 +369,52 @@ def cli(ctx, debug): @cli.command() @click.argument("instance", type=click.Choice(instance_list)) -@click.option("--no-prompt", default=False, help="Don't ask for user input during the process.") @click.option( - "--drop-db", - type=bool, + "--no-prompt", + "interactive", + is_flag=True, + default=True, + help="Don't ask for user input during the process.", +) +@click.option( + "--backup/--no-backup", + "_create_backup", + is_flag=True, + default=None, + help=( + "Create backup of this instance's data. " + "If these options and --no-prompt are omitted, you will be asked about this." + ), +) +@click.option( + "--drop-db/--no-drop-db", + is_flag=True, default=None, help=( "Drop the entire database constaining this instance's data. Has no effect on JSON " - "instances. If this option and --no-prompt are omitted, you will be asked about this." + "instances. If these options and --no-prompt are omitted, you will be asked about this." ), ) @click.option( - "--remove-datapath", - type=bool, + "--remove-datapath/--no-remove-datapath", + is_flag=True, default=None, help=( - "Remove this entire instance's datapath. If this option and --no-prompt are omitted, you " - "will be asked about this." + "Remove this entire instance's datapath. If these options and --no-prompt are omitted, " + "you will be asked about this." ), ) -def delete(instance: str, no_prompt: Optional[bool], drop_db: Optional[bool]): +def delete( + instance: str, + interactive: bool, + _create_backup: Optional[bool], + drop_db: Optional[bool], + remove_datapath: Optional[bool], +): loop = asyncio.get_event_loop() - if no_prompt is None: - interactive = None - else: - interactive = not no_prompt - loop.run_until_complete(remove_instance(instance, interactive, drop_db)) + loop.run_until_complete( + remove_instance(instance, interactive, _create_backup, drop_db, remove_datapath) + ) @cli.command() From e04eed4a89295cf8bb790fd8956e7997fa0044dc Mon Sep 17 00:00:00 2001 From: Draper <27962761+Drapersniper@users.noreply.github.com> Date: Fri, 30 Aug 2019 02:05:31 +0100 Subject: [PATCH 129/183] [Bank] Allow bank managers to set the maximum allowed balance in the bank (#2926) * Removes `MAX_BALANCE` from bank, user `bank.get_max_balance()` now `[p]bankset maxbal` can be used to set the maximum bank balance Signed-off-by: Guy * Removes `MAX_BALANCE` from bank, user `bank.get_max_balance()` now `[p]bankset maxbal` can be used to set the maximum bank balance Signed-off-by: Guy * Removes `MAX_BALANCE` from bank, user `bank.get_max_balance()` now `[p]bankset maxbal` can be used to set the maximum bank balance Signed-off-by: Guy * Rename method :facepalm: Signed-off-by: Guy * Updated this to be aware of #2925 Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Addressed Flames review + Fixed 1 bug in errors.py + `[p]leaderboard` and `[p]bank balance` will set the users balance to max balance if the bank maxbal is lower than the previous user balance Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Missed this clarification Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * address Flames review Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> --- changelog.d/2926.breaking.rst | 1 + changelog.d/2926.feature.rst | 1 + redbot/cogs/bank/bank.py | 20 +++++- redbot/cogs/economy/economy.py | 54 +++++++++++++---- redbot/core/bank.py | 107 +++++++++++++++++++++++++++++---- redbot/core/errors.py | 2 +- 6 files changed, 159 insertions(+), 26 deletions(-) create mode 100644 changelog.d/2926.breaking.rst create mode 100644 changelog.d/2926.feature.rst diff --git a/changelog.d/2926.breaking.rst b/changelog.d/2926.breaking.rst new file mode 100644 index 000000000..ea6ed30a8 --- /dev/null +++ b/changelog.d/2926.breaking.rst @@ -0,0 +1 @@ +Removed :cons:`bank.MAX_BALANCE`, use :meth:`bank.get_max_balance()` from now. \ No newline at end of file diff --git a/changelog.d/2926.feature.rst b/changelog.d/2926.feature.rst new file mode 100644 index 000000000..c68f48d5e --- /dev/null +++ b/changelog.d/2926.feature.rst @@ -0,0 +1 @@ +`[p]bankset maxbal` can be used to set the maximum bank balance. diff --git a/redbot/cogs/bank/bank.py b/redbot/cogs/bank/bank.py index 70f06a344..3f8f8a444 100644 --- a/redbot/cogs/bank/bank.py +++ b/redbot/cogs/bank/bank.py @@ -86,11 +86,12 @@ class Bank(commands.Cog): settings = _( "Bank settings:\n\nBank name: {bank_name}\nCurrency: {currency_name}\n" - "Default balance: {default_balance}" + "Default balance: {default_balance}\nMaximum allowed balance: {maximum_bal}" ).format( bank_name=bank_name, currency_name=currency_name, default_balance=humanize_number(default_balance), + maximum_bal=humanize_number(await bank.get_max_balance(ctx.guild)), ) await ctx.send(box(settings)) @@ -130,4 +131,21 @@ class Bank(commands.Cog): await bank.set_currency_name(name, ctx.guild) await ctx.send(_("Currency name has been set to: {name}").format(name=name)) + @bankset.command(name="maxbal") + @check_global_setting_guildowner() + async def bankset_maxbal(self, ctx: commands.Context, *, amount: int): + """Set the maximum balance a user can get.""" + try: + await bank.set_max_balance(amount, ctx.guild) + except ValueError: + # noinspection PyProtectedMember + return await ctx.send( + _("Amount must be greater than zero and less than {max}.").format( + max=humanize_number(bank._MAX_BALANCE) + ) + ) + await ctx.send( + _("Maximum balance has been set to: {amount}").format(amount=humanize_number(amount)) + ) + # ENDSECTION diff --git a/redbot/cogs/economy/economy.py b/redbot/cogs/economy/economy.py index 1f952140d..f0c27a8f6 100644 --- a/redbot/cogs/economy/economy.py +++ b/redbot/cogs/economy/economy.py @@ -1,7 +1,7 @@ import calendar import logging import random -from collections import defaultdict, deque +from collections import defaultdict, deque, namedtuple from enum import Enum from typing import cast, Iterable @@ -20,6 +20,7 @@ T_ = Translator("Economy", __file__) logger = logging.getLogger("red.economy") NUM_ENC = "\N{COMBINING ENCLOSING KEYCAP}" +MOCK_MEMBER = namedtuple("Member", "id guild") class SMReel(Enum): @@ -159,7 +160,10 @@ class Economy(commands.Cog): bal = await bank.get_balance(user) currency = await bank.get_currency_name(ctx.guild) - + max_bal = await bank.get_max_balance(ctx.guild) + if bal > max_bal: + bal = max_bal + await bank.set_balance(user, bal) await ctx.send( _("{user}'s balance is {num} {currency}").format( user=user.display_name, num=humanize_number(bal), currency=currency @@ -363,6 +367,7 @@ class Economy(commands.Cog): """ guild = ctx.guild author = ctx.author + max_bal = await bank.get_max_balance(ctx.guild) if top < 1: top = 10 if await bank.is_global() and show_global: @@ -372,6 +377,9 @@ class Economy(commands.Cog): bank_sorted = await bank.get_leaderboard(positions=top, guild=guild) try: bal_len = len(humanize_number(bank_sorted[0][1]["balance"])) + bal_len_max = len(humanize_number(max_bal)) + if bal_len > bal_len_max: + bal_len = bal_len_max # first user is the largest we'll see except IndexError: return await ctx.send(_("There are no accounts in the bank.")) @@ -394,8 +402,12 @@ class Economy(commands.Cog): if await ctx.bot.is_owner(ctx.author): user_id = f"({str(acc[0])})" name = f"{acc[1]['name']} {user_id}" - balance = humanize_number(acc[1]["balance"]) + balance = acc[1]["balance"] + if balance > max_bal: + balance = max_bal + await bank.set_balance(MOCK_MEMBER(acc[0], guild), balance) + balance = humanize_number(balance) if acc[0] != author.id: temp_msg += ( f"{f'{humanize_number(pos)}.': <{pound_len+2}} " @@ -560,7 +572,8 @@ class Economy(commands.Cog): "Slot cooldown: {slot_time}\n" "Payday amount: {payday_amount}\n" "Payday cooldown: {payday_time}\n" - "Amount given at account registration: {register_amount}" + "Amount given at account registration: {register_amount}\n" + "Maximum allowed balance: {maximum_bal}" ).format( slot_min=humanize_number(await conf.SLOT_MIN()), slot_max=humanize_number(await conf.SLOT_MAX()), @@ -568,6 +581,7 @@ class Economy(commands.Cog): payday_time=humanize_number(await conf.PAYDAY_TIME()), payday_amount=humanize_number(await conf.PAYDAY_CREDITS()), register_amount=humanize_number(await bank.get_default_balance(guild)), + maximum_bal=humanize_number(await bank.get_max_balance(guild)), ) ) ) @@ -639,9 +653,13 @@ class Economy(commands.Cog): async def paydayamount(self, ctx: commands.Context, creds: int): """Set the amount earned each payday.""" guild = ctx.guild - if creds <= 0 or creds > bank.MAX_BALANCE: - await ctx.send(_("Har har so funny.")) - return + max_balance = await bank.get_max_balance(ctx.guild) + if creds <= 0 or creds > max_balance: + return await ctx.send( + _("Amount must be greater than zero and less than {maxbal}.").format( + maxbal=humanize_number(max_balance) + ) + ) credits_name = await bank.get_currency_name(guild) if await bank.is_global(): await self.config.PAYDAY_CREDITS.set(creds) @@ -657,9 +675,13 @@ class Economy(commands.Cog): async def rolepaydayamount(self, ctx: commands.Context, role: discord.Role, creds: int): """Set the amount earned each payday for a role.""" guild = ctx.guild - if creds <= 0 or creds > bank.MAX_BALANCE: - await ctx.send(_("Har har so funny.")) - return + max_balance = await bank.get_max_balance(ctx.guild) + if creds <= 0 or creds > max_balance: + return await ctx.send( + _("Amount must be greater than zero and less than {maxbal}.").format( + maxbal=humanize_number(max_balance) + ) + ) credits_name = await bank.get_currency_name(guild) if await bank.is_global(): await ctx.send(_("The bank must be per-server for per-role paydays to work.")) @@ -676,10 +698,16 @@ class Economy(commands.Cog): async def registeramount(self, ctx: commands.Context, creds: int): """Set the initial balance for new bank accounts.""" guild = ctx.guild - if creds < 0: - creds = 0 + max_balance = await bank.get_max_balance(ctx.guild) credits_name = await bank.get_currency_name(guild) - await bank.set_default_balance(creds, guild) + try: + await bank.set_default_balance(creds, guild) + except ValueError: + return await ctx.send( + _("Amount must be greater than or equal to zero and less than {maxbal}.").format( + maxbal=humanize_number(max_balance) + ) + ) await ctx.send( _("Registering an account will now give {num} {currency}.").format( num=humanize_number(creds), currency=credits_name diff --git a/redbot/core/bank.py b/redbot/core/bank.py index de7060ea8..599956a29 100644 --- a/redbot/core/bank.py +++ b/redbot/core/bank.py @@ -12,7 +12,6 @@ from .i18n import Translator _ = Translator("Bank API", __file__) __all__ = [ - "MAX_BALANCE", "Account", "get_balance", "set_balance", @@ -30,20 +29,28 @@ __all__ = [ "set_currency_name", "get_default_balance", "set_default_balance", + "get_max_balance", + "set_max_balance", "cost", "AbortPurchase", ] -MAX_BALANCE = 2 ** 63 - 1 +_MAX_BALANCE = 2 ** 63 - 1 _DEFAULT_GLOBAL = { "is_global": False, "bank_name": "Twentysix bank", "currency": "credits", "default_balance": 100, + "max_balance": _MAX_BALANCE, } -_DEFAULT_GUILD = {"bank_name": "Twentysix bank", "currency": "credits", "default_balance": 100} +_DEFAULT_GUILD = { + "bank_name": "Twentysix bank", + "currency": "credits", + "default_balance": 100, + "max_balance": _MAX_BALANCE, +} _DEFAULT_MEMBER = {"name": "", "balance": 0, "created_at": 0} @@ -186,10 +193,11 @@ async def set_balance(member: discord.Member, amount: int) -> int: """ if amount < 0: raise ValueError("Not allowed to have negative balance.") - if amount > MAX_BALANCE: + max_bal = await get_max_balance(member.guild) + if amount > max_bal: currency = await get_currency_name(member.guild) raise errors.BalanceTooHigh( - user=member.display_name, max_balance=MAX_BALANCE, currency_name=currency + user=member.display_name, max_balance=max_bal, currency_name=currency ) if await is_global(): group = _conf.user(member) @@ -329,10 +337,12 @@ async def transfer_credits(from_: discord.Member, to: discord.Member, amount: in ) ) - if await get_balance(to) + amount > MAX_BALANCE: + max_bal = await get_max_balance(to.guild) + + if await get_balance(to) + amount > max_bal: currency = await get_currency_name(to.guild) raise errors.BalanceTooHigh( - user=to.display_name, max_balance=MAX_BALANCE, currency_name=currency + user=to.display_name, max_balance=max_bal, currency_name=currency ) await withdraw_credits(from_, amount) @@ -635,6 +645,75 @@ async def set_currency_name(name: str, guild: discord.Guild = None) -> str: return name +async def get_max_balance(guild: discord.Guild = None) -> int: + """Get the max balance for the bank. + + Parameters + ---------- + guild : `discord.Guild`, optional + The guild to get the max balance for (required if bank is + guild-specific). + + Returns + ------- + int + The maximum allowed balance. + + Raises + ------ + RuntimeError + If the bank is guild-specific and guild was not provided. + + """ + if await is_global(): + return await _conf.max_balance() + elif guild is not None: + return await _conf.guild(guild).max_balance() + else: + raise RuntimeError("Guild must be provided.") + + +async def set_max_balance(amount: int, guild: discord.Guild = None) -> int: + """Set the maximum balance for the bank. + + Parameters + ---------- + amount : int + The new maximum balance. + guild : `discord.Guild`, optional + The guild to set the max balance for (required if bank is + guild-specific). + + Returns + ------- + int + The new maximum balance. + + Raises + ------ + RuntimeError + If the bank is guild-specific and guild was not provided. + ValueError + If the amount is less than 0 or higher than 2 ** 63 - 1. + """ + if not (0 < amount <= _MAX_BALANCE): + raise ValueError( + "Amount must be greater than zero and less than {max}.".format( + max=humanize_number(_MAX_BALANCE, override_locale="en_US") + ) + ) + + if await is_global(): + await _conf.max_balance.set(amount) + elif guild is not None: + await _conf.guild(guild).max_balance.set(amount) + else: + raise RuntimeError( + "Guild must be provided if setting the maximum balance of a guild-specific bank." + ) + return amount + + async def get_default_balance(guild: discord.Guild = None) -> int: """Get the current default balance amount. @@ -684,12 +763,18 @@ async def set_default_balance(amount: int, guild: discord.Guild = None) -> int: RuntimeError If the bank is guild-specific and guild was not provided. ValueError - If the amount is invalid. + If the amount is less than 0 or higher than the max allowed balance. """ amount = int(amount) - if amount < 0: - raise ValueError("Amount must be greater than zero.") + max_bal = await get_max_balance(guild) + + if not (0 < amount <= max_bal): + raise ValueError( + "Amount must be greater than zero and less than {max}.".format( + max=humanize_number(max_bal, override_locale="en_US") + ) + ) if await is_global(): await _conf.default_balance.set(amount) @@ -714,7 +799,7 @@ def cost(amount: int): You can intentionally refund by raising `AbortPurchase` (this error will be consumed and not show to users) - Other exceptions will propogate and will be handled by Red's (and/or + Other exceptions will propagate and will be handled by Red's (and/or any other configured) error handling. """ if not isinstance(amount, int) or amount < 0: diff --git a/redbot/core/errors.py b/redbot/core/errors.py index 66f5f347b..5396ef240 100644 --- a/redbot/core/errors.py +++ b/redbot/core/errors.py @@ -46,7 +46,7 @@ class BalanceTooHigh(BankError, OverflowError): self.currency_name = currency_name def __str__(self) -> str: - return _("{user}'s balance cannot rise above max {currency}.").format( + return _("{user}'s balance cannot rise above {max} {currency}.").format( user=self.user, max=humanize_number(self.max_balance), currency=self.currency_name ) From b8a7a665665f4317ef733176d5b6fef072080a4f Mon Sep 17 00:00:00 2001 From: aikaterna <20862007+aikaterna@users.noreply.github.com> Date: Thu, 29 Aug 2019 18:18:43 -0700 Subject: [PATCH 130/183] [Core] Inviteset public and perms help cleanup (#2963) * [Core] Inviteset public and perms help cleanup * Towncrier entry --- changelog.d/2963.bugfix.rst | 1 + redbot/core/core_commands.py | 9 ++++----- 2 files changed, 5 insertions(+), 5 deletions(-) create mode 100644 changelog.d/2963.bugfix.rst diff --git a/changelog.d/2963.bugfix.rst b/changelog.d/2963.bugfix.rst new file mode 100644 index 000000000..a6fe397e2 --- /dev/null +++ b/changelog.d/2963.bugfix.rst @@ -0,0 +1 @@ +[Core] Inviteset public and perms help string cleanup \ No newline at end of file diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index fabd4cd78..50e66854b 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -446,8 +446,7 @@ class Core(commands.Cog, CoreLogic): @inviteset.command() async def public(self, ctx, confirm: bool = False): """ - Define if the command should be accessible\ - for the average users. + Define if the command should be accessible for the average user. """ if await self.bot.db.invite_public(): await self.bot.db.invite_public.set(False) @@ -479,13 +478,13 @@ class Core(commands.Cog, CoreLogic): Make the bot create its own role with permissions on join. The bot will create its own role with the desired permissions\ - when he join a new server. This is a special role that can't be\ + when it joins a new server. This is a special role that can't be\ deleted or removed from the bot. - For that, you need to give a valid permissions level. + For that, you need to provide a valid permissions level. You can generate one here: https://discordapi.com/permissions.html - Please note that you might need the two factor authentification for\ + Please note that you might need two factor authentification for\ some permissions. """ await self.bot.db.invite_perm.set(level) From efcf91e934b9cadee52c99a6005c5ba3bbae66e5 Mon Sep 17 00:00:00 2001 From: Flame442 <34169552+Flame442@users.noreply.github.com> Date: Thu, 29 Aug 2019 21:19:19 -0400 Subject: [PATCH 131/183] Catch discord.errors.Forbidden when DMing a user the invite message (#2948) * Catch discord.errors.Forbidden when DMing a user the invite message Uses the same error message as `[p]help` * Create 2948.bugfix.rst * You saw nothing --- changelog.d/2948.bugfix.rst | 1 + redbot/core/core_commands.py | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 changelog.d/2948.bugfix.rst diff --git a/changelog.d/2948.bugfix.rst b/changelog.d/2948.bugfix.rst new file mode 100644 index 000000000..aeee92878 --- /dev/null +++ b/changelog.d/2948.bugfix.rst @@ -0,0 +1 @@ +The [p]invite command no longer errors when a user has the bot blocked or DMs disabled in the server. diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index 50e66854b..6eb2b7c9a 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -435,7 +435,13 @@ class Core(commands.Cog, CoreLogic): @commands.check(CoreLogic._can_get_invite_url) async def invite(self, ctx): """Show's Red's invite url""" - await ctx.author.send(await self._invite_url()) + try: + await ctx.author.send(await self._invite_url()) + except discord.errors.Forbidden: + await ctx.send( + "I couldn't send the invite message to you in DM. " + "Either you blocked me or you disabled DMs in this server." + ) @commands.group() @checks.is_owner() From ef3ac77bd8a652d90de478ccc67247179550c6a8 Mon Sep 17 00:00:00 2001 From: DJtheRedstoner <52044242+DJtheRedstoner@users.noreply.github.com> Date: Fri, 30 Aug 2019 17:20:34 -0400 Subject: [PATCH 132/183] Fix issues with embed_requested() (#2966) * Fix issues with embed_requested() * Update embed_requested() Make embed_requested()'s user settings only affect DM's * Towncrier for #2966 --- changelog.d/2966.bugfix.rst | 1 + redbot/core/bot.py | 4 +--- 2 files changed, 2 insertions(+), 3 deletions(-) create mode 100644 changelog.d/2966.bugfix.rst diff --git a/changelog.d/2966.bugfix.rst b/changelog.d/2966.bugfix.rst new file mode 100644 index 000000000..b615eace2 --- /dev/null +++ b/changelog.d/2966.bugfix.rst @@ -0,0 +1 @@ +Make embedset user only affect DM's diff --git a/redbot/core/bot.py b/redbot/core/bot.py index a7c82f058..6a2150a25 100644 --- a/redbot/core/bot.py +++ b/redbot/core/bot.py @@ -203,9 +203,7 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d bool :code:`True` if an embed is requested """ - if isinstance(channel, discord.abc.PrivateChannel) or ( - command and command == self.get_command("help") - ): + if isinstance(channel, discord.abc.PrivateChannel): user_setting = await self.db.user(user).embeds() if user_setting is not None: return user_setting From 7959e0c916cc1622bf8fb156e5c76b210a5ccc70 Mon Sep 17 00:00:00 2001 From: Draper <27962761+Drapersniper@users.noreply.github.com> Date: Fri, 30 Aug 2019 22:35:25 +0100 Subject: [PATCH 133/183] [Bank] Allow Bot Owner/Guild Owners to remove invalid users from the bank (#2845) * Add command to remove dead members from bank * Add a global check * Added a FIXME so `bank_local_clean` is updated once bulk-update is implemented Added a brief warning to warn devs not to use the `_get_base_group` as it can mess up their config files Removed a redundant existence check * Updated commit to reflect changes requested in review * Updated commit to reflect changes requested in review * :facepalm: * Return command to run with user id so we don't worry about safeguarding the command agaisn't invalid formats * Braaaainnn Removed aliases that used old naming scheme * TL:DR Added global bank support, and rework permissions Renamed `bank_local_clean` to `bank_prune` Added support for global banks to `bank_prune` `bank_prune` will now raise `BankPruneError` if trying to prune a local bank and `guild` is not supplied Renamed `cleanup` subgroup to `prune` `prune` subgroup will have 3 commands: `user` : Deletes the bank account for the specified member : Accepts `Union[discord.Member, discord.User, int]` `global` : Prune global bank accounts for all users who no longer share a server with the bot `local` : Prune local bank accounts for all users who are no longer in the guild Changed check for `prune` subgroup to be `@check_global_setting_admin()` [p]bank prune local : Can be run by Guild owners only [p]bank prune global : Can be run by Bot Owner only [p]bank prune user : Can be run by Admins, Guild owners and Bot Owner * Yikes ... Updated kwarg name * Fixed unexpected unindent: docstring of redbot.core.bank.bank_prune:14:Field list ends without a blank line * ... * 3rd time lucky? * 4th time lucky? * Fix Docstring * Initial commit to address review by Flame * Updated code to reflect Flame's comments * Skip pruning of unavailable guilds * Fixed typo in string * *sigh* black is the bane of my existence * addressed Flames commends Fixed [p]bank prune user, When run via DM it will now return an error message to the user (Thanks jack1142) * Time to get some sleep * 'DM' > 'DMs' in string * Add towncrier entries Signed-off-by: Draper * Update to reflect Flame's review Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> --- changelog.d/2845.feature.1.rst | 5 ++ changelog.d/2845.feature.2.rst | 3 ++ redbot/cogs/economy/economy.py | 86 +++++++++++++++++++++++++++++++++- redbot/core/bank.py | 56 ++++++++++++++++++++++ redbot/core/config.py | 6 +++ redbot/core/errors.py | 4 ++ 6 files changed, 158 insertions(+), 2 deletions(-) create mode 100644 changelog.d/2845.feature.1.rst create mode 100644 changelog.d/2845.feature.2.rst diff --git a/changelog.d/2845.feature.1.rst b/changelog.d/2845.feature.1.rst new file mode 100644 index 000000000..5a1cdcf30 --- /dev/null +++ b/changelog.d/2845.feature.1.rst @@ -0,0 +1,5 @@ +Added New commands to Economy + +- ``[p]bank prune user`` - This will delete a user's bank account. +- ``[p]bank prune local`` - This will prune the bank of accounts from users no longer in the server. +- ``[p]bank prune global`` - This will prune the global bank of accounts from users who do not share any servers with the bot. \ No newline at end of file diff --git a/changelog.d/2845.feature.2.rst b/changelog.d/2845.feature.2.rst new file mode 100644 index 000000000..63ac4a83a --- /dev/null +++ b/changelog.d/2845.feature.2.rst @@ -0,0 +1,3 @@ +Added :func:`bank_prune` to :module:`redbot.core.bank` + +- :func:`bank_prune` can be used to delete a specific user's bank account or remove all invalid bank accounts (For users who are not in the guild if bank is local or share servers with the bot if bank is global). \ No newline at end of file diff --git a/redbot/cogs/economy/economy.py b/redbot/cogs/economy/economy.py index f0c27a8f6..7029cedae 100644 --- a/redbot/cogs/economy/economy.py +++ b/redbot/cogs/economy/economy.py @@ -3,12 +3,13 @@ import logging import random from collections import defaultdict, deque, namedtuple from enum import Enum -from typing import cast, Iterable +from typing import cast, Iterable, Union import discord from redbot.cogs.bank import check_global_setting_guildowner, check_global_setting_admin -from redbot.core import Config, bank, commands, errors +from redbot.cogs.mod.converters import RawUserIds +from redbot.core import Config, bank, commands, errors, checks from redbot.core.i18n import Translator, cog_i18n from redbot.core.utils.chat_formatting import box, humanize_number from redbot.core.utils.menus import menu, DEFAULT_CONTROLS @@ -257,6 +258,87 @@ class Economy(commands.Cog): ) ) + @_bank.group(name="prune") + @check_global_setting_admin() + async def _prune(self, ctx): + """Prune bank accounts.""" + pass + + @_prune.command(name="local") + @commands.guild_only() + @checks.guildowner() + async def _local(self, ctx, confirmation: bool = False): + """Prune bank accounts for users no longer in the server.""" + global_bank = await bank.is_global() + if global_bank is True: + return await ctx.send(_("This command cannot be used with a global bank.")) + + if confirmation is False: + await ctx.send( + _( + "This will delete all bank accounts for users no longer in this server." + "\nIf you're sure, type " + "`{prefix}bank prune local yes`" + ).format(prefix=ctx.prefix) + ) + else: + await bank.bank_prune(self.bot, guild=ctx.guild) + await ctx.send( + _("Bank accounts for users no longer in this server have been deleted.") + ) + + @_prune.command(name="global") + @checks.is_owner() + async def _global(self, ctx, confirmation: bool = False): + """Prune bank accounts for users who no longer share a server with the bot.""" + global_bank = await bank.is_global() + if global_bank is False: + return await ctx.send(_("This command cannot be used with a local bank.")) + + if confirmation is False: + await ctx.send( + _( + "This will delete all bank accounts for users " + "who no longer share a server with the bot." + "\nIf you're sure, type `{prefix}bank prune global yes`" + ).format(prefix=ctx.prefix) + ) + else: + await bank.bank_prune(self.bot) + await ctx.send( + _( + "Bank accounts for users who " + "no longer share a server with the bot have been pruned." + ) + ) + + @_prune.command(usage=" [confirmation=False]") + async def user( + self, ctx, member_or_id: Union[discord.Member, RawUserIds], confirmation: bool = False + ): + """Delete the bank account of a specified user.""" + global_bank = await bank.is_global() + if global_bank is False and ctx.guild is None: + return await ctx.send(_("This command cannot be used in DMs with a local bank.")) + try: + name = member_or_id.display_name + uid = member_or_id.id + except AttributeError: + name = member_or_id + uid = member_or_id + + if confirmation is False: + await ctx.send( + _( + "This will delete {name}'s bank account." + "\nIf you're sure, type " + "`{prefix}bank prune user {id} yes`" + ).format(prefix=ctx.prefix, id=uid, name=name) + ) + else: + await bank.bank_prune(self.bot, guild=ctx.guild, user_id=uid) + await ctx.send(_("The bank account for {name} has been pruned.").format(name=name)) + @guild_only_check() @commands.command() async def payday(self, ctx: commands.Context): diff --git a/redbot/core/bank.py b/redbot/core/bank.py index 599956a29..a0b2d9399 100644 --- a/redbot/core/bank.py +++ b/redbot/core/bank.py @@ -8,6 +8,8 @@ import discord from redbot.core.utils.chat_formatting import humanize_number from . import Config, errors, commands from .i18n import Translator +from .bot import Red +from .errors import BankPruneError _ = Translator("Bank API", __file__) @@ -33,6 +35,7 @@ __all__ = [ "set_max_balance", "cost", "AbortPurchase", + "bank_prune", ] _MAX_BALANCE = 2 ** 63 - 1 @@ -365,6 +368,59 @@ async def wipe_bank(guild: Optional[discord.Guild] = None) -> None: await _conf.clear_all_members(guild) +async def bank_prune(bot: Red, guild: discord.Guild = None, user_id: int = None) -> None: + """Prune bank accounts from the bank. + + Parameters + ---------- + bot : Red + The bot. + guild : discord.Guild + The guild to prune. This is required if the bank is set to local. + user_id : int + The id of the user whose account will be pruned. + If supplied this will prune only this user's bank account + otherwise it will prune all invalid users from the bank. + + Raises + ------ + BankPruneError + If guild is :code:`None` and the bank is Local. + + """ + + global_bank = await is_global() + + if global_bank: + _guilds = [g for g in bot.guilds if not g.unavailable and g.large and not g.chunked] + _uguilds = [g for g in bot.guilds if g.unavailable] + group = _conf._get_base_group(_conf.USER) + + else: + if guild is None: + raise BankPruneError("'guild' can't be None when pruning a local bank") + _guilds = [guild] if not guild.unavailable and guild.large else [] + _uguilds = [guild] if guild.unavailable else [] + group = _conf._get_base_group(_conf.MEMBER, str(guild.id)) + + if user_id is None: + await bot.request_offline_members(*_guilds) + accounts = await group.all() + tmp = accounts.copy() + members = bot.get_all_members() if global_bank else guild.members + user_list = {str(m.id) for m in members if m.guild not in _uguilds} + + async with group.all() as bank_data: # FIXME: use-config-bulk-update + if user_id is None: + for acc in tmp: + if acc not in user_list: + del bank_data[acc] + else: + user_id = str(user_id) + if user_id in bank_data: + del bank_data[user_id] + + async def get_leaderboard(positions: int = None, guild: discord.Guild = None) -> List[tuple]: """ Gets the bank's leaderboard diff --git a/redbot/core/config.py b/redbot/core/config.py index 1fed17bba..2f4ba2ba7 100644 --- a/redbot/core/config.py +++ b/redbot/core/config.py @@ -883,6 +883,12 @@ class Config: self.custom_groups[group_identifier] = identifier_count def _get_base_group(self, category: str, *primary_keys: str) -> Group: + """ + .. warning:: + :code:`Config._get_base_group()` should not be used to get config groups as + this is not a safe operation. Using this could end up corrupting your config file. + """ + # noinspection PyTypeChecker pkey_len, is_custom = ConfigCategory.get_pkey_info(category, self.custom_groups) identifier_data = IdentifierData( cog_name=self.cog_name, diff --git a/redbot/core/errors.py b/redbot/core/errors.py index 5396ef240..1fec3d4eb 100644 --- a/redbot/core/errors.py +++ b/redbot/core/errors.py @@ -51,6 +51,10 @@ class BalanceTooHigh(BankError, OverflowError): ) +class BankPruneError(BankError): + """Raised when trying to prune a local bank and no server is specified.""" + + class MissingExtraRequirements(RedError): """Raised when an extra requirement is missing but required.""" From d9e774f07953f466550de24b168de4e11577eeed Mon Sep 17 00:00:00 2001 From: Flame442 <34169552+Flame442@users.noreply.github.com> Date: Fri, 30 Aug 2019 17:41:40 -0400 Subject: [PATCH 134/183] [Docs] Typo fix (#2953) * Fixed a typo * Create 2953.misc.rst --- .github/CONTRIBUTING.md | 2 +- changelog.d/2953.misc.rst | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 changelog.d/2953.misc.rst diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index b76f1a7d5..879d1c61c 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -124,7 +124,7 @@ Red uses towncrier to create changelogs. To create a towncrier entry for your PR, create a file in `changelog.d` for it. If the changes are for a specific cog, place the file in the related subdirectory. The filename should be of the format `issuenumber.changetype(.count).rst`, where `(.count)` is an optional -part of the filename should multiple entries for the same issue number and type be neccessary. +part of the filename should multiple entries for the same issue number and type be necessary. If there is not an issue associated with your PR, you may use the PR number in place of the issue number. diff --git a/changelog.d/2953.misc.rst b/changelog.d/2953.misc.rst new file mode 100644 index 000000000..b30f69e77 --- /dev/null +++ b/changelog.d/2953.misc.rst @@ -0,0 +1 @@ +Fixed a typo in CONTRIBUTING.md. From 25fb389a7d7cbb99ef3ed7e882192f1043682f9b Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Sat, 31 Aug 2019 08:08:26 +1000 Subject: [PATCH 135/183] [Docs] Update linux install docs, redo venv docs (#2920) * [Docs] Update linux install docs, redo venv docs Some of our pre-req installation docs needed updating on Windows - this adds new sections for Fedora Linux and Debian/Raspbian Buster, and also removes some unnecessary pre-requirements from other distributions. These have all been tested on fresh VPSes, installing Red both in venvs and with --user, and they all seem to work. Also, apparently the venv docs were too scary before. These changes try to make it clear that it's easier to use than users may think. This also includes a little note to stop users from accidentally installing Python with pyenv after installing pre-requirements on Ubuntu. Signed-off-by: Toby Harradine * Add changelog entries Signed-off-by: Toby Harradine * Update officially supported platforms in README.md Signed-off-by: Toby Harradine * Combine sections and add openSUSE Signed-off-by: Toby Harradine * Include example of using `--user` flag Signed-off-by: Toby Harradine * Use `py -3.7` on Windows outside of venv Signed-off-by: Toby Harradine * Reorganise changelog entries Signed-off-by: Toby Harradine --- README.md | 7 +- changelog.d/2558.docs.rst | 1 + changelog.d/2920.docs.rst | 1 + docs/install_linux_mac.rst | 179 ++++++++++++++++++++++++++----------- docs/install_windows.rst | 12 ++- docs/venv_guide.rst | 31 +++++-- 6 files changed, 162 insertions(+), 69 deletions(-) create mode 100644 changelog.d/2558.docs.rst create mode 100644 changelog.d/2920.docs.rst diff --git a/README.md b/README.md index 9275c8ef6..7d7fd9a6b 100644 --- a/README.md +++ b/README.md @@ -85,12 +85,7 @@ community of cog repositories.** - [Windows](https://red-discordbot.readthedocs.io/en/stable/install_windows.html) - [MacOS](https://red-discordbot.readthedocs.io/en/stable/install_linux_mac.html) -- [Ubuntu](https://red-discordbot.readthedocs.io/en/stable/install_linux_mac.html) -- [Debian Stretch](https://red-discordbot.readthedocs.io/en/stable/install_linux_mac.html) -- [CentOS 7](https://red-discordbot.readthedocs.io/en/stable/install_linux_mac.html) -- [Arch Linux](https://red-discordbot.readthedocs.io/en/stable/install_linux_mac.html) -- [Raspbian Stretch](https://red-discordbot.readthedocs.io/en/stable/install_linux_mac.html) - +- [Most major linux distributions](https://red-discordbot.readthedocs.io/en/stable/install_linux_mac.html) If after reading the guide you are still experiencing issues, feel free to join the [Official Discord Server](https://discord.gg/red) and ask in the **#support** channel for help. diff --git a/changelog.d/2558.docs.rst b/changelog.d/2558.docs.rst new file mode 100644 index 000000000..bb6012427 --- /dev/null +++ b/changelog.d/2558.docs.rst @@ -0,0 +1 @@ +Updated linux install docs, adding sections for Fedora Linux, Debian/Raspbian Buster, and openSUSE. diff --git a/changelog.d/2920.docs.rst b/changelog.d/2920.docs.rst new file mode 100644 index 000000000..d50d6f591 --- /dev/null +++ b/changelog.d/2920.docs.rst @@ -0,0 +1 @@ +Reworded virtual environment guide to make it sound less scary. diff --git a/docs/install_linux_mac.rst b/docs/install_linux_mac.rst index cb58b13db..22a87ee15 100644 --- a/docs/install_linux_mac.rst +++ b/docs/install_linux_mac.rst @@ -7,7 +7,8 @@ Installing Red on Linux or Mac .. warning:: For safety reasons, DO NOT install Red with a root user. If you are unsure how to create - a new user, see the man page for the ``useradd`` command. + a new user on Linux, see `this guide by DigitalOcean + `_. ------------------------------- Installing the pre-requirements @@ -21,6 +22,9 @@ The pre-requirements are: - git - Java Runtime Environment 8 or later (for audio support) +We also recommend installing some basic compiler tools, in case our dependencies don't provide +pre-built "wheels" for your architecture. + .. _install-arch: ~~~~~~~~~~ @@ -29,48 +33,71 @@ Arch Linux .. code-block:: none - sudo pacman -Syu python-pip git base-devel jre8-openjdk + sudo pacman -Syu python python-pip git jre-openjdk-headless base-devel .. _install-centos: -.. _install-fedora: .. _install-rhel: -~~~~~~~~~~~~~~~~~~~~~~~~~~ -CentOS 7, Fedora, and RHEL -~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~ +CentOS and RHEL 7 +~~~~~~~~~~~~~~~~~ .. code-block:: none yum -y groupinstall development yum -y install https://centos7.iuscommunity.org/ius-release.rpm sudo yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel \ - openssl-devel xz xz-devel libffi-devel git2u java-1.8.0-openjdk + openssl-devel xz xz-devel libffi-devel findutils git2u java-1.8.0-openjdk Complete the rest of the installation by `installing Python 3.7 with pyenv `. .. _install-debian: .. _install-raspbian: -~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~ +Debian and Raspbian +~~~~~~~~~~~~~~~~~~~ + +Debian and Raspbian Buster +************************** + +Debian and Raspbian Buster have all required packages available in official repositories. Install +them with apt: + +.. code-block:: none + + sudo apt update + sudo apt install python3 python3-dev python3-venv python3-pip git default-jre-headless \ + build-essential + Debian and Raspbian Stretch -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. warning:: - - Audio will not work on Raspberry Pi's **below** 2B. This is a CPU problem and - *cannot* be fixed. +*************************** We recommend installing pyenv as a method of installing non-native versions of python on Debian/Raspbian Stretch. This guide will tell you how. First, run the following commands: .. code-block:: none - sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \ - libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \ - xz-utils tk-dev libffi-dev liblzma-dev python3-openssl git unzip default-jre + sudo apt update + sudo apt install build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev \ + libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev \ + liblzma-dev python3-openssl git default-jre-headless Complete the rest of the installation by `installing Python 3.7 with pyenv `. +.. _install-fedora: + +~~~~~~~~~~~~ +Fedora Linux +~~~~~~~~~~~~ + +Fedora Linux 29 and above has all required packages available in official repositories. Install +them with dnf: + +.. code-block:: none + + sudo dnf install python3 python3-devel git java-latest-openjdk-headless @development-tools + .. _install-mac: ~~~ @@ -94,42 +121,83 @@ one-by-one: brew tap caskroom/versions brew cask install homebrew/cask-versions/adoptopenjdk8 -It's possible you will have network issues. If so, go in your Applications folder, inside it, go in the Python 3.7 folder then double click ``Install certificates.command`` +It's possible you will have network issues. If so, go in your Applications folder, inside it, go in +the Python 3.7 folder then double click ``Install certificates.command``. + +.. _install-opensuse: + +~~~~~~~~ +openSUSE +~~~~~~~~ + +openSUSE Leap +************* + +We recommend installing a community package to get Python 3.7 on openSUSE Leap. This package will +be installed to the ``/opt`` directory. + +First, add the Opt-Python community repository: + +.. code-block:: none + + source /etc/os-release + sudo zypper ar -f https://download.opensuse.org/repositories/home:/Rotkraut:/Opt-Python/openSUSE_Leap_${VERSION_ID}/ Opt-Python + +Now install the pre-requirements with zypper: + +.. code-block:: none + + sudo zypper install opt-python37 opt-python37-setuptools git-core java-11-openjdk-headless + sudo zypper install -t pattern devel_basis + +Since Python is now installed to ``/opt/python``, we should add it to PATH. You can add a file in +``/etc/profile.d/`` to do this: + +.. code-block:: none + + echo 'export PATH="/opt/python/bin:$PATH"' | sudo tee /etc/profile.d/opt-python.sh + source /etc/profile.d/opt-python.sh + +Now, install pip with easy_install: + +.. code-block:: none + + sudo /opt/python/bin/easy_install-3.7 pip + +openSUSE Tumbleweed +******************* + +openSUSE Tumbleweed has all required dependencies available in official repositories. Install them +with zypper: + +.. code-block:: none + + sudo zypper install python3-base python3-pip git-core java-12-openjdk-headless + sudo zypper install -t pattern devel_basis .. _install-ubuntu: -.. _install-ubuntu-bionic: -.. _install-ubuntu-cosmic: -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Ubuntu 18.04 Bionic Beaver and 18.10 Cosmic Cuttlefish -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~ +Ubuntu +~~~~~~ + +.. note:: **Ubuntu 16.04 Users** + + You must add a 3rd-party repository to install Python 3.7 on Ubuntu 16.04 with apt. We + recommend the ``deadsnakes`` repository: + + .. code-block:: none + + sudo apt install software-properties-common + sudo add-apt-repository ppa:deadsnakes/ppa + +Install the pre-requirements with apt: .. code-block:: none - sudo apt install python3.7 python3.7-dev python3.7-venv python3-pip build-essential \ - libssl-dev libffi-dev git unzip default-jre -y - -.. _install-ubuntu-xenial: - -~~~~~~~~~~~~~~~~~~~~~~~~~ -Ubuntu 16.04 Xenial Xerus -~~~~~~~~~~~~~~~~~~~~~~~~~ - -We recommend adding the ``deadsnakes`` apt repository to install Python 3.7 or greater: - -.. code-block:: none - - sudo apt install software-properties-common - sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update - -Now, install python, pip, git and java with the following commands: - -.. code-block:: none - - sudo apt install python3.7 python3.7-dev build-essential libssl-dev libffi-dev git \ - unzip default-jre curl -y - curl https://bootstrap.pypa.io/get-pip.py | sudo python3.7 + sudo apt install python3.7 python3.7-dev python3.7-venv python3-pip git default-jre-headless \ + build-essential .. _install-python-pyenv: @@ -137,6 +205,11 @@ Now, install python, pip, git and java with the following commands: Installing Python with pyenv ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. note:: + + If you followed one of the sections above, and weren't linked here afterwards, you should skip + this section. + On distributions where Python 3.7 needs to be compiled from source, we recommend the use of pyenv. This simplifies the compilation process and has the added bonus of simplifying setting up Red in a virtual environment. @@ -152,7 +225,7 @@ Then run the following command: .. code-block:: none - CONFIGURE_OPTS=--enable-optimizations pyenv install 3.7.2 -v + CONFIGURE_OPTS=--enable-optimizations pyenv install 3.7.4 -v This may take a long time to complete, depending on your hardware. For some machines (such as Raspberry Pis and micro-tier VPSes), it may take over an hour; in this case, you may wish to remove @@ -164,7 +237,7 @@ After that is finished, run: .. code-block:: none - pyenv global 3.7.2 + pyenv global 3.7.4 Pyenv is now installed and your system should be configured to run Python 3.7. @@ -172,8 +245,8 @@ Pyenv is now installed and your system should be configured to run Python 3.7. Creating a Virtual Environment ------------------------------ -We **strongly** recommend installing Red into a virtual environment. See the section -`installing-in-virtual-environment`. +We **strongly** recommend installing Red into a virtual environment. Don't be scared, it's very +straightforward. See the section `installing-in-virtual-environment`. .. _installing-red-linux-mac: @@ -186,7 +259,11 @@ Choose one of the following commands to install Red. .. note:: If you're not inside an activated virtual environment, include the ``--user`` flag with all - ``python3.7 -m pip`` commands. + ``python3.7 -m pip install`` commands, like this: + + .. code-block:: none + + python3.7 -m pip install --user -U Red-DiscordBot To install without MongoDB support: diff --git a/docs/install_windows.rst b/docs/install_windows.rst index ad316cb58..3b42d75af 100644 --- a/docs/install_windows.rst +++ b/docs/install_windows.rst @@ -36,8 +36,8 @@ Manually installing dependencies * `Python `_ - Red needs Python 3.7.0 or greater -.. note:: Please make sure that the box to add Python to PATH is CHECKED, otherwise - you may run into issues when trying to run Red. +.. attention:: Please make sure that the box to add Python to PATH is CHECKED, otherwise + you may run into issues when trying to run Red. * `Git `_ @@ -62,8 +62,12 @@ Installing Red .. note:: - If you're not inside an activated virtual environment, include the ``--user`` flag with all - ``pip`` commands. + If you're not inside an activated virtual environment, use ``py -3.7`` in place of + ``python``, and include the ``--user`` flag with all ``pip install`` commands, like this: + + .. code-block:: none + + py -3.7 -m pip install --user -U Red-DiscordBot * Normal installation: diff --git a/docs/venv_guide.rst b/docs/venv_guide.rst index 636fb7435..59cb97398 100644 --- a/docs/venv_guide.rst +++ b/docs/venv_guide.rst @@ -3,9 +3,23 @@ ======================================= Installing Red in a Virtual Environment ======================================= +Creating a virtual environment is really easy and usually prevents many common installation +problems. Firstly, simply choose how you'd like to create your virtual environment: + +* :ref:`using-venv` (quick and easy, involves two commands) +* :ref:`using-pyenv-virtualenv` (recommended if you installed Python with pyenv) + +**Why Should I Use a Virtual Environment?** + +90% of the installation and setup issues raised in our support channels are resolved when the user +creates a virtual environment. + +**What Are Virtual Environments For?** + Virtual environments allow you to isolate red's library dependencies, cog dependencies and python -binaries from the rest of your system. It is strongly recommended you use this if you use python -for more than just Red. +binaries from the rest of your system. It also makes sure Red and its dependencies are installed to +a predictable location. It makes uninstalling Red as simple as removing a single folder, without +worrying about losing your data or other things on your system becoming broken. .. _using-venv: @@ -17,18 +31,18 @@ python. First, choose a directory where you would like to create your virtual environment. It's a good idea to keep it in a location which is easy to type out the path to. From now, we'll call it -``path/to/venv/`` (or ``path\to\venv\`` on Windows). +``redenv``. ~~~~~~~~~~~~~~~~~~~~~~~~ ``venv`` on Linux or Mac ~~~~~~~~~~~~~~~~~~~~~~~~ Create your virtual environment with the following command:: - python3.7 -m venv path/to/venv/ + python3.7 -m venv redenv And activate it with the following command:: - source path/to/venv/bin/activate + source redenv/bin/activate .. important:: @@ -42,11 +56,11 @@ Continue reading `below `. ~~~~~~~~~~~~~~~~~~~ Create your virtual environment with the following command:: - python -m venv path\to\venv\ + py -3.7 -m venv redenv And activate it with the following command:: - path\to\venv\Scripts\activate.bat + redenv\Scripts\activate.bat .. important:: @@ -86,7 +100,8 @@ Now activate your virtualenv with the following command:: .. important:: You must activate the virtual environment with the above command every time you open a new - shell to run, install or update Red. + shell to run, install or update Red. You can check out other commands like ``pyenv local`` and + ``pyenv global`` if you wish to keep the virtualenv activated all the time. Continue reading `below `. From d86cc7a8543f3ba30e4c1e5e7bfedeae1b2aef0a Mon Sep 17 00:00:00 2001 From: Toby Harradine Date: Sun, 1 Sep 2019 09:29:54 +1000 Subject: [PATCH 136/183] Bump dependencies (no more SSL errors) (#2939) Also made the Makefile work slightly nicer with other tools, e.g. IDE run configurations, by allowing the python executable to be set as an env var. Signed-off-by: Toby Harradine --- .github/CONTRIBUTING.md | 4 ++++ Makefile | 14 ++++++++------ changelog.d/2939.misc.1.rst | 1 + changelog.d/2939.misc.2.rst | 1 + setup.cfg | 37 +++++++++++++++++++------------------ 5 files changed, 33 insertions(+), 24 deletions(-) create mode 100644 changelog.d/2939.misc.1.rst create mode 100644 changelog.d/2939.misc.2.rst diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 879d1c61c..292dcd86f 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -105,6 +105,10 @@ You may have noticed we have a `Makefile` and a `make.bat` in the top-level dire 3. `make newenv`: Set up a new virtual environment in the `.venv` subdirectory, and install Red and its dependencies. If one already exists, it is cleared out and replaced. 4. `make syncenv`: Sync your environment with Red's latest dependencies. +The other make recipes are most likely for project maintainers rather than contributors. + +You can specify the Python executable used in the make recipes with the `PYTHON` environment variable, e.g. `make PYTHON=/usr/bin/python3.7 newenv`. + ### 4.5 Keeping your dependencies up to date Whenever you pull from upstream (V3/develop on the main repository) and you notice either of the files `setup.cfg` or `tools/dev-requirements.txt` have been changed, it can often mean some package dependencies have been updated, added or removed. To make sure you're testing and formatting with the most up-to-date versions of our dependencies, run `make syncenv`. You could also simply do `make newenv` to install them to a clean new virtual environment. diff --git a/Makefile b/Makefile index c6f92b713..7ae79fedd 100644 --- a/Makefile +++ b/Makefile @@ -1,12 +1,14 @@ +PYTHON ?= python3.7 + # Python Code Style reformat: - black -l 99 --target-version py37 `git ls-files "*.py"` + $(PYTHON) -m black -l 99 --target-version py37 `git ls-files "*.py"` stylecheck: - black --check -l 99 --target-version py37 `git ls-files "*.py"` + $(PYTHON) -m black --check -l 99 --target-version py37 `git ls-files "*.py"` # Translations gettext: - redgettext --command-docstrings --verbose --recursive redbot --exclude-files "redbot/pytest/**/*" + $(PYTHON) -m redgettext --command-docstrings --verbose --recursive redbot --exclude-files "redbot/pytest/**/*" upload_translations: $(MAKE) gettext crowdin upload sources @@ -15,11 +17,11 @@ download_translations: # Dependencies bumpdeps: - python tools/bumpdeps.py + $(PYTHON) tools/bumpdeps.py # Development environment newenv: - python3.7 -m venv --clear .venv + $(PYTHON) -m venv --clear .venv .venv/bin/pip install -U pip setuptools $(MAKE) syncenv syncenv: @@ -28,4 +30,4 @@ syncenv: # Changelog check checkchangelog: bash tools/check_changelog_entries.sh - python -m towncrier --draft + $(PYTHON) -m towncrier --draft diff --git a/changelog.d/2939.misc.1.rst b/changelog.d/2939.misc.1.rst new file mode 100644 index 000000000..1fd5f21b4 --- /dev/null +++ b/changelog.d/2939.misc.1.rst @@ -0,0 +1 @@ +Updated dependencies, most notably PyYAML, tqdm, uvloop and pymongo. diff --git a/changelog.d/2939.misc.2.rst b/changelog.d/2939.misc.2.rst new file mode 100644 index 000000000..b67b15a5e --- /dev/null +++ b/changelog.d/2939.misc.2.rst @@ -0,0 +1 @@ +Setting the ``PYTHON`` env var whilst running ``make`` now allows you to specify which python executable to use. diff --git a/setup.cfg b/setup.cfg index 3579342c5..8b653ed99 100644 --- a/setup.cfg +++ b/setup.cfg @@ -31,7 +31,7 @@ install_requires = appdirs==1.4.3 async-timeout==3.0.1 attrs==19.1.0 - babel==2.7.0 + Babel==2.7.0 chardet==3.0.4 Click==7.0 colorama==0.4.1 @@ -42,31 +42,31 @@ install_requires = idna==2.8 multidict==4.5.2 python-Levenshtein-wheels==0.13.1 - PyYAML==5.1.1 + pytz==2019.2 + PyYAML==5.1.2 Red-Lavalink==0.3.0 schema==0.7.0 - tqdm==4.32.2 - uvloop==0.12.2; sys_platform != "win32" and platform_python_implementation == "CPython" + tqdm==4.35.0 + uvloop==0.13.0; sys_platform != "win32" and platform_python_implementation == "CPython" websockets==6.0 yarl==1.3.0 [options.extras_require] docs = alabaster==0.7.12 - Babel==2.7.0 certifi==2019.6.16 - docutils==0.14 + docutils==0.15.2 imagesize==1.1.0 + incremental==17.5.0 Jinja2==2.10.1 MarkupSafe==1.1.1 - packaging==19.0 + packaging==19.1 Pygments==2.4.2 - pyparsing==2.4.0 - pytz==2019.1 + pyparsing==2.4.2 requests==2.22.0 six==1.12.0 snowballstemmer==1.9.0 - Sphinx==2.1.2 + Sphinx==2.2.0 sphinx-rtd-theme==0.4.3 sphinxcontrib-applehelp==1.0.1 sphinxcontrib-devhelp==1.0.1 @@ -75,12 +75,13 @@ docs = sphinxcontrib-qthelp==1.0.2 sphinxcontrib-serializinghtml==1.1.3 sphinxcontrib-trio==1.1.0 + toml==0.10.0 towncrier==19.2.0 urllib3==1.25.3 mongo = dnspython==1.16.0 motor==2.0.0 - pymongo==3.8.0 + pymongo==3.9.0 postgres = asyncpg==0.18.3 style = @@ -89,23 +90,23 @@ style = test = astroid==2.2.5 atomicwrites==1.3.0 - importlib-metadata==0.18 + importlib-metadata==0.19 isort==4.3.21 - lazy-object-proxy==1.4.1 + lazy-object-proxy==1.4.2 mccabe==0.6.1 - more-itertools==7.1.0 - packaging==19.0 + more-itertools==7.2.0 + packaging==19.1 pluggy==0.12.0 py==1.8.0 pylint==2.3.1 - pyparsing==2.4.0 - pytest==5.0.0 + pyparsing==2.4.2 + pytest==5.1.2 pytest-asyncio==0.10.0 six==1.12.0 typed-ast==1.4.0 wcwidth==0.1.7 wrapt==1.11.2 - zipp==0.5.1 + zipp==0.6.0 [options.entry_points] console_scripts = From 6075c5bde02cff4a5fbab6108fb46cd0a026745b Mon Sep 17 00:00:00 2001 From: Michael H Date: Sun, 1 Sep 2019 15:42:28 -0400 Subject: [PATCH 137/183] Rename `bot.db` as `bot._config` (#2967) * Rename `bot.db` as `bot._config` - Continues work towards strong version guarantees - Added methods for cog use for a few things which were previously only accessible via direct access. - Retained private use in a few internal use locations, though most methods were updated away from this. - Updated documentation for shared api token users * changelog * more detail * docstring fixes * Apparently, I forgot to commit something I had locally - + a copy/paste failue in the changelog * *sigh*: * *sigh* --- changelog.d/2967.breaking.rst | 11 ++ docs/framework_apikeys.rst | 8 +- redbot/__main__.py | 10 +- redbot/cogs/audio/audio.py | 33 +++--- redbot/cogs/bank/bank.py | 4 +- redbot/cogs/image/image.py | 21 ++-- redbot/cogs/streams/streams.py | 18 ++-- redbot/core/bot.py | 165 +++++++++++++++++++++------- redbot/core/commands/context.py | 5 +- redbot/core/commands/help.py | 31 +++--- redbot/core/commands/requires.py | 2 +- redbot/core/core_commands.py | 179 ++++++++++++++++--------------- redbot/core/dev_commands.py | 6 +- redbot/core/events.py | 38 +++---- redbot/core/global_checks.py | 6 +- redbot/core/utils/__init__.py | 4 +- redbot/core/utils/mod.py | 7 +- 17 files changed, 321 insertions(+), 227 deletions(-) create mode 100644 changelog.d/2967.breaking.rst diff --git a/changelog.d/2967.breaking.rst b/changelog.d/2967.breaking.rst new file mode 100644 index 000000000..cc66095a7 --- /dev/null +++ b/changelog.d/2967.breaking.rst @@ -0,0 +1,11 @@ +The main bot config is no longer directly accessible to cogs. New methods have been added for use where this is concerned. +New methods for this include + + - ``bot.get_shared_api_tokens`` + - ``bot.set_shared_api_tokens`` + - ``bot.get_embed_color`` + - ``bot.get_embed_colour`` + - ``bot.get_admin_roles`` + - ``bot.get_admin_role_ids`` + - ``bot.get_mod_roles`` + - ``bot.get_mod_role_ids`` diff --git a/docs/framework_apikeys.rst b/docs/framework_apikeys.rst index 86a0a2e2d..bfaadac40 100644 --- a/docs/framework_apikeys.rst +++ b/docs/framework_apikeys.rst @@ -18,7 +18,7 @@ and when accessed in the code it should be done by .. code-block:: python - await self.bot.db.api_tokens.get_raw("twitch", default={"client_id": None, "client_secret": None}) + await self.bot.get_shared_api_keys("twitch") Each service has its own dict of key, value pairs for each required key type. If there's only one key required then a name for the key is still required for storing and accessing. @@ -30,7 +30,7 @@ and when accessed in the code it should be done by .. code-block:: python - await self.bot.db.api_tokens.get_raw("youtube", default={"api_key": None}) + await self.bot.get_shared_api_keys("youtube") *********** @@ -42,7 +42,7 @@ Basic Usage class MyCog: @commands.command() async def youtube(self, ctx, user: str): - apikey = await self.bot.db.api_tokens.get_raw("youtube", default={"api_key": None}) - if apikey["api_key"] is None: + youtube_keys = await self.bot.get_shared_api_keys("youtube") + if youtube_keys.get("api_key") is None: return await ctx.send("The YouTube API key has not been set.") # Use the API key to access content as you normally would diff --git a/redbot/__main__.py b/redbot/__main__.py index 2cac3e178..5ec928e86 100644 --- a/redbot/__main__.py +++ b/redbot/__main__.py @@ -52,8 +52,8 @@ async def _get_prefix_and_token(red, indict): :param indict: :return: """ - indict["token"] = await red.db.token() - indict["prefix"] = await red.db.prefix() + indict["token"] = await red._config.token() + indict["prefix"] = await red._config.prefix() def list_instances(): @@ -115,7 +115,7 @@ def main(): red = Red( cli_flags=cli_flags, description=description, dm_help=None, fetch_offline_members=True ) - loop.run_until_complete(red.maybe_update_config()) + loop.run_until_complete(red._maybe_update_config()) init_global_checks(red) init_events(red, cli_flags) @@ -153,11 +153,11 @@ def main(): loop.run_until_complete(red.start(token, bot=True)) except discord.LoginFailure: log.critical("This token doesn't seem to be valid.") - db_token = loop.run_until_complete(red.db.token()) + db_token = loop.run_until_complete(red._config.token()) if db_token and not cli_flags.no_prompt: print("\nDo you want to reset the token? (y/n)") if confirm("> "): - loop.run_until_complete(red.db.token.set("")) + loop.run_until_complete(red._config.token.set("")) print("Token has been reset.") except KeyboardInterrupt: log.info("Keyboard interrupt detected. Quitting...") diff --git a/redbot/cogs/audio/audio.py b/redbot/cogs/audio/audio.py index 4dde73984..637bced48 100644 --- a/redbot/cogs/audio/audio.py +++ b/redbot/cogs/audio/audio.py @@ -296,7 +296,7 @@ class Audio(commands.Cog): else: dur = lavalink.utils.format_time(player.current.length) embed = discord.Embed( - colour=(await self._get_embed_colour(notify_channel)), + colour=(await self.bot.get_embed_color(notify_channel)), title=_("Now Playing"), description=description, ) @@ -328,7 +328,8 @@ class Audio(commands.Cog): if notify_channel: notify_channel = self.bot.get_channel(notify_channel) embed = discord.Embed( - colour=(await self._get_embed_colour(notify_channel)), title=_("Queue ended.") + colour=(await self.bot.get_embed_colour(notify_channel)), + title=_("Queue ended."), ) await notify_channel.send(embed=embed) @@ -346,7 +347,7 @@ class Audio(commands.Cog): if message_channel: message_channel = self.bot.get_channel(message_channel) embed = discord.Embed( - colour=(await self._get_embed_colour(message_channel)), + colour=(await self.bot.get_embed_color(message_channel)), title=_("Track Error"), description="{}\n**[{}]({})**".format( extra, player.current.title, player.current.uri @@ -3834,14 +3835,12 @@ class Audio(commands.Cog): return False async def _check_api_tokens(self): - spotify = await self.bot.db.api_tokens.get_raw( - "spotify", default={"client_id": "", "client_secret": ""} - ) - youtube = await self.bot.db.api_tokens.get_raw("youtube", default={"api_key": ""}) + spotify = await self.bot.get_shared_api_tokens("spotify") + youtube = await self.bot.get_shared_api_tokens("youtube") return { - "spotify_client_id": spotify["client_id"], - "spotify_client_secret": spotify["client_secret"], - "youtube_api": youtube["api_key"], + "spotify_client_id": spotify.get("client_id", ""), + "spotify_client_secret": spotify.get("client_secret", ""), + "youtube_api": youtube.get("api_key", ""), } async def _check_external(self): @@ -4081,13 +4080,6 @@ class Audio(commands.Cog): except discord.errors.NotFound: pass - async def _get_embed_colour(self, channel: discord.abc.GuildChannel): - # Unfortunately we need this for when context is unavailable. - if await self.bot.db.guild(channel.guild).use_bot_color(): - return channel.guild.me.color - else: - return self.bot.color - async def _get_eq_reaction(self, ctx, message, emoji): try: reaction, user = await self.bot.wait_for( @@ -4323,10 +4315,9 @@ class Audio(commands.Cog): return {"Authorization": "Basic %s" % auth_header.decode("ascii")} async def _request_token(self): - self.client_id = await self.bot.db.api_tokens.get_raw("spotify", default={"client_id": ""}) - self.client_secret = await self.bot.db.api_tokens.get_raw( - "spotify", default={"client_secret": ""} - ) + tokens = await self.bot.get_shared_api_tokens("spotify") + self.client_id = tokens.get("client_id", "") + self.client_secret = tokens.get("client_secret", "") payload = {"grant_type": "client_credentials"} headers = self._make_token_auth( self.client_id["client_id"], self.client_secret["client_secret"] diff --git a/redbot/cogs/bank/bank.py b/redbot/cogs/bank/bank.py index 3f8f8a444..abee96905 100644 --- a/redbot/cogs/bank/bank.py +++ b/redbot/cogs/bank/bank.py @@ -47,9 +47,9 @@ def check_global_setting_admin(): return True if ctx.channel.permissions_for(author).manage_guild: return True - admin_roles = set(await ctx.bot.db.guild(ctx.guild).admin_role()) + admin_role_ids = await ctx.bot.get_admin_role_ids(ctx.guild.id) for role in author.roles: - if role.id in admin_roles: + if role.id in admin_role_ids: return True else: return await ctx.bot.is_owner(author) diff --git a/redbot/cogs/image/image.py b/redbot/cogs/image/image.py index aa51c01d7..e7d3d3556 100644 --- a/redbot/cogs/image/image.py +++ b/redbot/cogs/image/image.py @@ -28,8 +28,9 @@ class Image(commands.Cog): async def initialize(self) -> None: """Move the API keys from cog stored config to core bot config if they exist.""" imgur_token = await self.settings.imgur_client_id() - if imgur_token is not None and "imgur" not in await self.bot.db.api_tokens(): - await self.bot.db.api_tokens.set_raw("imgur", value={"client_id": imgur_token}) + if imgur_token is not None: + if not await self.bot.get_shared_api_tokens("imgur"): + await self.bot.set_shared_api_tokens(client_id=imgur_token) await self.settings.imgur_client_id.clear() @commands.group(name="imgur") @@ -48,7 +49,7 @@ class Image(commands.Cog): """ url = self.imgur_base_url + "gallery/search/time/all/0" params = {"q": term} - imgur_client_id = await ctx.bot.db.api_tokens.get_raw("imgur", default=None) + imgur_client_id = (await ctx.bot.get_shared_api_tokens("imgur")).get("client_id") if not imgur_client_id: await ctx.send( _( @@ -56,7 +57,7 @@ class Image(commands.Cog): ).format(prefix=ctx.prefix) ) return - headers = {"Authorization": "Client-ID {}".format(imgur_client_id["client_id"])} + headers = {"Authorization": "Client-ID {}".format(imgur_client_id)} async with self.session.get(url, headers=headers, params=params) as search_get: data = await search_get.json() @@ -101,7 +102,7 @@ class Image(commands.Cog): await ctx.send_help() return - imgur_client_id = await ctx.bot.db.api_tokens.get_raw("imgur", default=None) + imgur_client_id = (await ctx.bot.get_shared_api_tokens("imgur")).get("client_id") if not imgur_client_id: await ctx.send( _( @@ -111,7 +112,7 @@ class Image(commands.Cog): return links = [] - headers = {"Authorization": "Client-ID {}".format(imgur_client_id["client_id"])} + headers = {"Authorization": "Client-ID {}".format(imgur_client_id)} url = self.imgur_base_url + "gallery/r/{}/{}/{}/0".format(subreddit, sort, window) async with self.session.get(url, headers=headers) as sub_get: @@ -164,7 +165,7 @@ class Image(commands.Cog): await ctx.send_help() return - giphy_api_key = await ctx.bot.db.api_tokens.get_raw("GIPHY", default=None) + giphy_api_key = (await ctx.bot.get_shared_api_tokens("GIPHY")).get("api_key") if not giphy_api_key: await ctx.send( _("An API key has not been set! Please set one with `{prefix}giphycreds`.").format( @@ -174,7 +175,7 @@ class Image(commands.Cog): return url = "http://api.giphy.com/v1/gifs/search?&api_key={}&q={}".format( - giphy_api_key["api_key"], keywords + giphy_api_key, keywords ) async with self.session.get(url) as r: @@ -197,7 +198,7 @@ class Image(commands.Cog): await ctx.send_help() return - giphy_api_key = await ctx.bot.db.api_tokens.get_raw("GIPHY", default=None) + giphy_api_key = (await ctx.bot.get_shared_api_tokens("GIPHY")).get("api_key") if not giphy_api_key: await ctx.send( _("An API key has not been set! Please set one with `{prefix}giphycreds`.").format( @@ -207,7 +208,7 @@ class Image(commands.Cog): return url = "http://api.giphy.com/v1/gifs/random?&api_key={}&tag={}".format( - giphy_api_key["api_key"], keywords + giphy_api_key, keywords ) async with self.session.get(url) as r: diff --git a/redbot/cogs/streams/streams.py b/redbot/cogs/streams/streams.py index 56d20ebd3..60b2c1b76 100644 --- a/redbot/cogs/streams/streams.py +++ b/redbot/cogs/streams/streams.py @@ -82,27 +82,27 @@ class Streams(commands.Cog): async def move_api_keys(self): """Move the API keys from cog stored config to core bot config if they exist.""" tokens = await self.db.tokens() - youtube = await self.bot.db.api_tokens.get_raw("youtube", default={}) - twitch = await self.bot.db.api_tokens.get_raw("twitch", default={}) + youtube = await self.bot.get_shared_api_tokens("youtube") + twitch = await self.bot.get_shared_api_tokens("twitch") for token_type, token in tokens.items(): if token_type == "YoutubeStream" and "api_key" not in youtube: - await self.bot.db.api_tokens.set_raw("youtube", value={"api_key": token}) + await self.bot.set_shared_api_tokens("youtube", api_key=token) if token_type == "TwitchStream" and "client_id" not in twitch: # Don't need to check Community since they're set the same - await self.bot.db.api_tokens.set_raw("twitch", value={"client_id": token}) + await self.bot.set_shared_api_tokens("twitch", client_id=token) await self.db.tokens.clear() @commands.command() async def twitchstream(self, ctx: commands.Context, channel_name: str): """Check if a Twitch channel is live.""" - token = await self.bot.db.api_tokens.get_raw("twitch", default={"client_id": None}) + token = (await self.bot.get_shared_api_tokens("twitch")).get("client_id") stream = TwitchStream(name=channel_name, token=token) await self.check_online(ctx, stream) @commands.command() async def youtubestream(self, ctx: commands.Context, channel_id_or_name: str): """Check if a YouTube channel is live.""" - apikey = await self.bot.db.api_tokens.get_raw("youtube", default={"api_key": None}) + apikey = await self.bot.get_shared_api_tokens("youtube") is_name = self.check_name_or_id(channel_id_or_name) if is_name: stream = YoutubeStream(name=channel_id_or_name, token=apikey) @@ -273,7 +273,7 @@ class Streams(commands.Cog): async def stream_alert(self, ctx: commands.Context, _class, channel_name): stream = self.get_stream(_class, channel_name) if not stream: - token = await self.bot.db.api_tokens.get_raw(_class.token_name, default=None) + token = await self.bot.get_shared_api_tokens(_class.token_name) is_yt = _class.__name__ == "YoutubeStream" if is_yt and not self.check_name_or_id(channel_name): stream = _class(id=channel_name, token=token) @@ -651,8 +651,8 @@ class Streams(commands.Cog): pass else: raw_stream["_messages_cache"].append(msg) - token = await self.bot.db.api_tokens.get_raw(_class.token_name, default=None) - if token is not None: + token = await self.bot.get_shared_api_tokens(_class.token_name) + if token: raw_stream["token"] = token streams.append(_class(**raw_stream)) diff --git a/redbot/core/bot.py b/redbot/core/bot.py index 6a2150a25..87b24072b 100644 --- a/redbot/core/bot.py +++ b/redbot/core/bot.py @@ -6,7 +6,7 @@ from collections import Counter from enum import Enum from importlib.machinery import ModuleSpec from pathlib import Path -from typing import Optional, Union, List +from typing import Optional, Union, List, Dict import discord from discord.ext.commands import when_mentioned_or @@ -36,11 +36,11 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d def __init__(self, *args, cli_flags=None, bot_dir: Path = Path.cwd(), **kwargs): self._shutdown_mode = ExitCodes.CRITICAL - self.db = Config.get_core_conf(force_registration=True) + self._config = Config.get_core_conf(force_registration=False) self._co_owners = cli_flags.co_owner self.rpc_enabled = cli_flags.rpc self._last_exception = None - self.db.register_global( + self._config.register_global( token=None, prefix=[], packages=[], @@ -69,7 +69,7 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d schema_version=0, ) - self.db.register_guild( + self._config.register_guild( prefix=[], whitelist=[], blacklist=[], @@ -82,19 +82,19 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d autoimmune_ids=[], ) - self.db.register_user(embeds=None) + self._config.register_user(embeds=None) - self.db.init_custom(CUSTOM_GROUPS, 2) - self.db.register_custom(CUSTOM_GROUPS) + self._config.init_custom(CUSTOM_GROUPS, 2) + self._config.register_custom(CUSTOM_GROUPS) async def prefix_manager(bot, message): if not cli_flags.prefix: - global_prefix = await bot.db.prefix() + global_prefix = await bot._config.prefix() else: global_prefix = cli_flags.prefix if message.guild is None: return global_prefix - server_prefix = await bot.db.guild(message.guild).prefix() + server_prefix = await bot._config.guild(message.guild).prefix() if cli_flags.mentionable: return ( when_mentioned_or(*server_prefix)(bot, message) @@ -117,10 +117,10 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d if "command_not_found" not in kwargs: kwargs["command_not_found"] = "Command {} not found.\n{}" - self.counter = Counter() - self.uptime = None - self.checked_time_accuracy = None - self.color = discord.Embed.Empty # This is needed or color ends up 0x000000 + self._counter = Counter() + self._uptime = None + self._checked_time_accuracy = None + self._color = discord.Embed.Empty # This is needed or color ends up 0x000000 self.main_dir = bot_dir @@ -134,16 +134,42 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d self._permissions_hooks: List[commands.CheckPredicate] = [] - async def maybe_update_config(self): + async def get_embed_color(self, location: discord.abc.Messageable) -> discord.Color: + """ + Get the embed color for a location. + + Parameters + ---------- + location : `discord.abc.Messageable` + + Returns + ------- + discord.Color + """ + + guild = getattr(location, "guild", None) + + if ( + guild + and await self._config.guild(guild).use_bot_color() + and not isinstance(location, discord.Member) + ): + return guild.me.color + + return self._color + + get_embed_colour = get_embed_color + + async def _maybe_update_config(self): """ This should be run prior to loading cogs or connecting to discord. """ - schema_version = await self.db.schema_version() + schema_version = await self._config.schema_version() if schema_version == 0: await self._schema_0_to_1() schema_version += 1 - await self.db.schema_version.set(schema_version) + await self._config.schema_version.set(schema_version) async def _schema_0_to_1(self): """ @@ -151,7 +177,7 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d """ log.info("Begin updating guild configs to support multiple mod/admin roles") - all_guild_data = await self.db.all_guilds() + all_guild_data = await self._config.all_guilds() for guild_id, guild_data in all_guild_data.items(): guild_obj = discord.Object(id=guild_id) mod_roles, admin_roles = [], [] @@ -160,10 +186,10 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d if maybe_mod_role_id: mod_roles.append(maybe_mod_role_id) - await self.db.guild(guild_obj).mod_role.set(mod_roles) + await self._config.guild(guild_obj).mod_role.set(mod_roles) if maybe_admin_role_id: admin_roles.append(maybe_admin_role_id) - await self.db.guild(guild_obj).admin_role.set(admin_roles) + await self._config.guild(guild_obj).admin_role.set(admin_roles) log.info("Done updating guild configs to support multiple mod/admin roles") async def send_help_for( @@ -182,8 +208,8 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d :return: """ - indict["owner_id"] = await self.db.owner() - i18n.set_locale(await self.db.locale()) + indict["owner_id"] = await self._config.owner() + i18n.set_locale(await self._config.locale()) async def embed_requested(self, channel, user, command=None) -> bool: """ @@ -203,47 +229,112 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d bool :code:`True` if an embed is requested """ - if isinstance(channel, discord.abc.PrivateChannel): - user_setting = await self.db.user(user).embeds() + if isinstance(channel, discord.abc.PrivateChannel) or ( + command and command == self.get_command("help") + ): + user_setting = await self._config.user(user).embeds() if user_setting is not None: return user_setting else: - guild_setting = await self.db.guild(channel.guild).embeds() + guild_setting = await self._config.guild(channel.guild).embeds() if guild_setting is not None: return guild_setting - global_setting = await self.db.embeds() + global_setting = await self._config.embeds() return global_setting - async def is_owner(self, user): + async def is_owner(self, user) -> bool: if user.id in self._co_owners: return True return await super().is_owner(user) - async def is_admin(self, member: discord.Member): + async def is_admin(self, member: discord.Member) -> bool: """Checks if a member is an admin of their guild.""" try: member_snowflakes = member._roles # DEP-WARN - for snowflake in await self.db.guild(member.guild).admin_role(): + for snowflake in await self._config.guild(member.guild).admin_role(): if member_snowflakes.has(snowflake): # Dep-WARN return True except AttributeError: # someone passed a webhook to this pass return False - async def is_mod(self, member: discord.Member): + async def is_mod(self, member: discord.Member) -> bool: """Checks if a member is a mod or admin of their guild.""" try: member_snowflakes = member._roles # DEP-WARN - for snowflake in await self.db.guild(member.guild).admin_role(): + for snowflake in await self._config.guild(member.guild).admin_role(): if member_snowflakes.has(snowflake): # DEP-WARN return True - for snowflake in await self.db.guild(member.guild).mod_role(): + for snowflake in await self._config.guild(member.guild).mod_role(): if member_snowflakes.has(snowflake): # DEP-WARN return True except AttributeError: # someone passed a webhook to this pass return False + async def get_admin_roles(self, guild: discord.Guild) -> List[discord.Role]: + """ + Gets the admin roles for a guild. + """ + ret: List[discord.Role] = [] + for snowflake in await self._config.guild(guild).admin_role(): + r = guild.get_role(snowflake) + if r: + ret.append(r) + return ret + + async def get_mod_roles(self, guild: discord.Guild) -> List[discord.Role]: + """ + Gets the mod roles for a guild. + """ + ret: List[discord.Role] = [] + for snowflake in await self._config.guild(guild).mod_role(): + r = guild.get_role(snowflake) + if r: + ret.append(r) + return ret + + async def get_admin_role_ids(self, guild_id: int) -> List[int]: + """ + Gets the admin role ids for a guild id. + """ + return await self._config.guild(discord.Object(id=guild_id)).admin_role() + + async def get_mod_role_ids(self, guild_id: int) -> List[int]: + """ + Gets the mod role ids for a guild id. + """ + return await self._config.guild(discord.Object(id=guild_id)).mod_role() + + async def get_shared_api_tokens(self, service_name: str) -> Dict[str, str]: + """ + Gets the shared API tokens for a service + + Parameters + ---------- + service_name: str + + Returns + ------- + Dict[str, str] + A Mapping of token names to tokens. + This mapping exists because some services have multiple tokens. + """ + return await self._config.api_tokens.get_raw(service_name, default={}) + + async def set_shared_api_tokens(self, service_name: str, **tokens: str): + """ + Sets shared API tokens for a service + + In most cases, this should not be used. Users should instead be using the + ``set api`` command + + This will not clear existing values not specified. + """ + + async with self._config.api_tokens.get_attr(service_name)() as method_abuse: + method_abuse.update(**tokens) + async def get_context(self, message, *, cls=commands.Context): return await super().get_context(message, cls=cls) @@ -269,15 +360,15 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d return os.listdir("cogs") async def save_packages_status(self, packages): - await self.db.packages.set(packages) + await self._config.packages.set(packages) async def add_loaded_package(self, pkg_name: str): - async with self.db.packages() as curr_pkgs: + async with self._config.packages() as curr_pkgs: if pkg_name not in curr_pkgs: curr_pkgs.append(pkg_name) async def remove_loaded_package(self, pkg_name: str): - async with self.db.packages() as curr_pkgs: + async with self._config.packages() as curr_pkgs: while pkg_name in curr_pkgs: curr_pkgs.remove(pkg_name) @@ -361,7 +452,7 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d else: ids_to_check.append(author.id) - immune_ids = await self.db.guild(guild).autoimmune_ids() + immune_ids = await self._config.guild(guild).autoimmune_ids() return any(i in immune_ids for i in ids_to_check) @@ -545,14 +636,14 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d Gets the users and channels to send to """ destinations = [] - opt_outs = await self.db.owner_opt_out_list() + opt_outs = await self._config.owner_opt_out_list() for user_id in (self.owner_id, *self._co_owners): if user_id not in opt_outs: user = self.get_user(user_id) if user: destinations.append(user) - channel_ids = await self.db.extra_owner_destinations() + channel_ids = await self._config.extra_owner_destinations() for channel_id in channel_ids: channel = self.get_channel(channel_id) if channel: diff --git a/redbot/core/commands/context.py b/redbot/core/commands/context.py index 63bfe8707..12e51928c 100644 --- a/redbot/core/commands/context.py +++ b/redbot/core/commands/context.py @@ -175,10 +175,7 @@ class Context(commands.Context): discord.Colour: The colour to be used """ - if self.guild and await self.bot.db.guild(self.guild).use_bot_color(): - return self.guild.me.color - else: - return self.bot.color + return await self.bot.get_embed_color(self) @property def embed_color(self): diff --git a/redbot/core/commands/help.py b/redbot/core/commands/help.py index 0d457b3c4..515ad9866 100644 --- a/redbot/core/commands/help.py +++ b/redbot/core/commands/help.py @@ -94,7 +94,7 @@ class RedHelpFormatter: await self.command_not_found(ctx, help_for) return except NoSubCommand as exc: - if await ctx.bot.db.help.verify_exists(): + if await ctx.bot._config.help.verify_exists(): await self.subcommand_not_found(ctx, exc.last, exc.not_found) return help_for = exc.last @@ -130,7 +130,7 @@ class RedHelpFormatter: async def format_command_help(self, ctx: Context, obj: commands.Command): - send = await ctx.bot.db.help.verify_exists() + send = await ctx.bot._config.help.verify_exists() if not send: async for _ in self.help_filter_func(ctx, (obj,), bypass_hidden=True): # This is a really lazy option for not @@ -147,7 +147,7 @@ class RedHelpFormatter: command = obj description = command.description or "" - tagline = (await ctx.bot.db.help.tagline()) or self.get_default_tagline(ctx) + tagline = (await ctx.bot._config.help.tagline()) or self.get_default_tagline(ctx) signature = f"`Syntax: {ctx.clean_prefix}{command.qualified_name} {command.signature}`" subcommands = None @@ -250,7 +250,7 @@ class RedHelpFormatter: pages = [] - page_char_limit = await ctx.bot.db.help.page_char_limit() + page_char_limit = await ctx.bot._config.help.page_char_limit() field_groups = self.group_embed_fields(embed_dict["fields"], page_char_limit) color = await ctx.embed_color() @@ -285,11 +285,11 @@ class RedHelpFormatter: async def format_cog_help(self, ctx: Context, obj: commands.Cog): coms = await self.get_cog_help_mapping(ctx, obj) - if not (coms or await ctx.bot.db.help.verify_exists()): + if not (coms or await ctx.bot._config.help.verify_exists()): return description = obj.help - tagline = (await ctx.bot.db.help.tagline()) or self.get_default_tagline(ctx) + tagline = (await ctx.bot._config.help.tagline()) or self.get_default_tagline(ctx) if await ctx.embed_requested(): emb = {"embed": {"title": "", "description": ""}, "footer": {"text": ""}, "fields": []} @@ -356,7 +356,7 @@ class RedHelpFormatter: return description = ctx.bot.description or "" - tagline = (await ctx.bot.db.help.tagline()) or self.get_default_tagline(ctx) + tagline = (await ctx.bot._config.help.tagline()) or self.get_default_tagline(ctx) if await ctx.embed_requested(): @@ -433,8 +433,8 @@ class RedHelpFormatter: This does most of actual filtering. """ - show_hidden = bypass_hidden or await ctx.bot.db.help.show_hidden() - verify_checks = await ctx.bot.db.help.verify_checks() + show_hidden = bypass_hidden or await ctx.bot._config.help.show_hidden() + verify_checks = await ctx.bot._config.help.verify_checks() # TODO: Settings for this in core bot db for obj in objects: @@ -466,17 +466,17 @@ class RedHelpFormatter: ret = await format_fuzzy_results(ctx, fuzzy_commands, embed=use_embeds) if use_embeds: ret.set_author(name=f"{ctx.me.display_name} Help Menu", icon_url=ctx.me.avatar_url) - tagline = (await ctx.bot.db.help.tagline()) or self.get_default_tagline(ctx) + tagline = (await ctx.bot._config.help.tagline()) or self.get_default_tagline(ctx) ret.set_footer(text=tagline) await ctx.send(embed=ret) else: await ctx.send(ret) - elif await ctx.bot.db.help.verify_exists(): + elif await ctx.bot._config.help.verify_exists(): ret = T_("Help topic for *{command_name}* not found.").format(command_name=help_for) if use_embeds: ret = discord.Embed(color=(await ctx.embed_color()), description=ret) ret.set_author(name=f"{ctx.me.display_name} Help Menu", icon_url=ctx.me.avatar_url) - tagline = (await ctx.bot.db.help.tagline()) or self.get_default_tagline(ctx) + tagline = (await ctx.bot._config.help.tagline()) or self.get_default_tagline(ctx) ret.set_footer(text=tagline) await ctx.send(embed=ret) else: @@ -492,7 +492,7 @@ class RedHelpFormatter: if await ctx.embed_requested(): ret = discord.Embed(color=(await ctx.embed_color()), description=ret) ret.set_author(name=f"{ctx.me.display_name} Help Menu", icon_url=ctx.me.avatar_url) - tagline = (await ctx.bot.db.help.tagline()) or self.get_default_tagline(ctx) + tagline = (await ctx.bot._config.help.tagline()) or self.get_default_tagline(ctx) ret.set_footer(text=tagline) await ctx.send(embed=ret) else: @@ -536,10 +536,11 @@ class RedHelpFormatter: """ if not ( - ctx.channel.permissions_for(ctx.me).add_reactions and await ctx.bot.db.help.use_menus() + ctx.channel.permissions_for(ctx.me).add_reactions + and await ctx.bot._config.help.use_menus() ): - max_pages_in_guild = await ctx.bot.db.help.max_pages_in_guild() + max_pages_in_guild = await ctx.bot._config.help.max_pages_in_guild() destination = ctx.author if len(pages) > max_pages_in_guild else ctx if embed: diff --git a/redbot/core/commands/requires.py b/redbot/core/commands/requires.py index 35eddd145..c5b4187a4 100644 --- a/redbot/core/commands/requires.py +++ b/redbot/core/commands/requires.py @@ -125,7 +125,7 @@ class PrivilegeLevel(enum.IntEnum): # The following is simply an optimised way to check if the user has the # admin or mod role. - guild_settings = ctx.bot.db.guild(ctx.guild) + guild_settings = ctx.bot._config.guild(ctx.guild) member_snowflakes = ctx.author._roles # DEP-WARN for snowflake in await guild_settings.admin_role(): diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index 6eb2b7c9a..7c81bff11 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -223,8 +223,9 @@ class CoreLogic: """ if prefixes: prefixes = sorted(prefixes, reverse=True) - await self.bot.db.prefix.set(prefixes) - return await self.bot.db.prefix() + await self.bot._config.prefix.set(prefixes) + return prefixes + return await self.bot._config.prefix() @classmethod async def _version_info(cls) -> Dict[str, str]: @@ -248,14 +249,14 @@ class CoreLogic: Invite URL. """ app_info = await self.bot.application_info() - perms_int = await self.bot.db.invite_perm() + perms_int = await self.bot._config.invite_perm() permissions = discord.Permissions(perms_int) return discord.utils.oauth_url(app_info.id, permissions) @staticmethod async def _can_get_invite_url(ctx): is_owner = await ctx.bot.is_owner(ctx.author) - is_invite_public = await ctx.bot.db.invite_public() + is_invite_public = await ctx.bot._config.invite_public() return is_owner or is_invite_public @@ -285,7 +286,7 @@ class Core(commands.Cog, CoreLogic): red_version = "[{}]({})".format(__version__, red_pypi) app_info = await self.bot.application_info() owner = app_info.owner - custom_info = await self.bot.db.custom_info() + custom_info = await self.bot._config.custom_info() async with aiohttp.ClientSession() as session: async with session.get("{}/json".format(red_pypi)) as r: @@ -343,12 +344,12 @@ class Core(commands.Cog, CoreLogic): """ if ctx.invoked_subcommand is None: text = _("Embed settings:\n\n") - global_default = await self.bot.db.embeds() + global_default = await self.bot._config.embeds() text += _("Global default: {}\n").format(global_default) if ctx.guild: - guild_setting = await self.bot.db.guild(ctx.guild).embeds() + guild_setting = await self.bot._config.guild(ctx.guild).embeds() text += _("Guild setting: {}\n").format(guild_setting) - user_setting = await self.bot.db.user(ctx.author).embeds() + user_setting = await self.bot._config.user(ctx.author).embeds() text += _("User setting: {}").format(user_setting) await ctx.send(box(text)) @@ -362,8 +363,8 @@ class Core(commands.Cog, CoreLogic): or guild hasn't set a preference. The default is to use embeds. """ - current = await self.bot.db.embeds() - await self.bot.db.embeds.set(not current) + current = await self.bot._config.embeds() + await self.bot._config.embeds.set(not current) await ctx.send( _("Embeds are now {} by default.").format(_("disabled") if current else _("enabled")) ) @@ -383,7 +384,7 @@ class Core(commands.Cog, CoreLogic): used for all commands done in a guild channel except for help commands. """ - await self.bot.db.guild(ctx.guild).embeds.set(enabled) + await self.bot._config.guild(ctx.guild).embeds.set(enabled) if enabled is None: await ctx.send(_("Embeds will now fall back to the global setting.")) else: @@ -406,7 +407,7 @@ class Core(commands.Cog, CoreLogic): used for all commands done in a DM with the bot, as well as all help commands everywhere. """ - await self.bot.db.user(ctx.author).embeds.set(enabled) + await self.bot._config.user(ctx.author).embeds.set(enabled) if enabled is None: await ctx.send(_("Embeds will now fall back to the global setting.")) else: @@ -454,8 +455,8 @@ class Core(commands.Cog, CoreLogic): """ Define if the command should be accessible for the average user. """ - if await self.bot.db.invite_public(): - await self.bot.db.invite_public.set(False) + if await self.bot._config.invite_public(): + await self.bot._config.invite_public.set(False) await ctx.send("The invite is now private.") return app_info = await self.bot.application_info() @@ -475,7 +476,7 @@ class Core(commands.Cog, CoreLogic): "If you agree, you can type `{0}inviteset public yes`.".format(ctx.prefix) ) else: - await self.bot.db.invite_public.set(True) + await self.bot._config.invite_public.set(True) await ctx.send("The invite command is now public.") @inviteset.command() @@ -493,7 +494,7 @@ class Core(commands.Cog, CoreLogic): Please note that you might need two factor authentification for\ some permissions. """ - await self.bot.db.invite_perm.set(level) + await self.bot._config.invite_perm.set(level) await ctx.send("The new permissions level has been set.") @commands.command() @@ -759,15 +760,15 @@ class Core(commands.Cog, CoreLogic): if ctx.invoked_subcommand is None: if ctx.guild: guild = ctx.guild - admin_role_ids = await ctx.bot.db.guild(ctx.guild).admin_role() + admin_role_ids = await ctx.bot._config.guild(ctx.guild).admin_role() admin_role_names = [r.name for r in guild.roles if r.id in admin_role_ids] admin_roles_str = ( humanize_list(admin_role_names) if admin_role_names else "Not Set." ) - mod_role_ids = await ctx.bot.db.guild(ctx.guild).mod_role() + mod_role_ids = await ctx.bot._config.guild(ctx.guild).mod_role() mod_role_names = [r.name for r in guild.roles if r.id in mod_role_ids] mod_roles_str = humanize_list(mod_role_names) if mod_role_names else "Not Set." - prefixes = await ctx.bot.db.guild(ctx.guild).prefix() + prefixes = await ctx.bot._config.guild(ctx.guild).prefix() guild_settings = _("Admin roles: {admin}\nMod roles: {mod}\n").format( admin=admin_roles_str, mod=mod_roles_str ) @@ -775,8 +776,8 @@ class Core(commands.Cog, CoreLogic): guild_settings = "" prefixes = None # This is correct. The below can happen in a guild. if not prefixes: - prefixes = await ctx.bot.db.prefix() - locale = await ctx.bot.db.locale() + prefixes = await ctx.bot._config.prefix() + locale = await ctx.bot._config.locale() prefix_string = " ".join(prefixes) settings = _( @@ -800,7 +801,7 @@ class Core(commands.Cog, CoreLogic): """ Adds an admin role for this guild. """ - async with ctx.bot.db.guild(ctx.guild).admin_role() as roles: + async with ctx.bot._config.guild(ctx.guild).admin_role() as roles: if role.id in roles: return await ctx.send(_("This role is already an admin role.")) roles.append(role.id) @@ -813,7 +814,7 @@ class Core(commands.Cog, CoreLogic): """ Adds a mod role for this guild. """ - async with ctx.bot.db.guild(ctx.guild).mod_role() as roles: + async with ctx.bot._config.guild(ctx.guild).mod_role() as roles: if role.id in roles: return await ctx.send(_("This role is already a mod role.")) roles.append(role.id) @@ -826,7 +827,7 @@ class Core(commands.Cog, CoreLogic): """ Removes an admin role for this guild. """ - async with ctx.bot.db.guild(ctx.guild).admin_role() as roles: + async with ctx.bot._config.guild(ctx.guild).admin_role() as roles: if role.id not in roles: return await ctx.send(_("That role was not an admin role to begin with.")) roles.remove(role.id) @@ -839,7 +840,7 @@ class Core(commands.Cog, CoreLogic): """ Removes a mod role for this guild. """ - async with ctx.bot.db.guild(ctx.guild).mod_role() as roles: + async with ctx.bot._config.guild(ctx.guild).mod_role() as roles: if role.id not in roles: return await ctx.send(_("That role was not a mod role to begin with.")) roles.remove(role.id) @@ -855,8 +856,8 @@ class Core(commands.Cog, CoreLogic): Default is to not use the bot's configured colour, in which case the colour used will be the colour of the bot's top role. """ - current_setting = await ctx.bot.db.guild(ctx.guild).use_bot_color() - await ctx.bot.db.guild(ctx.guild).use_bot_color.set(not current_setting) + current_setting = await ctx.bot._config.guild(ctx.guild).use_bot_color() + await ctx.bot._config.guild(ctx.guild).use_bot_color.set(not current_setting) await ctx.send( _("The bot {} use its configured color for embeds.").format( _("will not") if current_setting else _("will") @@ -872,8 +873,8 @@ class Core(commands.Cog, CoreLogic): Default is for fuzzy command search to be disabled. """ - current_setting = await ctx.bot.db.guild(ctx.guild).fuzzy() - await ctx.bot.db.guild(ctx.guild).fuzzy.set(not current_setting) + current_setting = await ctx.bot._config.guild(ctx.guild).fuzzy() + await ctx.bot._config.guild(ctx.guild).fuzzy.set(not current_setting) await ctx.send( _("Fuzzy command search has been {} for this server.").format( _("disabled") if current_setting else _("enabled") @@ -888,8 +889,8 @@ class Core(commands.Cog, CoreLogic): Default is for fuzzy command search to be disabled. """ - current_setting = await ctx.bot.db.fuzzy() - await ctx.bot.db.fuzzy.set(not current_setting) + current_setting = await ctx.bot._config.fuzzy() + await ctx.bot._config.fuzzy.set(not current_setting) await ctx.send( _("Fuzzy command search has been {} in DMs.").format( _("disabled") if current_setting else _("enabled") @@ -907,11 +908,11 @@ class Core(commands.Cog, CoreLogic): https://discordpy.readthedocs.io/en/stable/ext/commands/api.html#discord.ext.commands.ColourConverter """ if colour is None: - ctx.bot.color = discord.Color.red() - await ctx.bot.db.color.set(discord.Color.red().value) + ctx.bot._color = discord.Color.red() + await ctx.bot._config.color.set(discord.Color.red().value) return await ctx.send(_("The color has been reset.")) - ctx.bot.color = colour - await ctx.bot.db.color.set(colour.value) + ctx.bot._color = colour + await ctx.bot._config.color.set(colour.value) await ctx.send(_("The color has been set.")) @_set.command() @@ -1076,11 +1077,11 @@ class Core(commands.Cog, CoreLogic): async def serverprefix(self, ctx: commands.Context, *prefixes: str): """Sets Red's server prefix(es)""" if not prefixes: - await ctx.bot.db.guild(ctx.guild).prefix.set([]) + await ctx.bot._config.guild(ctx.guild).prefix.set([]) await ctx.send(_("Guild prefixes have been reset.")) return prefixes = sorted(prefixes, reverse=True) - await ctx.bot.db.guild(ctx.guild).prefix.set(prefixes) + await ctx.bot._config.guild(ctx.guild).prefix.set(prefixes) await ctx.send(_("Prefix set.")) @_set.command() @@ -1098,7 +1099,7 @@ class Core(commands.Cog, CoreLogic): locale_list = [loc.stem.lower() for loc in list(red_path.glob("**/*.po"))] if locale_name.lower() in locale_list or locale_name.lower() == "en-us": i18n.set_locale(locale_name) - await ctx.bot.db.locale.set(locale_name) + await ctx.bot._config.locale.set(locale_name) await ctx.send(_("Locale has been set.")) else: await ctx.send( @@ -1119,11 +1120,11 @@ class Core(commands.Cog, CoreLogic): `[My link](https://example.com)` """ if not text: - await ctx.bot.db.custom_info.clear() + await ctx.bot._config.custom_info.clear() await ctx.send(_("The custom text has been cleared.")) return if len(text) <= 1024: - await ctx.bot.db.custom_info.set(text) + await ctx.bot._config.custom_info.set(text) await ctx.send(_("The custom text has been set.")) await ctx.invoke(self.info) else: @@ -1144,7 +1145,7 @@ class Core(commands.Cog, CoreLogic): """ if ctx.channel.permissions_for(ctx.me).manage_messages: await ctx.message.delete() - await ctx.bot.db.api_tokens.set_raw(service, value=tokens) + await ctx.bot._config.api_tokens.set_raw(service, value=tokens) await ctx.send(_("`{service}` API tokens have been set.").format(service=service)) @commands.group() @@ -1163,8 +1164,8 @@ class Core(commands.Cog, CoreLogic): Using this without a setting will toggle. """ if use_menus is None: - use_menus = not await ctx.bot.db.help.use_menus() - await ctx.bot.db.help.use_menus.set(use_menus) + use_menus = not await ctx.bot._config.help.use_menus() + await ctx.bot._config.help.use_menus.set(use_menus) if use_menus: await ctx.send(_("Help will use menus.")) else: @@ -1179,8 +1180,8 @@ class Core(commands.Cog, CoreLogic): Using this without a setting will toggle. """ if show_hidden is None: - show_hidden = not await ctx.bot.db.help.show_hidden() - await ctx.bot.db.help.show_hidden.set(show_hidden) + show_hidden = not await ctx.bot._config.help.show_hidden() + await ctx.bot._config.help.show_hidden.set(show_hidden) if show_hidden: await ctx.send(_("Help will not filter hidden commands")) else: @@ -1196,8 +1197,8 @@ class Core(commands.Cog, CoreLogic): Using this without a setting will toggle. """ if verify is None: - verify = not await ctx.bot.db.help.verify_checks() - await ctx.bot.db.help.verify_checks.set(verify) + verify = not await ctx.bot._config.help.verify_checks() + await ctx.bot._config.help.verify_checks.set(verify) if verify: await ctx.send(_("Help will only show for commands which can be run.")) else: @@ -1215,8 +1216,8 @@ class Core(commands.Cog, CoreLogic): Using this without a setting will toggle. """ if verify is None: - verify = not await ctx.bot.db.help.verify_exists() - await ctx.bot.db.help.verify_exists.set(verify) + verify = not await ctx.bot._config.help.verify_exists() + await ctx.bot._config.help.verify_exists.set(verify) if verify: await ctx.send(_("Help will verify the existence of help topics.")) else: @@ -1243,7 +1244,7 @@ class Core(commands.Cog, CoreLogic): await ctx.send(_("You must give a positive value!")) return - await ctx.bot.db.help.page_char_limit.set(limit) + await ctx.bot._config.help.page_char_limit.set(limit) await ctx.send(_("Done. The character limit per page has been set to {}.").format(limit)) @helpset.command(name="maxpages") @@ -1262,7 +1263,7 @@ class Core(commands.Cog, CoreLogic): await ctx.send(_("You must give a value of zero or greater!")) return - await ctx.bot.db.help.max_pages_in_guild.set(pages) + await ctx.bot._config.help.max_pages_in_guild.set(pages) await ctx.send(_("Done. The page limit has been set to {}.").format(pages)) @helpset.command(name="tagline") @@ -1274,7 +1275,7 @@ class Core(commands.Cog, CoreLogic): specified, the default will be used instead. """ if tagline is None: - await ctx.bot.db.help.tagline.set("") + await ctx.bot._config.help.tagline.set("") return await ctx.send(_("The tagline has been reset.")) if len(tagline) > 2048: @@ -1286,7 +1287,7 @@ class Core(commands.Cog, CoreLogic): ) return - await ctx.bot.db.help.tagline.set(tagline) + await ctx.bot._config.help.tagline.set(tagline) await ctx.send(_("The tagline has been set to {}.").format(tagline[:1900])) @commands.command() @@ -1393,7 +1394,7 @@ class Core(commands.Cog, CoreLogic): footer += _(" | Server ID: {}").format(guild.id) # We need to grab the DM command prefix (global) - # Since it can also be set through cli flags, bot.db is not a reliable + # Since it can also be set through cli flags, bot._config is not a reliable # source. So we'll just mock a DM message instead. fake_message = namedtuple("Message", "guild") prefixes = await ctx.bot.command_prefix(ctx.bot, fake_message(guild=None)) @@ -1417,24 +1418,24 @@ class Core(commands.Cog, CoreLogic): send_embed = None if is_dm: - send_embed = await ctx.bot.db.user(destination).embeds() + send_embed = await ctx.bot._config.user(destination).embeds() else: if not destination.permissions_for(destination.guild.me).send_messages: continue if destination.permissions_for(destination.guild.me).embed_links: - send_embed = await ctx.bot.db.guild(destination.guild).embeds() + send_embed = await ctx.bot._config.guild(destination.guild).embeds() else: send_embed = False if send_embed is None: - send_embed = await ctx.bot.db.embeds() + send_embed = await ctx.bot._config.embeds() if send_embed: - if not is_dm and await self.bot.db.guild(destination.guild).use_bot_color(): - color = destination.guild.me.color + if not is_dm: + color = await ctx.bot.get_embed_color(destination) else: - color = ctx.bot.color + color = ctx.bot._color e = discord.Embed(colour=color, description=message) if author.avatar_url: @@ -1608,7 +1609,7 @@ class Core(commands.Cog, CoreLogic): """ Adds a user to the whitelist. """ - async with ctx.bot.db.whitelist() as curr_list: + async with ctx.bot._config.whitelist() as curr_list: if user.id not in curr_list: curr_list.append(user.id) @@ -1619,7 +1620,7 @@ class Core(commands.Cog, CoreLogic): """ Lists whitelisted users. """ - curr_list = await ctx.bot.db.whitelist() + curr_list = await ctx.bot._config.whitelist() msg = _("Whitelisted Users:") for user in curr_list: @@ -1635,7 +1636,7 @@ class Core(commands.Cog, CoreLogic): """ removed = False - async with ctx.bot.db.whitelist() as curr_list: + async with ctx.bot._config.whitelist() as curr_list: if user.id in curr_list: removed = True curr_list.remove(user.id) @@ -1650,7 +1651,7 @@ class Core(commands.Cog, CoreLogic): """ Clears the whitelist. """ - await ctx.bot.db.whitelist.set([]) + await ctx.bot._config.whitelist.set([]) await ctx.send(_("Whitelist has been cleared.")) @commands.group() @@ -1670,7 +1671,7 @@ class Core(commands.Cog, CoreLogic): await ctx.send(_("You cannot blacklist an owner!")) return - async with ctx.bot.db.blacklist() as curr_list: + async with ctx.bot._config.blacklist() as curr_list: if user.id not in curr_list: curr_list.append(user.id) @@ -1681,7 +1682,7 @@ class Core(commands.Cog, CoreLogic): """ Lists blacklisted users. """ - curr_list = await ctx.bot.db.blacklist() + curr_list = await ctx.bot._config.blacklist() msg = _("Blacklisted Users:") for user in curr_list: @@ -1697,7 +1698,7 @@ class Core(commands.Cog, CoreLogic): """ removed = False - async with ctx.bot.db.blacklist() as curr_list: + async with ctx.bot._config.blacklist() as curr_list: if user.id in curr_list: removed = True curr_list.remove(user.id) @@ -1712,7 +1713,7 @@ class Core(commands.Cog, CoreLogic): """ Clears the blacklist. """ - await ctx.bot.db.blacklist.set([]) + await ctx.bot._config.blacklist.set([]) await ctx.send(_("Blacklist has been cleared.")) @commands.group() @@ -1732,7 +1733,7 @@ class Core(commands.Cog, CoreLogic): Adds a user or role to the whitelist. """ user = isinstance(user_or_role, discord.Member) - async with ctx.bot.db.guild(ctx.guild).whitelist() as curr_list: + async with ctx.bot._config.guild(ctx.guild).whitelist() as curr_list: if user_or_role.id not in curr_list: curr_list.append(user_or_role.id) @@ -1746,7 +1747,7 @@ class Core(commands.Cog, CoreLogic): """ Lists whitelisted users and roles. """ - curr_list = await ctx.bot.db.guild(ctx.guild).whitelist() + curr_list = await ctx.bot._config.guild(ctx.guild).whitelist() msg = _("Whitelisted Users and roles:") for obj in curr_list: @@ -1765,7 +1766,7 @@ class Core(commands.Cog, CoreLogic): user = isinstance(user_or_role, discord.Member) removed = False - async with ctx.bot.db.guild(ctx.guild).whitelist() as curr_list: + async with ctx.bot._config.guild(ctx.guild).whitelist() as curr_list: if user_or_role.id in curr_list: removed = True curr_list.remove(user_or_role.id) @@ -1786,7 +1787,7 @@ class Core(commands.Cog, CoreLogic): """ Clears the whitelist. """ - await ctx.bot.db.guild(ctx.guild).whitelist.set([]) + await ctx.bot._config.guild(ctx.guild).whitelist.set([]) await ctx.send(_("Whitelist has been cleared.")) @commands.group() @@ -1811,7 +1812,7 @@ class Core(commands.Cog, CoreLogic): await ctx.send(_("You cannot blacklist an owner!")) return - async with ctx.bot.db.guild(ctx.guild).blacklist() as curr_list: + async with ctx.bot._config.guild(ctx.guild).blacklist() as curr_list: if user_or_role.id not in curr_list: curr_list.append(user_or_role.id) @@ -1825,7 +1826,7 @@ class Core(commands.Cog, CoreLogic): """ Lists blacklisted users and roles. """ - curr_list = await ctx.bot.db.guild(ctx.guild).blacklist() + curr_list = await ctx.bot._config.guild(ctx.guild).blacklist() msg = _("Blacklisted Users and Roles:") for obj in curr_list: @@ -1844,7 +1845,7 @@ class Core(commands.Cog, CoreLogic): removed = False user = isinstance(user_or_role, discord.Member) - async with ctx.bot.db.guild(ctx.guild).blacklist() as curr_list: + async with ctx.bot._config.guild(ctx.guild).blacklist() as curr_list: if user_or_role.id in curr_list: removed = True curr_list.remove(user_or_role.id) @@ -1865,7 +1866,7 @@ class Core(commands.Cog, CoreLogic): """ Clears the blacklist. """ - await ctx.bot.db.guild(ctx.guild).blacklist.set([]) + await ctx.bot._config.guild(ctx.guild).blacklist.set([]) await ctx.send(_("Blacklist has been cleared.")) @checks.guildowner_or_permissions(administrator=True) @@ -1904,7 +1905,7 @@ class Core(commands.Cog, CoreLogic): ) return - async with ctx.bot.db.disabled_commands() as disabled_commands: + async with ctx.bot._config.disabled_commands() as disabled_commands: if command not in disabled_commands: disabled_commands.append(command_obj.qualified_name) @@ -1936,7 +1937,7 @@ class Core(commands.Cog, CoreLogic): await ctx.send(_("You are not allowed to disable that command.")) return - async with ctx.bot.db.guild(ctx.guild).disabled_commands() as disabled_commands: + async with ctx.bot._config.guild(ctx.guild).disabled_commands() as disabled_commands: if command not in disabled_commands: disabled_commands.append(command_obj.qualified_name) @@ -1970,7 +1971,7 @@ class Core(commands.Cog, CoreLogic): ) return - async with ctx.bot.db.disabled_commands() as disabled_commands: + async with ctx.bot._config.disabled_commands() as disabled_commands: with contextlib.suppress(ValueError): disabled_commands.remove(command_obj.qualified_name) @@ -1996,7 +1997,7 @@ class Core(commands.Cog, CoreLogic): await ctx.send(_("You are not allowed to enable that command.")) return - async with ctx.bot.db.guild(ctx.guild).disabled_commands() as disabled_commands: + async with ctx.bot._config.guild(ctx.guild).disabled_commands() as disabled_commands: with contextlib.suppress(ValueError): disabled_commands.remove(command_obj.qualified_name) @@ -2017,7 +2018,7 @@ class Core(commands.Cog, CoreLogic): To include the command name in the message, include the `{command}` placeholder. """ - await ctx.bot.db.disabled_command_msg.set(message) + await ctx.bot._config.disabled_command_msg.set(message) await ctx.tick() @commands.guild_only() @@ -2036,7 +2037,7 @@ class Core(commands.Cog, CoreLogic): configured for automatic moderation action immunity """ - ai_ids = await ctx.bot.db.guild(ctx.guild).autoimmune_ids() + ai_ids = await ctx.bot._config.guild(ctx.guild).autoimmune_ids() roles = {r.name for r in ctx.guild.roles if r.id in ai_ids} members = {str(m) for m in ctx.guild.members if m.id in ai_ids} @@ -2064,7 +2065,7 @@ class Core(commands.Cog, CoreLogic): """ Makes a user or roles immune from automated moderation actions """ - async with ctx.bot.db.guild(ctx.guild).autoimmune_ids() as ai_ids: + async with ctx.bot._config.guild(ctx.guild).autoimmune_ids() as ai_ids: if user_or_role.id in ai_ids: return await ctx.send(_("Already added.")) ai_ids.append(user_or_role.id) @@ -2077,7 +2078,7 @@ class Core(commands.Cog, CoreLogic): """ Makes a user or roles immune from automated moderation actions """ - async with ctx.bot.db.guild(ctx.guild).autoimmune_ids() as ai_ids: + async with ctx.bot._config.guild(ctx.guild).autoimmune_ids() as ai_ids: if user_or_role.id not in ai_ids: return await ctx.send(_("Not in list.")) ai_ids.remove(user_or_role.id) @@ -2111,7 +2112,7 @@ class Core(commands.Cog, CoreLogic): This is the default state. """ - async with ctx.bot.db.owner_opt_out_list() as opt_outs: + async with ctx.bot._config.owner_opt_out_list() as opt_outs: if ctx.author.id in opt_outs: opt_outs.remove(ctx.author.id) @@ -2122,7 +2123,7 @@ class Core(commands.Cog, CoreLogic): """ Opt-out of recieving owner notifications. """ - async with ctx.bot.db.owner_opt_out_list() as opt_outs: + async with ctx.bot._config.owner_opt_out_list() as opt_outs: if ctx.author.id not in opt_outs: opt_outs.append(ctx.author.id) @@ -2141,7 +2142,7 @@ class Core(commands.Cog, CoreLogic): except AttributeError: channel_id = channel - async with ctx.bot.db.extra_owner_destinations() as extras: + async with ctx.bot._config.extra_owner_destinations() as extras: if channel_id not in extras: extras.append(channel_id) @@ -2160,7 +2161,7 @@ class Core(commands.Cog, CoreLogic): except AttributeError: channel_id = channel - async with ctx.bot.db.extra_owner_destinations() as extras: + async with ctx.bot._config.extra_owner_destinations() as extras: if channel_id in extras: extras.remove(channel_id) @@ -2172,7 +2173,7 @@ class Core(commands.Cog, CoreLogic): Lists the configured extra destinations for owner notifications """ - channel_ids = await ctx.bot.db.extra_owner_destinations() + channel_ids = await ctx.bot._config.extra_owner_destinations() if not channel_ids: await ctx.send(_("There are no extra channels being sent to.")) diff --git a/redbot/core/dev_commands.py b/redbot/core/dev_commands.py index 488d13f03..1251ea2e8 100644 --- a/redbot/core/dev_commands.py +++ b/redbot/core/dev_commands.py @@ -126,7 +126,7 @@ class Dev(commands.Cog): self._last_result = result - api_keys = await ctx.bot.db.api_tokens() + api_keys = await ctx.bot._config.api_tokens() result = self.sanitize_output(ctx, api_keys, str(result)) await ctx.send_interactive(self.get_pages(result), box_lang="py") @@ -191,7 +191,7 @@ class Dev(commands.Cog): msg = "{}{}".format(printed, result) else: msg = printed - api_keys = await ctx.bot.db.api_tokens() + api_keys = await ctx.bot._config.api_tokens() msg = self.sanitize_output(ctx, api_keys, msg) await ctx.send_interactive(self.get_pages(msg), box_lang="py") @@ -276,7 +276,7 @@ class Dev(commands.Cog): elif value: msg = "{}".format(value) - api_keys = await ctx.bot.db.api_tokens() + api_keys = await ctx.bot._config.api_tokens() msg = self.sanitize_output(ctx, api_keys, msg) try: diff --git a/redbot/core/events.py b/redbot/core/events.py index 62f53af56..7f594e0b2 100644 --- a/redbot/core/events.py +++ b/redbot/core/events.py @@ -37,19 +37,19 @@ ______ _ ______ _ _ ______ _ def init_events(bot, cli_flags): @bot.event async def on_connect(): - if bot.uptime is None: + if bot._uptime is None: print("Connected to Discord. Getting ready...") @bot.event async def on_ready(): - if bot.uptime is not None: + if bot._uptime is not None: return - bot.uptime = datetime.datetime.utcnow() + bot._uptime = datetime.datetime.utcnow() packages = [] if cli_flags.no_cogs is False: - packages.extend(await bot.db.packages()) + packages.extend(await bot._config.packages()) if cli_flags.load_cogs: packages.extend(cli_flags.load_cogs) @@ -90,8 +90,8 @@ def init_events(bot, cli_flags): except: invite_url = "Could not fetch invite url" - prefixes = cli_flags.prefix or (await bot.db.prefix()) - lang = await bot.db.locale() + prefixes = cli_flags.prefix or (await bot._config.prefix()) + lang = await bot._config.locale() red_pkg = pkg_resources.get_distribution("Red-DiscordBot") dpy_version = discord.__version__ @@ -160,7 +160,7 @@ def init_events(bot, cli_flags): if invite_url: print("\nInvite URL: {}\n".format(invite_url)) - bot.color = discord.Colour(await bot.db.color()) + bot._color = discord.Colour(await bot._config.color()) @bot.event async def on_command_error(ctx, error, unhandled_by_cog=False): @@ -183,7 +183,7 @@ def init_events(bot, cli_flags): elif isinstance(error, commands.UserInputError): await ctx.send_help() elif isinstance(error, commands.DisabledCommand): - disabled_message = await bot.db.disabled_command_msg() + disabled_message = await bot._config.disabled_command_msg() if disabled_message: await ctx.send(disabled_message.replace("{command}", ctx.invoked_with)) elif isinstance(error, commands.CommandInvokeError): @@ -255,12 +255,12 @@ def init_events(bot, cli_flags): @bot.event async def on_message(message): - bot.counter["messages_read"] += 1 + bot._counter["messages_read"] += 1 await bot.process_commands(message) discord_now = message.created_at if ( - not bot.checked_time_accuracy - or (discord_now - timedelta(minutes=60)) > bot.checked_time_accuracy + not bot._checked_time_accuracy + or (discord_now - timedelta(minutes=60)) > bot._checked_time_accuracy ): system_now = datetime.datetime.utcnow() diff = abs((discord_now - system_now).total_seconds()) @@ -270,28 +270,28 @@ def init_events(bot, cli_flags): "clock. Any time sensitive code may fail.", diff, ) - bot.checked_time_accuracy = discord_now + bot._checked_time_accuracy = discord_now @bot.event async def on_resumed(): - bot.counter["sessions_resumed"] += 1 + bot._counter["sessions_resumed"] += 1 @bot.event async def on_command(command): - bot.counter["processed_commands"] += 1 + bot._counter["processed_commands"] += 1 @bot.event async def on_command_add(command: commands.Command): - disabled_commands = await bot.db.disabled_commands() + disabled_commands = await bot._config.disabled_commands() if command.qualified_name in disabled_commands: command.enabled = False for guild in bot.guilds: - disabled_commands = await bot.db.guild(guild).disabled_commands() + disabled_commands = await bot._config.guild(guild).disabled_commands() if command.qualified_name in disabled_commands: command.disable_in(guild) async def _guild_added(guild: discord.Guild): - disabled_commands = await bot.db.guild(guild).disabled_commands() + disabled_commands = await bot._config.guild(guild).disabled_commands() for command_name in disabled_commands: command_obj = bot.get_command(command_name) if command_obj is not None: @@ -310,7 +310,7 @@ def init_events(bot, cli_flags): @bot.event async def on_guild_leave(guild: discord.Guild): # Clean up any unneeded checks - disabled_commands = await bot.db.guild(guild).disabled_commands() + disabled_commands = await bot._config.guild(guild).disabled_commands() for command_name in disabled_commands: command_obj = bot.get_command(command_name) if command_obj is not None: @@ -322,7 +322,7 @@ def init_events(bot, cli_flags): for c in confs: uuid = c.unique_identifier group_data = c.custom_groups - await bot.db.custom("CUSTOM_GROUPS", c.cog_name, uuid).set(group_data) + await bot._config.custom("CUSTOM_GROUPS", c.cog_name, uuid).set(group_data) def _get_startup_screen_specs(): diff --git a/redbot/core/global_checks.py b/redbot/core/global_checks.py index a84f8e2e1..7bdb5d1a9 100644 --- a/redbot/core/global_checks.py +++ b/redbot/core/global_checks.py @@ -9,11 +9,11 @@ def init_global_checks(bot): if await bot.is_owner(ctx.author): return True - whitelist = await bot.db.whitelist() + whitelist = await bot._config.whitelist() if whitelist: return ctx.author.id in whitelist - return ctx.author.id not in await bot.db.blacklist() + return ctx.author.id not in await bot._config.blacklist() @bot.check_once async def local_perms(ctx: commands.Context): @@ -22,7 +22,7 @@ def init_global_checks(bot): return True elif ctx.guild is None: return True - guild_settings = bot.db.guild(ctx.guild) + guild_settings = bot._config.guild(ctx.guild) local_blacklist = await guild_settings.blacklist() local_whitelist = await guild_settings.whitelist() diff --git a/redbot/core/utils/__init__.py b/redbot/core/utils/__init__.py index c97f7ac45..9fcf37bcc 100644 --- a/redbot/core/utils/__init__.py +++ b/redbot/core/utils/__init__.py @@ -221,9 +221,9 @@ async def fuzzy_command_search( """ if ctx.guild is not None: - enabled = await ctx.bot.db.guild(ctx.guild).fuzzy() + enabled = await ctx.bot._config.guild(ctx.guild).fuzzy() else: - enabled = await ctx.bot.db.fuzzy() + enabled = await ctx.bot._config.fuzzy() if not enabled: return diff --git a/redbot/core/utils/mod.py b/redbot/core/utils/mod.py index 9191d8889..030eaa3ba 100644 --- a/redbot/core/utils/mod.py +++ b/redbot/core/utils/mod.py @@ -128,9 +128,10 @@ async def is_mod_or_superior( elif isinstance(obj, discord.Member): user = obj elif isinstance(obj, discord.Role): - if obj.id in await bot.db.guild(obj.guild).mod_role(): + gid = obj.guild.id + if obj in await bot.get_admin_role_ids(gid): return True - if obj.id in await bot.db.guild(obj.guild).admin_role(): + if obj in await bot.get_mod_role_ids(gid): return True return False else: @@ -209,7 +210,7 @@ async def is_admin_or_superior( elif isinstance(obj, discord.Member): user = obj elif isinstance(obj, discord.Role): - return obj.id in await bot.db.guild(obj.guild).admin_role() + return obj.id in await bot.get_admin_role_ids(obj.guild.id) else: raise TypeError("Only messages, members or roles may be passed") From 4f1f49d96f8b381996c2ffef3cd856cde70d7105 Mon Sep 17 00:00:00 2001 From: Michael H Date: Mon, 2 Sep 2019 09:38:19 -0400 Subject: [PATCH 138/183] [Modlog] userinfo stops breaking with high numbers of roles on a user (#2971) * Fixes it, I guess * changelog * reluctant handling of what the people want here * mypy would have prevented this one --- changelog.d/mod/2910.bugfix.rst | 1 + redbot/cogs/mod/names.py | 39 +++++++++++++++++++++++++++++---- 2 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 changelog.d/mod/2910.bugfix.rst diff --git a/changelog.d/mod/2910.bugfix.rst b/changelog.d/mod/2910.bugfix.rst new file mode 100644 index 000000000..b27f55dcf --- /dev/null +++ b/changelog.d/mod/2910.bugfix.rst @@ -0,0 +1 @@ +userinfo doesn't break with absurd numbers of roles. \ No newline at end of file diff --git a/redbot/cogs/mod/names.py b/redbot/cogs/mod/names.py index 6c44bab1b..2b82f46b8 100644 --- a/redbot/cogs/mod/names.py +++ b/redbot/cogs/mod/names.py @@ -125,15 +125,46 @@ class ModInfo(MixinMeta): activity = _("Watching {}").format(user.activity.name) if roles: - roles = ", ".join([x.mention for x in roles]) + + role_str = ", ".join([x.mention for x in roles]) + # 400 BAD REQUEST (error code: 50035): Invalid Form Body + # In embed.fields.2.value: Must be 1024 or fewer in length. + if len(role_str) > 1024: + # Alternative string building time. + # This is not the most optimal, but if you're hitting this, you are losing more time + # to every single check running on users than the occasional user info invoke + # We don't start by building this way, since the number of times we hit this should be + # infintesimally small compared to when we don't across all uses of Red. + continuation_string = _( + "and {numeric_number} more roles not displayed due to embed limits." + ) + available_length = 1024 - len(continuation_string) # do not attempt to tweak, i18n + + role_chunks = [] + remaining_roles = 0 + + for r in roles: + chunk = f"{r.mention}, " + chunk_size = len(chunk) + + if chunk_size < available_length: + available_length -= chunk_size + role_chunks.append(chunk) + else: + remaining_roles += 1 + + role_chunks.append(continuation_string.format(numeric_number=remaining_roles)) + + role_str = "".join(role_chunks) + else: - roles = None + role_str = None data = discord.Embed(description=activity, colour=user.colour) data.add_field(name=_("Joined Discord on"), value=created_on) data.add_field(name=_("Joined this server on"), value=joined_on) - if roles is not None: - data.add_field(name=_("Roles"), value=roles, inline=False) + if role_str is not None: + data.add_field(name=_("Roles"), value=role_str, inline=False) if names: # May need sanitizing later, but mentions do not ping in embeds currently val = filter_invites(", ".join(names)) From 0be3b1acd7ed1fbb0745d2600849783aa786c94d Mon Sep 17 00:00:00 2001 From: Flame442 <34169552+Flame442@users.noreply.github.com> Date: Mon, 2 Sep 2019 09:43:56 -0400 Subject: [PATCH 139/183] Fixes the strings of `[p]set usebotcolor` (#2974) * Fixes the help text of `[p]set usebotcolor` * Create 2974.bugfix.rst --- changelog.d/2974.bugfix.rst | 1 + redbot/core/core_commands.py | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 changelog.d/2974.bugfix.rst diff --git a/changelog.d/2974.bugfix.rst b/changelog.d/2974.bugfix.rst new file mode 100644 index 000000000..65a856a64 --- /dev/null +++ b/changelog.d/2974.bugfix.rst @@ -0,0 +1 @@ +Fixed the help text and response of `[p]set usebotcolor` to accurately reflect what the command is doing. diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index 7c81bff11..e10a37ada 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -853,14 +853,14 @@ class Core(commands.Cog, CoreLogic): """ Toggle whether to use the bot owner-configured colour for embeds. - Default is to not use the bot's configured colour, in which case the - colour used will be the colour of the bot's top role. + Default is to use the bot's configured colour. + Otherwise, the colour used will be the colour of the bot's top role. """ current_setting = await ctx.bot._config.guild(ctx.guild).use_bot_color() await ctx.bot._config.guild(ctx.guild).use_bot_color.set(not current_setting) await ctx.send( _("The bot {} use its configured color for embeds.").format( - _("will not") if current_setting else _("will") + _("will not") if not current_setting else _("will") ) ) From cdb7a02cb83075ec4eaa8834c074497c1b5db51d Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Sun, 8 Sep 2019 01:25:02 +0200 Subject: [PATCH 140/183] [Core] Fix infinite typing for commands with cooldown (#2987) * fix(core): cooldown error can't reinvoke command (infinite typing issue) * chore(changelog): add towncrier entry --- changelog.d/2985.bugfix.rst | 1 + redbot/core/events.py | 14 +------------- 2 files changed, 2 insertions(+), 13 deletions(-) create mode 100644 changelog.d/2985.bugfix.rst diff --git a/changelog.d/2985.bugfix.rst b/changelog.d/2985.bugfix.rst new file mode 100644 index 000000000..cb9ee2653 --- /dev/null +++ b/changelog.d/2985.bugfix.rst @@ -0,0 +1 @@ +Bot no longer types infinitely when command with cooldown is called within last second of cooldown. \ No newline at end of file diff --git a/redbot/core/events.py b/redbot/core/events.py index 7f594e0b2..7adb7f533 100644 --- a/redbot/core/events.py +++ b/redbot/core/events.py @@ -232,21 +232,9 @@ def init_events(bot, cli_flags): elif isinstance(error, commands.NoPrivateMessage): await ctx.send("That command is not available in DMs.") elif isinstance(error, commands.CommandOnCooldown): - if error.retry_after < 1: - async with ctx.typing(): - # the sleep here is so that commands using this for ratelimit purposes - # are not made more lenient than intended, while still being - # more convienient for the user than redoing it less than a second later. - await asyncio.sleep(error.retry_after) - await ctx.bot.invoke(ctx) - # done this way so checks still occur if there are other - # failures possible than just cooldown. - # do not change to ctx.reinvoke() - return - await ctx.send( "This command is on cooldown. Try again in {}.".format( - humanize_timedelta(seconds=error.retry_after) + humanize_timedelta(seconds=error.retry_after) or "1 second" ), delete_after=error.retry_after, ) From 682b86c193e3768b93512a46ed74d8897c8e17b8 Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Mon, 9 Sep 2019 21:29:19 +0200 Subject: [PATCH 141/183] [Permissions] Possible solution for clearing out usage of commands with (#2992) * style(permissions): clear out usage of commands with * chore(changelog): add towncrier entry * style(permissions): fix black formatting --- changelog.d/permissions/2991.enhance.rst | 1 + redbot/cogs/permissions/permissions.py | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 changelog.d/permissions/2991.enhance.rst diff --git a/changelog.d/permissions/2991.enhance.rst b/changelog.d/permissions/2991.enhance.rst new file mode 100644 index 000000000..efb88ab78 --- /dev/null +++ b/changelog.d/permissions/2991.enhance.rst @@ -0,0 +1 @@ +Clear out usage of commands with ```` argument. diff --git a/redbot/cogs/permissions/permissions.py b/redbot/cogs/permissions/permissions.py index 2af4cfc88..2e0aa9422 100644 --- a/redbot/cogs/permissions/permissions.py +++ b/redbot/cogs/permissions/permissions.py @@ -277,7 +277,9 @@ class Permissions(commands.Cog): await self._permissions_acl_set(ctx, guild_id=ctx.guild.id, update=True) @checks.is_owner() - @permissions.command(name="addglobalrule") + @permissions.command( + name="addglobalrule", usage=" ..." + ) async def permissions_addglobalrule( self, ctx: commands.Context, @@ -308,7 +310,11 @@ class Permissions(commands.Cog): @commands.guild_only() @checks.guildowner_or_permissions(administrator=True) - @permissions.command(name="addserverrule", aliases=["addguildrule"]) + @permissions.command( + name="addserverrule", + usage=" ...", + aliases=["addguildrule"], + ) async def permissions_addguildrule( self, ctx: commands.Context, @@ -338,7 +344,7 @@ class Permissions(commands.Cog): await ctx.send(_("Rule added.")) @checks.is_owner() - @permissions.command(name="removeglobalrule") + @permissions.command(name="removeglobalrule", usage=" ...") async def permissions_removeglobalrule( self, ctx: commands.Context, @@ -361,7 +367,11 @@ class Permissions(commands.Cog): @commands.guild_only() @checks.guildowner_or_permissions(administrator=True) - @permissions.command(name="removeserverrule", aliases=["removeguildrule"]) + @permissions.command( + name="removeserverrule", + usage=" ...", + aliases=["removeguildrule"], + ) async def permissions_removeguildrule( self, ctx: commands.Context, From 77f1da30ea7ee35354c738d4b52fe03862abe87f Mon Sep 17 00:00:00 2001 From: DevilXD Date: Sat, 14 Sep 2019 00:40:54 +0200 Subject: [PATCH 142/183] Tempban logging improvement (#2993) * user and guild are logged now * Added changelog entry * Make sure Forbidden always triggers this as well --- changelog.d/mod/2993.misc.rst | 1 + redbot/cogs/mod/kickban.py | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 changelog.d/mod/2993.misc.rst diff --git a/changelog.d/mod/2993.misc.rst b/changelog.d/mod/2993.misc.rst new file mode 100644 index 000000000..ebf091f2d --- /dev/null +++ b/changelog.d/mod/2993.misc.rst @@ -0,0 +1 @@ +More descriptive tempban unban failure logging \ No newline at end of file diff --git a/redbot/cogs/mod/kickban.py b/redbot/cogs/mod/kickban.py index beabc1f05..417e40eff 100644 --- a/redbot/cogs/mod/kickban.py +++ b/redbot/cogs/mod/kickban.py @@ -127,16 +127,20 @@ class KickBanMixin(MixinMeta): unban_time = datetime.utcfromtimestamp( await self.settings.member(member(uid, guild)).banned_until() ) - now = datetime.utcnow() - if now > unban_time: # Time to unban the user + if datetime.utcnow() > unban_time: # Time to unban the user user = await self.bot.fetch_user(uid) queue_entry = (guild.id, user.id) try: await guild.unban(user, reason=_("Tempban finished")) guild_tempbans.remove(uid) - except discord.Forbidden: - log.info("Failed to unban member due to permissions") except discord.HTTPException as e: + # 50013: Missing permissions error code or 403: Forbidden status + if e.code == 50013 or e.status == 403: + log.info( + f"Failed to unban {user}({user.id}) user from " + f"{guild.name}({guild.id}) guild due to permissions" + ) + break # skip the rest of this guild log.info(f"Failed to unban member: error code: {e.code}") await asyncio.sleep(60) From 1e97597bc213367679acf4d9f2d081ca88c0f8ab Mon Sep 17 00:00:00 2001 From: Flame442 <34169552+Flame442@users.noreply.github.com> Date: Sun, 15 Sep 2019 01:09:35 -0400 Subject: [PATCH 143/183] [Trivia] Overwatch - Remove a blank answer (#2996) * Remove a blank answer * Create 2996.bugfix.rst --- changelog.d/trivia/2996.bugfix.rst | 1 + redbot/cogs/trivia/data/lists/overwatch.yaml | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 changelog.d/trivia/2996.bugfix.rst diff --git a/changelog.d/trivia/2996.bugfix.rst b/changelog.d/trivia/2996.bugfix.rst new file mode 100644 index 000000000..8fd6f76fd --- /dev/null +++ b/changelog.d/trivia/2996.bugfix.rst @@ -0,0 +1 @@ +Fixed a question in Overwatch accepting blank responses. diff --git a/redbot/cogs/trivia/data/lists/overwatch.yaml b/redbot/cogs/trivia/data/lists/overwatch.yaml index 63b62e243..d58ded00f 100644 --- a/redbot/cogs/trivia/data/lists/overwatch.yaml +++ b/redbot/cogs/trivia/data/lists/overwatch.yaml @@ -395,7 +395,6 @@ What is the name of D.Va's "Cute Spray" achievement?: What is the name of D.Va's default voice line?: - Love, D.Va - love d.va -- "" What is the name of Genji's default voice line?: - A Steady blade What is the name of Hanzo's default voice line?: From 4546ca9ba6cb386cde42662d32407e971410e445 Mon Sep 17 00:00:00 2001 From: Michael H Date: Sun, 15 Sep 2019 19:32:07 -0400 Subject: [PATCH 144/183] Clarify usage of humanize_timedelta (#3000) - resolves #2986 --- changelog.d/2986.docs.rst | 1 + changelog.d/2986.misc.rst | 1 + redbot/core/utils/chat_formatting.py | 28 +++++++++++++++++++++++++--- 3 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 changelog.d/2986.docs.rst create mode 100644 changelog.d/2986.misc.rst diff --git a/changelog.d/2986.docs.rst b/changelog.d/2986.docs.rst new file mode 100644 index 000000000..2809601e0 --- /dev/null +++ b/changelog.d/2986.docs.rst @@ -0,0 +1 @@ +Added more information about ``redbot.core.utils.humanize_timedelta`` into the docs \ No newline at end of file diff --git a/changelog.d/2986.misc.rst b/changelog.d/2986.misc.rst new file mode 100644 index 000000000..7a1d0ad33 --- /dev/null +++ b/changelog.d/2986.misc.rst @@ -0,0 +1 @@ +Updated the typing of ``redbot.core.utils.humanize_timedelta`` to be more accurate. \ No newline at end of file diff --git a/redbot/core/utils/chat_formatting.py b/redbot/core/utils/chat_formatting.py index 92d9261ee..a5ea031a3 100644 --- a/redbot/core/utils/chat_formatting.py +++ b/redbot/core/utils/chat_formatting.py @@ -1,6 +1,6 @@ import itertools import datetime -from typing import Sequence, Iterator, List, Optional, Union +from typing import Sequence, Iterator, List, Optional, Union, SupportsInt from io import BytesIO @@ -401,10 +401,32 @@ def format_perms_list(perms: discord.Permissions) -> str: def humanize_timedelta( - *, timedelta: Optional[datetime.timedelta] = None, seconds: Optional[int] = None + *, timedelta: Optional[datetime.timedelta] = None, seconds: Optional[SupportsInt] = None ) -> str: """ - Get a human timedelta representation + Get a locale aware human timedelta representation. + + This works with either a timedelta object or a number of seconds. + + Fractional values will be omitted, and values less than 1 second + an empty string. + + Parameters + ---------- + timedelta: Optional[datetime.timedelta] + A timedelta object + seconds: Optional[SupportsInt] + A number of seconds + + Returns + ------- + str + A locale aware representation of the timedelta or seconds. + + Raises + ------ + ValueError + The function was called with neither a number of seconds nor a timedelta object """ try: From 7f22d27d51a6a9b64b088fa1b148ec35dabe5b7c Mon Sep 17 00:00:00 2001 From: Flame442 <34169552+Flame442@users.noreply.github.com> Date: Wed, 18 Sep 2019 17:15:24 -0400 Subject: [PATCH 145/183] Fixes the logic of MessagePredicate.greater and MessagePredicate.less (#3004) * Fixes the logic of MessagePredicate.greater and MessagePredicate.less * Create 3004.bugfix.rst --- changelog.d/3004.bugfix.rst | 1 + redbot/core/utils/predicates.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 changelog.d/3004.bugfix.rst diff --git a/changelog.d/3004.bugfix.rst b/changelog.d/3004.bugfix.rst new file mode 100644 index 000000000..05e31452f --- /dev/null +++ b/changelog.d/3004.bugfix.rst @@ -0,0 +1 @@ +Fixed MessagePredicate.greater and MessagePredicate.less allowing any valid int instead of only valid ints/floats that are greater/less than the given value. diff --git a/redbot/core/utils/predicates.py b/redbot/core/utils/predicates.py index 5b311a55e..2b35c5051 100644 --- a/redbot/core/utils/predicates.py +++ b/redbot/core/utils/predicates.py @@ -574,7 +574,7 @@ class MessagePredicate(Callable[[discord.Message], bool]): """ valid_int = cls.valid_int(ctx, channel, user) valid_float = cls.valid_float(ctx, channel, user) - return cls(lambda self, m: valid_int(m) or valid_float(m) and float(m.content) < value) + return cls(lambda self, m: (valid_int(m) or valid_float(m)) and float(m.content) < value) @classmethod def greater( @@ -605,7 +605,7 @@ class MessagePredicate(Callable[[discord.Message], bool]): """ valid_int = cls.valid_int(ctx, channel, user) valid_float = cls.valid_float(ctx, channel, user) - return cls(lambda self, m: valid_int(m) or valid_float(m) and float(m.content) > value) + return cls(lambda self, m: (valid_int(m) or valid_float(m)) and float(m.content) > value) @classmethod def length_less( From ee3be8b633371b0f936c77b2e71792dcd9dcddca Mon Sep 17 00:00:00 2001 From: Michael H Date: Fri, 20 Sep 2019 10:55:46 -0400 Subject: [PATCH 146/183] Extra info (#3008) * Extra info * changelog --- changelog.d/3008.misc.rst | 1 + redbot/__main__.py | 2 +- redbot/core/commands/help.py | 2 ++ redbot/core/core_commands.py | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 changelog.d/3008.misc.rst diff --git a/changelog.d/3008.misc.rst b/changelog.d/3008.misc.rst new file mode 100644 index 000000000..3f99a7ca0 --- /dev/null +++ b/changelog.d/3008.misc.rst @@ -0,0 +1 @@ +update some UI to include copyright \ No newline at end of file diff --git a/redbot/__main__.py b/redbot/__main__.py index 5ec928e86..042294952 100644 --- a/redbot/__main__.py +++ b/redbot/__main__.py @@ -79,7 +79,7 @@ async def sigterm_handler(red, log): def main(): - description = "Red V3" + description = "Red V3 (c) Cog Creators" cli_flags = parse_cli_flags(sys.argv[1:]) if cli_flags.list_instances: list_instances() diff --git a/redbot/core/commands/help.py b/redbot/core/commands/help.py index 515ad9866..6e47b3a0f 100644 --- a/redbot/core/commands/help.py +++ b/redbot/core/commands/help.py @@ -25,6 +25,8 @@ # Additionally, this gives our users a bit more customization options including by # 3rd party cogs down the road. +# Note: 3rd party help must not remove the copyright notice + import asyncio from collections import namedtuple from typing import Union, List, AsyncIterator, Iterable, cast diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index e10a37ada..52ebffb3d 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -298,6 +298,7 @@ class Core(commands.Cog, CoreLogic): "Red is backed by a passionate community who contributes and " "creates content for everyone to enjoy. [Join us today]({}) " "and help us improve!\n\n" + "(c) Cog Creators" ).format(red_repo, author_repo, org_repo, support_server_url) embed = discord.Embed(color=(await ctx.embed_colour())) From 575e55cb0f6b3f32cbd69a7eec8188b7bdc7c2a7 Mon Sep 17 00:00:00 2001 From: Draper <27962761+Drapersniper@users.noreply.github.com> Date: Sun, 22 Sep 2019 07:05:27 +0100 Subject: [PATCH 147/183] Fixed crash originated in `bank.set_balance` (#2997) * Removes `MAX_BALANCE` from bank, user `bank.get_max_balance()` now `[p]bankset maxbal` can be used to set the maximum bank balance Signed-off-by: Guy * Pushed the Fix for new issue introduced by #2926 Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Changelogs Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Rename changelog to a misc Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Address Flame's review Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Correct an outdated reference in the docs Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Reword docstring for the RuntimeError Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> --- changelog.d/2997.misc.rst | 1 + redbot/core/bank.py | 34 +++++++++++++++++++++------------- 2 files changed, 22 insertions(+), 13 deletions(-) create mode 100644 changelog.d/2997.misc.rst diff --git a/changelog.d/2997.misc.rst b/changelog.d/2997.misc.rst new file mode 100644 index 000000000..f2c131261 --- /dev/null +++ b/changelog.d/2997.misc.rst @@ -0,0 +1 @@ +Fixed a crash seen when calling economy commands in DM with a global bank. \ No newline at end of file diff --git a/redbot/core/bank.py b/redbot/core/bank.py index a0b2d9399..a51e5dc50 100644 --- a/redbot/core/bank.py +++ b/redbot/core/bank.py @@ -170,12 +170,12 @@ async def can_spend(member: discord.Member, amount: int) -> bool: return await get_balance(member) >= amount -async def set_balance(member: discord.Member, amount: int) -> int: +async def set_balance(member: Union[discord.Member, discord.User], amount: int) -> int: """Set an account balance. Parameters ---------- - member : discord.Member + member : Union[discord.Member, discord.User] The member whose balance to set. amount : int The amount to set the balance to. @@ -189,16 +189,19 @@ async def set_balance(member: discord.Member, amount: int) -> int: ------ ValueError If attempting to set the balance to a negative number. + RuntimeError + If the bank is guild-specific and a discord.User object is provided. BalanceTooHigh If attempting to set the balance to a value greater than - ``bank.MAX_BALANCE`` + ``bank._MAX_BALANCE``. """ if amount < 0: raise ValueError("Not allowed to have negative balance.") - max_bal = await get_max_balance(member.guild) + guild = getattr(member, "guild", None) + max_bal = await get_max_balance(guild) if amount > max_bal: - currency = await get_currency_name(member.guild) + currency = await get_currency_name(guild) raise errors.BalanceTooHigh( user=member.display_name, max_balance=max_bal, currency_name=currency ) @@ -303,14 +306,18 @@ async def deposit_credits(member: discord.Member, amount: int) -> int: return await set_balance(member, amount + bal) -async def transfer_credits(from_: discord.Member, to: discord.Member, amount: int): +async def transfer_credits( + from_: Union[discord.Member, discord.User], + to: Union[discord.Member, discord.User], + amount: int, +): """Transfer a given amount of credits from one account to another. Parameters ---------- - from_: discord.Member + from_: Union[discord.Member, discord.User] The member to transfer from. - to : discord.Member + to : Union[discord.Member, discord.User] The member to transfer to. amount : int The amount to transfer. @@ -326,10 +333,11 @@ async def transfer_credits(from_: discord.Member, to: discord.Member, amount: in If the amount is invalid or if ``from_`` has insufficient funds. TypeError If the amount is not an `int`. + RuntimeError + If the bank is guild-specific and a discord.User object is provided. BalanceTooHigh If the balance after the transfer would be greater than - ``bank.MAX_BALANCE`` - + ``bank._MAX_BALANCE``. """ if not isinstance(amount, int): raise TypeError("Transfer amount must be of type int, not {}.".format(type(amount))) @@ -339,11 +347,11 @@ async def transfer_credits(from_: discord.Member, to: discord.Member, amount: in humanize_number(amount, override_locale="en_US") ) ) - - max_bal = await get_max_balance(to.guild) + guild = getattr(to, "guild", None) + max_bal = await get_max_balance(guild) if await get_balance(to) + amount > max_bal: - currency = await get_currency_name(to.guild) + currency = await get_currency_name(guild) raise errors.BalanceTooHigh( user=to.display_name, max_balance=max_bal, currency_name=currency ) From 1ee5238ad7420bb71dc03d997c32196a3cf32a4a Mon Sep 17 00:00:00 2001 From: Michael H Date: Mon, 23 Sep 2019 10:52:48 -0400 Subject: [PATCH 148/183] Remove a specific f-string usage in the launcher. (#3002) * @Kowlin I saw that error * style --- changelog.d/3002.bugfix.rst | 1 + redbot/launcher.py | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 changelog.d/3002.bugfix.rst diff --git a/changelog.d/3002.bugfix.rst b/changelog.d/3002.bugfix.rst new file mode 100644 index 000000000..bf19c1b76 --- /dev/null +++ b/changelog.d/3002.bugfix.rst @@ -0,0 +1 @@ +remove f-string usage in launcher to prevent our error handling from cauing an error. \ No newline at end of file diff --git a/redbot/launcher.py b/redbot/launcher.py index 03e4b49ef..3c2628168 100644 --- a/redbot/launcher.py +++ b/redbot/launcher.py @@ -450,9 +450,10 @@ def main(): args, flags_to_pass = parse_cli_args() if not PYTHON_OK: print( - f"Python {'.'.join(map(str, MIN_PYTHON_VERSION))} is required to run Red, but you " - f"have {sys.version}! Please update Python." - ) + "Python {req_ver} is required to run Red, but you have {sys_ver}!".format( + req_ver=".".join(map(str, MIN_PYTHON_VERSION)), sys_ver=sys.version + ) + ) # Don't make an f-string, these may not exist on the python version being rejected! sys.exit(1) if args.debuginfo: # Check first since the function triggers an exit debug_info() From af97175839c1ed77cc61e86b9a3615fbdeffaaa6 Mon Sep 17 00:00:00 2001 From: Michael H Date: Thu, 26 Sep 2019 11:41:11 -0400 Subject: [PATCH 149/183] Fix an issue with clearing permission rules (#3015) Fixes #3014 --- changelog.d/3014.bugfix.rst | 1 + redbot/core/commands/commands.py | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 changelog.d/3014.bugfix.rst diff --git a/changelog.d/3014.bugfix.rst b/changelog.d/3014.bugfix.rst new file mode 100644 index 000000000..5014a8b49 --- /dev/null +++ b/changelog.d/3014.bugfix.rst @@ -0,0 +1 @@ +Fixes an issue with clearing rules in permissions \ No newline at end of file diff --git a/redbot/core/commands/commands.py b/redbot/core/commands/commands.py index 7c9e573e3..e253c82ad 100644 --- a/redbot/core/commands/commands.py +++ b/redbot/core/commands/commands.py @@ -573,6 +573,14 @@ class Group(GroupMixin, Command, CogGroupMixin, commands.Group): class CogMixin(CogGroupMixin, CogCommandMixin): """Mixin class for a cog, intended for use with discord.py's cog class""" + @property + def all_commands(self) -> Dict[str, Command]: + """ + This does not have identical behavior to + Group.all_commands but should return what you expect + """ + return {cmd.name: cmd for cmd in self.__cog_commands__} + @property def help(self): doc = self.__doc__ From 62dcebff94d869ea1c6fc695efbc7de76088ef9c Mon Sep 17 00:00:00 2001 From: Michael H Date: Thu, 26 Sep 2019 12:19:58 -0400 Subject: [PATCH 150/183] [Downloader] findcog no longer attempts to find cogs for commands without them (#2970) * findcog no longer attempts to find cogs for commands without them * changelog * full stop --- changelog.d/downloader/2902.bugfix.rst | 1 + redbot/cogs/downloader/downloader.py | 16 ++++++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 changelog.d/downloader/2902.bugfix.rst diff --git a/changelog.d/downloader/2902.bugfix.rst b/changelog.d/downloader/2902.bugfix.rst new file mode 100644 index 000000000..62cbfea63 --- /dev/null +++ b/changelog.d/downloader/2902.bugfix.rst @@ -0,0 +1 @@ +findcog no longer attempts to find a cog for commands without one. \ No newline at end of file diff --git a/redbot/cogs/downloader/downloader.py b/redbot/cogs/downloader/downloader.py index 820f791e3..6451cb5fc 100644 --- a/redbot/cogs/downloader/downloader.py +++ b/redbot/cogs/downloader/downloader.py @@ -590,12 +590,16 @@ class Downloader(commands.Cog): return # Check if in installed cogs - cog_name = self.cog_name_from_instance(command.cog) - installed, cog_installable = await self.is_installed(cog_name) - if installed: - msg = self.format_findcog_info(command_name, cog_installable) + cog = command.cog + if cog: + cog_name = self.cog_name_from_instance(cog) + installed, cog_installable = await self.is_installed(cog_name) + if installed: + msg = self.format_findcog_info(command_name, cog_installable) + else: + # Assume it's in a base cog + msg = self.format_findcog_info(command_name, cog) else: - # Assume it's in a base cog - msg = self.format_findcog_info(command_name, command.cog) + msg = _("This command is not provided by a cog.") await ctx.send(box(msg)) From 25614620db713d3d62f2fda23c991f6702e78424 Mon Sep 17 00:00:00 2001 From: Michael H Date: Thu, 26 Sep 2019 12:55:05 -0400 Subject: [PATCH 151/183] More privatization, and some error helpers (#2976) * More privatization, and some error helpers This makes a lot more things private. Continued from #2967, fixes #2984 Adds public methods for various things. Below is a brief summary of things available elsewhere, though this particular set of changes may warrant a detailed section in the release notes. - bot.db.locale -> redbot.core.i18n.get_locale - Note: This one already existed. - bot.db.help -> redbot.core.commands.help.HelpSettings - bot db whitelist/blaclist? -> bot.allowed_by_whitelist_blacklist - This has also been made a single cannonical function for this purpose including check usage - bot color? -> bot.get_embed_color/bot.get_embed_colour - bot.id.api_tokens? -> - bot.get_shared_api_tokens - bot.set_shared_api_tokens - bot.remove_shared_api_tokens -bot.db.prefix -> bot.get_valid_prefixes - (Note: This is a wrapper around bot.get_prefix) Other changes include - removing `bot.counter` as it was never used anywhere - Adding properties with helpful error messages for moved and renamed things - making bot.uptime a property with an error on set - adding a migration to the bot config for shared_api_tokens * Remove overly encompassing message redaction, eval is a risk, dont run in dev if you cant manage it * address Flame's feedback * rephrase example * changelog extras * You saw nothing --- changelog.d/2976.breaking.rst | 1 + redbot/cogs/downloader/downloader.py | 2 +- redbot/core/2976.feature.rst | 6 + redbot/core/bot.py | 236 +++++++++++++++++++++++++-- redbot/core/cli.py | 4 +- redbot/core/cog_manager.py | 20 +-- redbot/core/commands/help.py | 38 ++++- redbot/core/core_commands.py | 6 +- redbot/core/dev_commands.py | 23 +-- redbot/core/events.py | 11 +- redbot/core/global_checks.py | 30 +--- redbot/pytest/cog_manager.py | 4 +- 12 files changed, 295 insertions(+), 86 deletions(-) create mode 100644 changelog.d/2976.breaking.rst create mode 100644 redbot/core/2976.feature.rst diff --git a/changelog.d/2976.breaking.rst b/changelog.d/2976.breaking.rst new file mode 100644 index 000000000..4f87f3b38 --- /dev/null +++ b/changelog.d/2976.breaking.rst @@ -0,0 +1 @@ +Removes bot._counter, Makes a few more attrs private (cog_mgr, main_dir) \ No newline at end of file diff --git a/redbot/cogs/downloader/downloader.py b/redbot/cogs/downloader/downloader.py index 6451cb5fc..64c45908b 100644 --- a/redbot/cogs/downloader/downloader.py +++ b/redbot/cogs/downloader/downloader.py @@ -65,7 +65,7 @@ class Downloader(commands.Cog): The default cog install path. """ - return await self.bot.cog_mgr.install_path() + return await self.bot._cog_mgr.install_path() async def installed_cogs(self) -> Tuple[Installable]: """Get info on installed cogs. diff --git a/redbot/core/2976.feature.rst b/redbot/core/2976.feature.rst new file mode 100644 index 000000000..c5f76df18 --- /dev/null +++ b/redbot/core/2976.feature.rst @@ -0,0 +1,6 @@ +adds a few methods and classes replacing direct config access (which is no longer supported) + + - ``redbot.core.Red.allowed_by_whitelist_blacklist`` + - ``redbot.core.Red.get_valid_prefixes`` + - ``redbot.core.Red.clear_shared_api_tokens`` + - ``redbot.core.commands.help.HelpSettings`` \ No newline at end of file diff --git a/redbot/core/bot.py b/redbot/core/bot.py index 87b24072b..ce25f9c55 100644 --- a/redbot/core/bot.py +++ b/redbot/core/bot.py @@ -2,11 +2,12 @@ import asyncio import inspect import logging import os -from collections import Counter +from collections import namedtuple +from datetime import datetime from enum import Enum from importlib.machinery import ModuleSpec from pathlib import Path -from typing import Optional, Union, List, Dict +from typing import Optional, Union, List, Dict, NoReturn import discord from discord.ext.commands import when_mentioned_or @@ -18,9 +19,14 @@ from .rpc import RPCMixin from .utils import common_filters CUSTOM_GROUPS = "CUSTOM_GROUPS" +SHARED_API_TOKENS = "SHARED_API_TOKENS" log = logging.getLogger("redbot") +__all__ = ["RedBase", "Red", "ExitCodes"] + +NotMessage = namedtuple("NotMessage", "guild") + def _is_submodule(parent, child): return parent == child or child.startswith(parent + ".") @@ -63,7 +69,6 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d invite_perm=0, disabled_commands=[], disabled_command_msg="That command is disabled.", - api_tokens={}, extra_owner_destinations=[], owner_opt_out_list=[], schema_version=0, @@ -87,6 +92,9 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d self._config.init_custom(CUSTOM_GROUPS, 2) self._config.register_custom(CUSTOM_GROUPS) + self._config.init_custom(SHARED_API_TOKENS, 2) + self._config.register_custom(SHARED_API_TOKENS) + async def prefix_manager(bot, message): if not cli_flags.prefix: global_prefix = await bot._config.prefix() @@ -117,14 +125,12 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d if "command_not_found" not in kwargs: kwargs["command_not_found"] = "Command {} not found.\n{}" - self._counter = Counter() self._uptime = None self._checked_time_accuracy = None self._color = discord.Embed.Empty # This is needed or color ends up 0x000000 - self.main_dir = bot_dir - - self.cog_mgr = CogManager() + self._main_dir = bot_dir + self._cog_mgr = CogManager() super().__init__(*args, help_command=None, **kwargs) # Do not manually use the help formatter attribute here, see `send_help_for`, @@ -134,9 +140,165 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d self._permissions_hooks: List[commands.CheckPredicate] = [] + @property + def cog_mgr(self) -> NoReturn: + raise AttributeError("Please don't mess with the cog manager internals.") + + @property + def uptime(self) -> datetime: + """ Allow access to the value, but we don't want cog creators setting it """ + return self._uptime + + @uptime.setter + def uptime(self, value) -> NoReturn: + raise RuntimeError( + "Hey, we're cool with sharing info about the uptime, but don't try and assign to it please." + ) + + @property + def db(self) -> NoReturn: + raise AttributeError( + "We really don't want you touching the bot config directly. " + "If you need something in here, take a look at the exposed methods " + "and use the one which corresponds to your needs or " + "open an issue if you need an additional method for your use case." + ) + + @property + def counter(self) -> NoReturn: + raise AttributeError( + "Please make your own counter object by importing ``Counter`` from ``collections``." + ) + + @property + def color(self) -> NoReturn: + raise AttributeError("Please fetch the embed color with `get_embed_color`") + + @property + def colour(self) -> NoReturn: + raise AttributeError("Please fetch the embed colour with `get_embed_colour`") + + async def allowed_by_whitelist_blacklist( + self, + who: Optional[Union[discord.Member, discord.User]] = None, + *, + who_id: Optional[int] = None, + guild_id: Optional[int] = None, + role_ids: Optional[List[int]] = None, + ) -> bool: + """ + This checks if a user or member is allowed to run things, + as considered by Red's whitelist and blacklist. + + If given a user object, this function will check the global lists + + If given a member, this will additionally check guild lists + + If omiting a user or member, you must provide a value for ``who_id`` + + You may also provide a value for ``guild_id`` in this case + + If providing a member by guild and member ids, + you should supply ``role_ids`` as well + + Parameters + ---------- + who : Optional[Union[discord.Member, discord.User]] + The user or member object to check + + Other Parameters + ---------------- + who_id : Optional[int] + The id of the user or member to check + If not providing a value for ``who``, this is a required parameter. + guild_id : Optional[int] + When used in conjunction with a provided value for ``who_id``, checks + the lists for the corresponding guild as well. + role_ids : Optional[List[int]] + When used with both ``who_id`` and ``guild_id``, checks the role ids provided. + This is required for accurate checking of members in a guild if providing ids. + + Raises + ------ + TypeError + Did not provide ``who`` or ``who_id`` + """ + # Contributor Note: + # All config calls are delayed until needed in this section + # All changes should be made keeping in mind that this is also used as a global check + + guild = None + mocked = False # used for an accurate delayed role id expansion later. + if not who: + if not who_id: + raise TypeError("Must provide a value for either `who` or `who_id`") + mocked = True + who = discord.Object(id=who_id) + if guild_id: + guild = discord.Object(id=guild_id) + else: + guild = getattr(who, "guild", None) + + if await self.is_owner(who): + return True + + global_whitelist = await self._config.whitelist() + if global_whitelist: + if who.id not in global_whitelist: + return False + else: + # blacklist is only used when whitelist doesn't exist. + global_blacklist = await self._config.blacklist() + if who.id in global_blacklist: + return False + + if guild: + # The delayed expansion of ids to check saves time in the DM case. + # Converting to a set reduces the total lookup time in section + if mocked: + ids = {i for i in (who.id, *(role_ids or [])) if i != guild.id} + else: + # DEP-WARN + # This uses member._roles (getattr is for the user case) + # If this is removed upstream (undocumented) + # there is a silent failure potential, and role blacklist/whitelists will break. + ids = {i for i in (who.id, *(getattr(who, "_roles", []))) if i != guild.id} + + guild_whitelist = await self._config.guild(guild).whitelist() + if guild_whitelist: + if ids.isdisjoint(guild_whitelist): + return False + else: + guild_blacklist = self._config.guild(guild).blacklist() + if not ids.isdisjoint(guild_blacklist): + return False + + return True + + async def get_valid_prefixes(self, guild: Optional[discord.Guild] = None) -> List[str]: + """ + This gets the valid prefixes for a guild. + + If not provided a guild (or passed None) it will give the DM prefixes. + + This is just a fancy wrapper around ``get_prefix`` + + Parameters + ---------- + guild : Optional[discord.Guild] + The guild you want prefixes for. Omit (or pass None) for the DM prefixes + + Returns + ------- + List[str] + If a guild was specified, the valid prefixes in that guild. + If a guild was not specified, the valid prefixes for DMs + """ + return await self.get_prefix(NotMessage(guild)) + async def get_embed_color(self, location: discord.abc.Messageable) -> discord.Color: """ - Get the embed color for a location. + Get the embed color for a location. This takes into account all related settings. Parameters ---------- @@ -170,6 +332,24 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d await self._schema_0_to_1() schema_version += 1 await self._config.schema_version.set(schema_version) + if schema_version == 1: + await self._schema_1_to_2() + schema_version += 1 + await self._config.schema_version.set(schema_version) + + async def _schema_1_to_2(self): + """ + This contains the migration of shared API tokens to a custom config scope + """ + + log.info("Moving shared API tokens to a custom group") + all_shared_api_tokens = await self._config.get_raw("api_tokens", default={}) + for service_name, token_mapping in all_shared_api_tokens.items(): + service_partial = self._config.custom(SHARED_API_TOKENS, service_name) + async with service_partial.all() as basically_bulk_update: + basically_bulk_update.update(token_mapping) + + await self._config.clear_raw("api_tokens") async def _schema_0_to_1(self): """ @@ -320,7 +500,7 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d A Mapping of token names to tokens. This mapping exists because some services have multiple tokens. """ - return await self._config.api_tokens.get_raw(service_name, default={}) + return await self._config.custom(SHARED_API_TOKENS, service_name).all() async def set_shared_api_tokens(self, service_name: str, **tokens: str): """ @@ -330,10 +510,44 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d ``set api`` command This will not clear existing values not specified. + + Parameters + ---------- + service_name: str + The service to set tokens for + **tokens + token_name -> token + + Examples + -------- + Setting the api_key for youtube from a value in a variable ``my_key`` + + >>> await ctx.bot.set_shared_api_tokens("youtube", api_key=my_key) """ - async with self._config.api_tokens.get_attr(service_name)() as method_abuse: - method_abuse.update(**tokens) + async with self._config.custom(SHARED_API_TOKENS, service_name).all() as group: + group.update(tokens) + + async def remove_shared_api_tokens(self, service_name: str, *token_names: str): + """ + Removes shared API tokens + + Parameters + ---------- + service_name: str + The service to remove tokens for + *token_names: str + The name of each token to be removed + + Examples + -------- + Removing the api_key for youtube + + >>> await ctx.bot.remove_shared_api_tokens("youtube", "api_key") + """ + async with self._config.custom(SHARED_API_TOKENS, service_name).all() as group: + for name in token_names: + group.pop(name, None) async def get_context(self, message, *, cls=commands.Context): return await super().get_context(message, cls=cls) diff --git a/redbot/core/cli.py b/redbot/core/cli.py index 41cd59b13..7320a640e 100644 --- a/redbot/core/cli.py +++ b/redbot/core/cli.py @@ -21,7 +21,7 @@ def interactive_config(red, token_set, prefix_set): print("That doesn't look like a valid token.") token = "" if token: - loop.run_until_complete(red.db.token.set(token)) + loop.run_until_complete(red._config.token.set(token)) if not prefix_set: prefix = "" @@ -39,7 +39,7 @@ def interactive_config(red, token_set, prefix_set): if not confirm("> "): prefix = "" if prefix: - loop.run_until_complete(red.db.prefix.set([prefix])) + loop.run_until_complete(red._config.prefix.set([prefix])) return token diff --git a/redbot/core/cog_manager.py b/redbot/core/cog_manager.py index 08ea72a24..492dbbc3d 100644 --- a/redbot/core/cog_manager.py +++ b/redbot/core/cog_manager.py @@ -317,7 +317,7 @@ class CogManagerUI(commands.Cog): """ Lists current cog paths in order of priority. """ - cog_mgr = ctx.bot.cog_mgr + cog_mgr = ctx.bot._cog_mgr install_path = await cog_mgr.install_path() core_path = cog_mgr.CORE_PATH cog_paths = await cog_mgr.user_defined_paths() @@ -344,7 +344,7 @@ class CogManagerUI(commands.Cog): return try: - await ctx.bot.cog_mgr.add_path(path) + await ctx.bot._cog_mgr.add_path(path) except ValueError as e: await ctx.send(str(e)) else: @@ -362,14 +362,14 @@ class CogManagerUI(commands.Cog): await ctx.send(_("Path numbers must be positive.")) return - cog_paths = await ctx.bot.cog_mgr.user_defined_paths() + cog_paths = await ctx.bot._cog_mgr.user_defined_paths() try: to_remove = cog_paths.pop(path_number) except IndexError: await ctx.send(_("That is an invalid path number.")) return - await ctx.bot.cog_mgr.remove_path(to_remove) + await ctx.bot._cog_mgr.remove_path(to_remove) await ctx.send(_("Path successfully removed.")) @commands.command() @@ -385,7 +385,7 @@ class CogManagerUI(commands.Cog): await ctx.send(_("Path numbers must be positive.")) return - all_paths = await ctx.bot.cog_mgr.user_defined_paths() + all_paths = await ctx.bot._cog_mgr.user_defined_paths() try: to_move = all_paths.pop(from_) except IndexError: @@ -398,7 +398,7 @@ class CogManagerUI(commands.Cog): await ctx.send(_("Invalid 'to' index.")) return - await ctx.bot.cog_mgr.set_paths(all_paths) + await ctx.bot._cog_mgr.set_paths(all_paths) await ctx.send(_("Paths reordered.")) @commands.command() @@ -413,14 +413,14 @@ class CogManagerUI(commands.Cog): """ if path: if not path.is_absolute(): - path = (ctx.bot.main_dir / path).resolve() + path = (ctx.bot._main_dir / path).resolve() try: - await ctx.bot.cog_mgr.set_install_path(path) + await ctx.bot._cog_mgr.set_install_path(path) except ValueError: await ctx.send(_("That path does not exist.")) return - install_path = await ctx.bot.cog_mgr.install_path() + install_path = await ctx.bot._cog_mgr.install_path() await ctx.send( _("The bot will install new cogs to the `{}` directory.").format(install_path) ) @@ -433,7 +433,7 @@ class CogManagerUI(commands.Cog): """ loaded = set(ctx.bot.extensions.keys()) - all_cogs = set(await ctx.bot.cog_mgr.available_modules()) + all_cogs = set(await ctx.bot._cog_mgr.available_modules()) unloaded = all_cogs - loaded diff --git a/redbot/core/commands/help.py b/redbot/core/commands/help.py index 6e47b3a0f..a4a4f1c32 100644 --- a/redbot/core/commands/help.py +++ b/redbot/core/commands/help.py @@ -1,3 +1,8 @@ +# Warning: The implementation below touches several private attributes. +# While this implementation will be updated, and public interfaces maintained, derived classes +# should not assume these private attributes are version safe, and use the provided HelpSettings +# class for these settings. + # This is a full replacement of discord.py's help command # # At a later date, there should be things added to support extra formatter @@ -29,6 +34,7 @@ import asyncio from collections import namedtuple +from dataclasses import dataclass from typing import Union, List, AsyncIterator, Iterable, cast import discord @@ -40,7 +46,7 @@ from ..i18n import Translator from ..utils import menus, fuzzy_command_search, format_fuzzy_results from ..utils.chat_formatting import box, pagify -__all__ = ["red_help", "RedHelpFormatter"] +__all__ = ["red_help", "RedHelpFormatter", "HelpSettings"] T_ = Translator("Help", __file__) @@ -53,6 +59,36 @@ EmbedField = namedtuple("EmbedField", "name value inline") EMPTY_STRING = "\N{ZERO WIDTH SPACE}" +@dataclass(frozen=True) +class HelpSettings: + """ + A representation of help settings. + """ + + page_char_limit: int = 1000 + max_pages_in_guild: int = 2 + use_menus: bool = False + show_hidden: bool = False + verify_checks: bool = True + verify_exists: bool = False + tagline: str = "" + + # Contrib Note: This is intentional to not accept the bot object + # There are plans to allow guild and user specific help settings + # Adding a non-context based method now would involve a breaking change later. + # At a later date, more methods should be exposed for non-context based creation. + # + # This is also why we aren't just caching the + # current state of these settings on the bot object. + @classmethod + async def from_context(cls, context: Context): + """ + Get the HelpSettings for the current context + """ + settings = await context.bot._config.help.all() + return cls(**settings) + + class NoCommand(Exception): pass diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index 52ebffb3d..86278b297 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -87,7 +87,7 @@ class CoreLogic: for name in cog_names: try: - spec = await bot.cog_mgr.find_cog(name) + spec = await bot._cog_mgr.find_cog(name) if spec: cogspecs.append((spec, name)) else: @@ -1146,7 +1146,7 @@ class Core(commands.Cog, CoreLogic): """ if ctx.channel.permissions_for(ctx.me).manage_messages: await ctx.message.delete() - await ctx.bot._config.api_tokens.set_raw(service, value=tokens) + await ctx.bot.set_shared_api_tokens(service, **tokens) await ctx.send(_("`{service}` API tokens have been set.").format(service=service)) @commands.group() @@ -2198,7 +2198,7 @@ class Core(commands.Cog, CoreLogic): async def rpc_load(self, request): cog_name = request.params[0] - spec = await self.bot.cog_mgr.find_cog(cog_name) + spec = await self.bot._cog_mgr.find_cog(cog_name) if spec is None: raise LookupError("No such cog found.") diff --git a/redbot/core/dev_commands.py b/redbot/core/dev_commands.py index 1251ea2e8..729685d37 100644 --- a/redbot/core/dev_commands.py +++ b/redbot/core/dev_commands.py @@ -61,19 +61,10 @@ class Dev(commands.Cog): return pagify(msg, delims=["\n", " "], priority=True, shorten_by=10) @staticmethod - def sanitize_output(ctx: commands.Context, keys: dict, input_: str) -> str: + def sanitize_output(ctx: commands.Context, input_: str) -> str: """Hides the bot's token from a string.""" token = ctx.bot.http.token - r = "[EXPUNGED]" - result = input_.replace(token, r) - result = result.replace(token.lower(), r) - result = result.replace(token.upper(), r) - for provider, data in keys.items(): - for name, key in data.items(): - result = result.replace(key, r) - result = result.replace(key.upper(), r) - result = result.replace(key.lower(), r) - return result + return re.sub(re.escape(token), "[EXPUNGED]", input_, re.I) @commands.command() @checks.is_owner() @@ -125,9 +116,7 @@ class Dev(commands.Cog): result = await result self._last_result = result - - api_keys = await ctx.bot._config.api_tokens() - result = self.sanitize_output(ctx, api_keys, str(result)) + result = self.sanitize_output(ctx, str(result)) await ctx.send_interactive(self.get_pages(result), box_lang="py") @@ -191,8 +180,7 @@ class Dev(commands.Cog): msg = "{}{}".format(printed, result) else: msg = printed - api_keys = await ctx.bot._config.api_tokens() - msg = self.sanitize_output(ctx, api_keys, msg) + msg = self.sanitize_output(ctx, msg) await ctx.send_interactive(self.get_pages(msg), box_lang="py") @@ -276,8 +264,7 @@ class Dev(commands.Cog): elif value: msg = "{}".format(value) - api_keys = await ctx.bot._config.api_tokens() - msg = self.sanitize_output(ctx, api_keys, msg) + msg = self.sanitize_output(ctx, msg) try: await ctx.send_interactive(self.get_pages(msg), box_lang="py") diff --git a/redbot/core/events.py b/redbot/core/events.py index 7adb7f533..10521c557 100644 --- a/redbot/core/events.py +++ b/redbot/core/events.py @@ -67,7 +67,7 @@ def init_events(bot, cli_flags): print("Loading packages...") for package in packages: try: - spec = await bot.cog_mgr.find_cog(package) + spec = await bot._cog_mgr.find_cog(package) await bot.load_extension(spec) except Exception as e: log.exception("Failed to load package {}".format(package), exc_info=e) @@ -243,7 +243,6 @@ def init_events(bot, cli_flags): @bot.event async def on_message(message): - bot._counter["messages_read"] += 1 await bot.process_commands(message) discord_now = message.created_at if ( @@ -260,14 +259,6 @@ def init_events(bot, cli_flags): ) bot._checked_time_accuracy = discord_now - @bot.event - async def on_resumed(): - bot._counter["sessions_resumed"] += 1 - - @bot.event - async def on_command(command): - bot._counter["processed_commands"] += 1 - @bot.event async def on_command_add(command: commands.Command): disabled_commands = await bot._config.disabled_commands() diff --git a/redbot/core/global_checks.py b/redbot/core/global_checks.py index 7bdb5d1a9..df4000f7a 100644 --- a/redbot/core/global_checks.py +++ b/redbot/core/global_checks.py @@ -4,34 +4,8 @@ from . import commands def init_global_checks(bot): @bot.check_once - async def global_perms(ctx): - """Check the user is/isn't globally whitelisted/blacklisted.""" - if await bot.is_owner(ctx.author): - return True - - whitelist = await bot._config.whitelist() - if whitelist: - return ctx.author.id in whitelist - - return ctx.author.id not in await bot._config.blacklist() - - @bot.check_once - async def local_perms(ctx: commands.Context): - """Check the user is/isn't locally whitelisted/blacklisted.""" - if await bot.is_owner(ctx.author): - return True - elif ctx.guild is None: - return True - guild_settings = bot._config.guild(ctx.guild) - local_blacklist = await guild_settings.blacklist() - local_whitelist = await guild_settings.whitelist() - - _ids = [r.id for r in ctx.author.roles if not r.is_default()] - _ids.append(ctx.author.id) - if local_whitelist: - return any(i in local_whitelist for i in _ids) - - return not any(i in local_blacklist for i in _ids) + async def whiteblacklist_checks(ctx): + return await ctx.bot.allowed_by_whitelist_blacklist(ctx.author) @bot.check_once async def bots(ctx): diff --git a/redbot/pytest/cog_manager.py b/redbot/pytest/cog_manager.py index edd6499d0..118873061 100644 --- a/redbot/pytest/cog_manager.py +++ b/redbot/pytest/cog_manager.py @@ -5,9 +5,9 @@ __all__ = ["cog_mgr", "default_dir"] @pytest.fixture() def cog_mgr(red): - return red.cog_mgr + return red._cog_mgr @pytest.fixture() def default_dir(red): - return red.main_dir + return red._main_dir From 101e977939e1c7c9a15856c9e6fc8a0e94886d03 Mon Sep 17 00:00:00 2001 From: Friesi Date: Fri, 27 Sep 2019 18:10:35 +0200 Subject: [PATCH 152/183] Change the hierarchy issue messages (#3016) * Change the hierarchy issue messages, because they are difficult to translate with the verb variable. * Fix typos * Add changelog entry * Reformatting with black --- changelog.d/admin/3016.enhance.rst | 1 + redbot/cogs/admin/admin.py | 38 +++++++++++++++++------------- 2 files changed, 23 insertions(+), 16 deletions(-) create mode 100644 changelog.d/admin/3016.enhance.rst diff --git a/changelog.d/admin/3016.enhance.rst b/changelog.d/admin/3016.enhance.rst new file mode 100644 index 000000000..66f393299 --- /dev/null +++ b/changelog.d/admin/3016.enhance.rst @@ -0,0 +1 @@ +Add custom issue messages for adding and removing roles, this makes it easier to create translations. \ No newline at end of file diff --git a/redbot/cogs/admin/admin.py b/redbot/cogs/admin/admin.py index 1330fb4fe..5fb7c044c 100644 --- a/redbot/cogs/admin/admin.py +++ b/redbot/cogs/admin/admin.py @@ -19,20 +19,34 @@ GENERIC_FORBIDDEN = _( " Your command failed to successfully complete." ) -HIERARCHY_ISSUE = _( - "I tried to {verb} {role.name} to {member.display_name} but that role" +HIERARCHY_ISSUE_ADD = _( + "I tried to add {role.name} to {member.display_name} but that role" " is higher than my highest role in the Discord hierarchy so I was" " unable to successfully add it. Please give me a higher role and " "try again." ) -USER_HIERARCHY_ISSUE = _( - "I tried to {verb} {role.name} to {member.display_name} but that role" +HIERARCHY_ISSUE_REMOVE = _( + "I tried to remove {role.name} from {member.display_name} but that role" + " is higher than my highest role in the Discord hierarchy so I was" + " unable to successfully remove it. Please give me a higher role and " + "try again." +) + +USER_HIERARCHY_ISSUE_ADD = _( + "I tried to add {role.name} to {member.display_name} but that role" " is higher than your highest role in the Discord hierarchy so I was" " unable to successfully add it. Please get a higher role and " "try again." ) +USER_HIERARCHY_ISSUE_REMOVE = _( + "I tried to remove {role.name} from {member.display_name} but that role" + " is higher than your highest role in the Discord hierarchy so I was" + " unable to successfully remove it. Please get a higher role and " + "try again." +) + ROLE_USER_HIERARCHY_ISSUE = _( "I tried to edit {role.name} but that role" " is higher than your highest role in the Discord hierarchy so I was" @@ -111,9 +125,7 @@ class Admin(commands.Cog): await member.add_roles(role) except discord.Forbidden: if not self.pass_hierarchy_check(ctx, role): - await self.complain( - ctx, T_(HIERARCHY_ISSUE), role=role, member=member, verb=_("add") - ) + await self.complain(ctx, T_(HIERARCHY_ISSUE_ADD), role=role, member=member) else: await self.complain(ctx, T_(GENERIC_FORBIDDEN)) else: @@ -128,9 +140,7 @@ class Admin(commands.Cog): await member.remove_roles(role) except discord.Forbidden: if not self.pass_hierarchy_check(ctx, role): - await self.complain( - ctx, T_(HIERARCHY_ISSUE), role=role, member=member, verb=_("remove") - ) + await self.complain(ctx, T_(HIERARCHY_ISSUE_REMOVE), role=role, member=member) else: await self.complain(ctx, T_(GENERIC_FORBIDDEN)) else: @@ -156,9 +166,7 @@ class Admin(commands.Cog): # noinspection PyTypeChecker await self._addrole(ctx, user, rolename) else: - await self.complain( - ctx, T_(USER_HIERARCHY_ISSUE), member=user, role=rolename, verb=_("add") - ) + await self.complain(ctx, T_(USER_HIERARCHY_ISSUE_ADD), member=user, role=rolename) @commands.command() @commands.guild_only() @@ -176,9 +184,7 @@ class Admin(commands.Cog): # noinspection PyTypeChecker await self._removerole(ctx, user, rolename) else: - await self.complain( - ctx, T_(USER_HIERARCHY_ISSUE), member=user, role=rolename, verb=_("remove") - ) + await self.complain(ctx, T_(USER_HIERARCHY_ISSUE_REMOVE), member=user, role=rolename) @commands.group() @commands.guild_only() From ee162f6f9ef88fe2088b0073e80b784dd59c116b Mon Sep 17 00:00:00 2001 From: Michael H Date: Fri, 27 Sep 2019 16:12:29 -0400 Subject: [PATCH 153/183] Fixes an issue with allowed_by_whitelist_blacklist (#3017) --- changelog.d/3017.misc.rst | 1 + redbot/core/bot.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 changelog.d/3017.misc.rst diff --git a/changelog.d/3017.misc.rst b/changelog.d/3017.misc.rst new file mode 100644 index 000000000..545326eaa --- /dev/null +++ b/changelog.d/3017.misc.rst @@ -0,0 +1 @@ +fixes a missing await from #2976 \ No newline at end of file diff --git a/redbot/core/bot.py b/redbot/core/bot.py index ce25f9c55..33e02b653 100644 --- a/redbot/core/bot.py +++ b/redbot/core/bot.py @@ -269,7 +269,7 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d if ids.isdisjoint(guild_whitelist): return False else: - guild_blacklist = self._config.guild(guild).blacklist() + guild_blacklist = await self._config.guild(guild).blacklist() if not ids.isdisjoint(guild_blacklist): return False From b9ed8b84f55cbd00e2c7e4cdb145f0b1cb79f198 Mon Sep 17 00:00:00 2001 From: Flame442 <34169552+Flame442@users.noreply.github.com> Date: Sat, 28 Sep 2019 02:46:40 -0400 Subject: [PATCH 154/183] [CustomCom] Use simple by default (#3013) * Allow creating simple CCs by default * Create 3013.rst * Screwed up the filename --- changelog.d/customcom/1767.enhance.rst | 1 + redbot/cogs/customcom/customcom.py | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 changelog.d/customcom/1767.enhance.rst diff --git a/changelog.d/customcom/1767.enhance.rst b/changelog.d/customcom/1767.enhance.rst new file mode 100644 index 000000000..003f5a039 --- /dev/null +++ b/changelog.d/customcom/1767.enhance.rst @@ -0,0 +1 @@ +The group command `[p]cc` create can now be used to create simple CCs without specifying "simple". diff --git a/redbot/cogs/customcom/customcom.py b/redbot/cogs/customcom/customcom.py index 12cb86ca9..355bbeb4c 100644 --- a/redbot/cogs/customcom/customcom.py +++ b/redbot/cogs/customcom/customcom.py @@ -204,15 +204,16 @@ class CustomCommands(commands.Cog): """Custom commands management.""" pass - @customcom.group(name="create", aliases=["add"]) + @customcom.group(name="create", aliases=["add"], invoke_without_command=True) @checks.mod_or_permissions(administrator=True) - async def cc_create(self, ctx: commands.Context): + async def cc_create(self, ctx: commands.Context, command: str.lower, *, text: str): """Create custom commands. + If a type is not specified, a simple CC will be created. CCs can be enhanced with arguments, see the guide [here](https://red-discordbot.readthedocs.io/en/v3-develop/cog_customcom.html). """ - pass + await ctx.invoke(self.cc_create_simple, command=command, text=text) @cc_create.command(name="random") @checks.mod_or_permissions(administrator=True) From c288185a166abb47a795f6583a9bff5e74d96626 Mon Sep 17 00:00:00 2001 From: Michael H Date: Sat, 28 Sep 2019 09:59:21 -0400 Subject: [PATCH 155/183] Fix a misplaced changelog file (#3019) --- {redbot/core => changelog.d}/2976.feature.rst | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {redbot/core => changelog.d}/2976.feature.rst (100%) diff --git a/redbot/core/2976.feature.rst b/changelog.d/2976.feature.rst similarity index 100% rename from redbot/core/2976.feature.rst rename to changelog.d/2976.feature.rst From e38c08ab12fb5cf730dcb39180ed9ce034fa2ec0 Mon Sep 17 00:00:00 2001 From: Michael H Date: Sat, 28 Sep 2019 15:35:26 -0400 Subject: [PATCH 156/183] fix uptime for uptime of less than a second (#3009) * fix uptime for uptime of less than a second * changelog * More conclusive fix --- changelog.d/3008.bugfix.rst | 1 + redbot/core/core_commands.py | 5 +++-- redbot/core/global_checks.py | 10 +++++++++- 3 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 changelog.d/3008.bugfix.rst diff --git a/changelog.d/3008.bugfix.rst b/changelog.d/3008.bugfix.rst new file mode 100644 index 000000000..2df20bfaf --- /dev/null +++ b/changelog.d/3008.bugfix.rst @@ -0,0 +1 @@ +Uptime command works with uptimes of under a second \ No newline at end of file diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index 86278b297..a647e46c4 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -327,9 +327,10 @@ class Core(commands.Cog, CoreLogic): """Shows Red's uptime""" since = ctx.bot.uptime.strftime("%Y-%m-%d %H:%M:%S") delta = datetime.datetime.utcnow() - self.bot.uptime + uptime_str = humanize_timedelta(timedelta=delta) or _("Less than one second") await ctx.send( - _("Been up for: **{}** (since {} UTC)").format( - humanize_timedelta(timedelta=delta), since + _("Been up for: **{time_quantity}** (since {timestamp} UTC)").format( + time_quantity=uptime_str, timestamp=since ) ) diff --git a/redbot/core/global_checks.py b/redbot/core/global_checks.py index df4000f7a..1adbe76a4 100644 --- a/redbot/core/global_checks.py +++ b/redbot/core/global_checks.py @@ -3,11 +3,19 @@ from . import commands def init_global_checks(bot): + @bot.check_once + def actually_up(ctx): + """ + Uptime is set during the initial startup process. + If this hasn't been set, we should assume the bot isn't ready yet. + """ + return ctx.bot.uptime is not None + @bot.check_once async def whiteblacklist_checks(ctx): return await ctx.bot.allowed_by_whitelist_blacklist(ctx.author) @bot.check_once - async def bots(ctx): + def bots(ctx): """Check the user is not another bot.""" return not ctx.author.bot From 83483abfa599aaad0d39a4ef45a23c3bb446adcf Mon Sep 17 00:00:00 2001 From: Michael H Date: Sat, 28 Sep 2019 16:58:40 -0400 Subject: [PATCH 157/183] Reserves command names (#2977) * Reserves command names - Currently, only reserving ``cancel`` - This should only impact matching command qualified names - This also checks aliases - This makes cc and alias use the new module constant with info about this - Module constant is available for use by 3rd party cogs which may dynamically create responses. * Change misleading var name * style * Thanks Flame! * Handles issues with CC --- changelog.d/2973.breaking.rst | 1 + redbot/cogs/alias/alias.py | 6 +++++- redbot/cogs/customcom/customcom.py | 5 ++++- redbot/core/commands/commands.py | 12 ++++++++++++ 4 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 changelog.d/2973.breaking.rst diff --git a/changelog.d/2973.breaking.rst b/changelog.d/2973.breaking.rst new file mode 100644 index 000000000..8a36fcc1f --- /dev/null +++ b/changelog.d/2973.breaking.rst @@ -0,0 +1 @@ +Reserves some command names for internal Red use. These are available programatically as ``redbot.core.commands.RESERVED_COMMAND_NAMES`` \ No newline at end of file diff --git a/redbot/cogs/alias/alias.py b/redbot/cogs/alias/alias.py index 19042e539..d695c7bd0 100644 --- a/redbot/cogs/alias/alias.py +++ b/redbot/cogs/alias/alias.py @@ -89,8 +89,12 @@ class Alias(commands.Cog): return False, None def is_command(self, alias_name: str) -> bool: + """ + The logic here is that if this returns true, the name shouldnt be used for an alias + The function name can be changed when alias is reworked + """ command = self.bot.get_command(alias_name) - return command is not None + return command is not None or alias_name in commands.RESERVED_COMMAND_NAMES @staticmethod def is_valid_alias_name(alias_name: str) -> bool: diff --git a/redbot/cogs/customcom/customcom.py b/redbot/cogs/customcom/customcom.py index 355bbeb4c..3bfa88bba 100644 --- a/redbot/cogs/customcom/customcom.py +++ b/redbot/cogs/customcom/customcom.py @@ -222,6 +222,9 @@ class CustomCommands(commands.Cog): Note: This command is interactive. """ + if command in (*self.bot.all_commands, *commands.RESERVED_COMMAND_NAMES): + await ctx.send(_("There already exists a bot command with the same name.")) + return responses = await self.commandobj.get_responses(ctx=ctx) try: await self.commandobj.create(ctx=ctx, command=command, response=responses) @@ -241,7 +244,7 @@ class CustomCommands(commands.Cog): Example: - `[p]customcom create simple yourcommand Text you want` """ - if command in self.bot.all_commands: + if command in (*self.bot.all_commands, *commands.RESERVED_COMMAND_NAMES): await ctx.send(_("There already exists a bot command with the same name.")) return try: diff --git a/redbot/core/commands/commands.py b/redbot/core/commands/commands.py index e253c82ad..43fe5230d 100644 --- a/redbot/core/commands/commands.py +++ b/redbot/core/commands/commands.py @@ -28,8 +28,14 @@ __all__ = [ "GroupMixin", "command", "group", + "RESERVED_COMMAND_NAMES", ] +#: The following names are reserved for various reasons +RESERVED_COMMAND_NAMES = ( + "cancel", # reserved due to use in ``redbot.core.utils.MessagePredicate`` +) + _ = Translator("commands.commands", __file__) @@ -155,6 +161,12 @@ class Command(CogCommandMixin, commands.Command): super().__init__(*args, **kwargs) self._help_override = kwargs.pop("help_override", None) self.translator = kwargs.pop("i18n", None) + if self.parent is None: + for name in (self.name, *self.aliases): + if name in RESERVED_COMMAND_NAMES: + raise RuntimeError( + f"The name `{name}` cannot be set as a command name. It is reserved for internal use." + ) def _ensure_assignment_on_copy(self, other): super()._ensure_assignment_on_copy(other) From f3b6c4cf329b3660680dfb1c56721e9c812612e5 Mon Sep 17 00:00:00 2001 From: Draper <27962761+Drapersniper@users.noreply.github.com> Date: Sat, 28 Sep 2019 22:12:43 +0100 Subject: [PATCH 158/183] Fixes `[p]trivia leaderboard` not running. (#2983) * Removes `MAX_BALANCE` from bank, user `bank.get_max_balance()` now `[p]bankset maxbal` can be used to set the maximum bank balance Signed-off-by: Guy * Adds `invoke_without_command` to `[p]trivial leaderboard` Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> --- changelog.d/trivia/2911.bugfix.rst | 1 + redbot/cogs/trivia/trivia.py | 13 +++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) create mode 100644 changelog.d/trivia/2911.bugfix.rst diff --git a/changelog.d/trivia/2911.bugfix.rst b/changelog.d/trivia/2911.bugfix.rst new file mode 100644 index 000000000..5ba3eea44 --- /dev/null +++ b/changelog.d/trivia/2911.bugfix.rst @@ -0,0 +1 @@ +Fixes a bug where ``[p]trivia leaderboard`` failed to run. \ No newline at end of file diff --git a/redbot/cogs/trivia/trivia.py b/redbot/cogs/trivia/trivia.py index 8a9dd8970..ed19eff46 100644 --- a/redbot/cogs/trivia/trivia.py +++ b/redbot/cogs/trivia/trivia.py @@ -267,18 +267,19 @@ class Trivia(commands.Cog): else: await ctx.send(msg) - @trivia.group(name="leaderboard", aliases=["lboard"], autohelp=False) + @trivia.group( + name="leaderboard", aliases=["lboard"], autohelp=False, invoke_without_command=True + ) async def trivia_leaderboard(self, ctx: commands.Context): """Leaderboard for trivia. Defaults to the top 10 of this server, sorted by total wins. Use subcommands for a more customised leaderboard. """ - if ctx.invoked_subcommand == self.trivia_leaderboard: - cmd = self.trivia_leaderboard_server - if isinstance(ctx.channel, discord.abc.PrivateChannel): - cmd = self.trivia_leaderboard_global - await ctx.invoke(cmd, "wins", 10) + cmd = self.trivia_leaderboard_server + if isinstance(ctx.channel, discord.abc.PrivateChannel): + cmd = self.trivia_leaderboard_global + await ctx.invoke(cmd, "wins", 10) @trivia_leaderboard.command(name="server") @commands.guild_only() From 6170a56648800ca3d13f27a4339c301869941f52 Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Sat, 28 Sep 2019 23:18:08 +0200 Subject: [PATCH 159/183] [Docs] Link directly to installing Red from installing requirements using chocolatey section (#2995) * docs: link directly to installing Red from installing using chocolatey * chore(changelog): add towncrier entry --- changelog.d/2995.docs.rst | 1 + docs/install_windows.rst | 1 + 2 files changed, 2 insertions(+) create mode 100644 changelog.d/2995.docs.rst diff --git a/changelog.d/2995.docs.rst b/changelog.d/2995.docs.rst new file mode 100644 index 000000000..2a6f9f498 --- /dev/null +++ b/changelog.d/2995.docs.rst @@ -0,0 +1 @@ +Add direct link to "Installing Red" section in "Installing using powershell and chocolatey" diff --git a/docs/install_windows.rst b/docs/install_windows.rst index 3b42d75af..76807eab9 100644 --- a/docs/install_windows.rst +++ b/docs/install_windows.rst @@ -29,6 +29,7 @@ Then run each of the following commands: choco install git --params "/GitOnlyOnPath /WindowsTerminal" -y choco install jre8 python -y; exit +From here, continue onto `installing Red `. ******************************** Manually installing dependencies From 6bb1004bcd7c8a7ebeacaa8292039e2eaae735fa Mon Sep 17 00:00:00 2001 From: Aurorum Date: Sat, 28 Sep 2019 22:18:58 +0100 Subject: [PATCH 160/183] [Trivia] Greek Myth: Caduceus Typo (#2994) * [Trivia] Greek Myth Typo * Changelog entry --- changelog.d/trivia/2994.bugfix.rst | 1 + redbot/cogs/trivia/data/lists/greekmyth.yaml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 changelog.d/trivia/2994.bugfix.rst diff --git a/changelog.d/trivia/2994.bugfix.rst b/changelog.d/trivia/2994.bugfix.rst new file mode 100644 index 000000000..e7204b41e --- /dev/null +++ b/changelog.d/trivia/2994.bugfix.rst @@ -0,0 +1 @@ +Fix typo in the Greek mythology trivia regarding Hermes' staff diff --git a/redbot/cogs/trivia/data/lists/greekmyth.yaml b/redbot/cogs/trivia/data/lists/greekmyth.yaml index bc9611ad0..1b840b172 100644 --- a/redbot/cogs/trivia/data/lists/greekmyth.yaml +++ b/redbot/cogs/trivia/data/lists/greekmyth.yaml @@ -55,7 +55,7 @@ Which god is associated with prophecy?: - Apollo Which god is associated with the anvil?: - Hephaestus -Which god is associated with the cadaceus?: +Which god is associated with the caduceus?: - Hermes Which god is associated with the dolphin?: - Poseidon From 80628a28a7db299bdc7b09827503571c74542304 Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Sat, 28 Sep 2019 23:22:45 +0200 Subject: [PATCH 161/183] [Core] Give friendly error when provided instance name doesn't exist. (#2969) * Update data_manager.py * Towncrier entry --- changelog.d/2968.bugfix.rst | 1 + redbot/core/data_manager.py | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 changelog.d/2968.bugfix.rst diff --git a/changelog.d/2968.bugfix.rst b/changelog.d/2968.bugfix.rst new file mode 100644 index 000000000..5f6065eb2 --- /dev/null +++ b/changelog.d/2968.bugfix.rst @@ -0,0 +1 @@ +Give friendly error when provided instance name doesn't exist. diff --git a/redbot/core/data_manager.py b/redbot/core/data_manager.py index be1632809..72394ac43 100644 --- a/redbot/core/data_manager.py +++ b/redbot/core/data_manager.py @@ -91,14 +91,20 @@ def load_basic_configuration(instance_name_: str): try: with config_file.open(encoding="utf-8") as fs: config = json.load(fs) - except (FileNotFoundError, KeyError): + except FileNotFoundError: print( "You need to configure the bot instance using `redbot-setup`" " prior to running the bot." ) sys.exit(1) - else: + try: basic_config = config[instance_name] + except KeyError: + print( + "Instance with this name doesn't exist." + " You can create new instance using `redbot-setup` prior to running the bot." + ) + sys.exit(1) def _base_data_path() -> Path: From 6e3ccc1a215ce160df5220efff8c136abba8192f Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Sat, 28 Sep 2019 23:24:49 +0200 Subject: [PATCH 162/183] [Commands] `cls` parameter can now be passed to group like in d.py (#2881) * fix(commands): ``cls`` parameter can now be passed like in d.py * chore: add changelog entry * Update changelog.d/2881.misc.rst Co-Authored-By: Toby Harradine * Rename 2881.misc.rst to 2881.enhance.rst --- changelog.d/2881.enhance.rst | 1 + redbot/core/commands/commands.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 changelog.d/2881.enhance.rst diff --git a/changelog.d/2881.enhance.rst b/changelog.d/2881.enhance.rst new file mode 100644 index 000000000..6a7c15881 --- /dev/null +++ b/changelog.d/2881.enhance.rst @@ -0,0 +1 @@ +Allow passing cls in the :func:`redbot.core.commands.group()` decorator diff --git a/redbot/core/commands/commands.py b/redbot/core/commands/commands.py index 43fe5230d..7d120b14f 100644 --- a/redbot/core/commands/commands.py +++ b/redbot/core/commands/commands.py @@ -671,12 +671,12 @@ def command(name=None, cls=Command, **attrs): return commands.command(name, cls, **attrs) -def group(name=None, **attrs): +def group(name=None, cls=Group, **attrs): """A decorator which transforms an async function into a `Group`. Same interface as `discord.ext.commands.group`. """ - return command(name, cls=Group, **attrs) + return command(name, cls, **attrs) __command_disablers = weakref.WeakValueDictionary() From 59e7d063a0b8f62ddd605f33a28634df592fe11f Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Sat, 28 Sep 2019 23:28:14 +0200 Subject: [PATCH 163/183] [Tunnel] Add `use_cached` and `images_only` kwargs to `files_from_attach` (#2887) * feat(tunnel): add `use_cached` kwarg re #2885 * feat(tunnel): add `images_only` kwarg re #2885 * chore(changelog): add towncrier entry --- changelog.d/2885.misc.rst | 1 + redbot/core/utils/tunnel.py | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 changelog.d/2885.misc.rst diff --git a/changelog.d/2885.misc.rst b/changelog.d/2885.misc.rst new file mode 100644 index 000000000..d7e2ac3db --- /dev/null +++ b/changelog.d/2885.misc.rst @@ -0,0 +1 @@ +[Tunnel] Added ``use_cached`` and ``images_only`` kwargs to `redbot.core.utils.Tunnel.files_from_attach` \ No newline at end of file diff --git a/redbot/core/utils/tunnel.py b/redbot/core/utils/tunnel.py index e1655ee78..3081364a0 100644 --- a/redbot/core/utils/tunnel.py +++ b/redbot/core/utils/tunnel.py @@ -132,7 +132,9 @@ class Tunnel(metaclass=TunnelMeta): return rets @staticmethod - async def files_from_attach(m: discord.Message) -> List[discord.File]: + async def files_from_attach( + m: discord.Message, *, use_cached: bool = False, images_only: bool = False + ) -> List[discord.File]: """ makes a list of file objects from a message returns an empty list if none, or if the sum of file sizes @@ -142,6 +144,10 @@ class Tunnel(metaclass=TunnelMeta): --------- m: `discord.Message` A message to get attachments from + use_cached: `bool` + Whether to use ``proxy_url`` rather than ``url`` when downloading the attachment + images_only: `bool` + Whether only image attachments should be added to returned list Returns ------- @@ -153,8 +159,16 @@ class Tunnel(metaclass=TunnelMeta): max_size = 8 * 1000 * 1000 if m.attachments and sum(a.size for a in m.attachments) <= max_size: for a in m.attachments: + if images_only and a.height is None: + # if this is None, it's not an image + continue _fp = io.BytesIO() - await a.save(_fp) + try: + await a.save(_fp, use_cached=use_cached) + except discord.HTTPException as e: + # this is required, because animated webp files aren't cached + if not (e.status == 415 and images_only and use_cached): + raise files.append(discord.File(_fp, filename=a.filename)) return files From 759ca3ba7e58152a1a45c3d62d5af47ccbaf0c7e Mon Sep 17 00:00:00 2001 From: Vexed <51716387+Vexed01@users.noreply.github.com> Date: Sun, 29 Sep 2019 12:42:44 +0100 Subject: [PATCH 164/183] Quotes in helpset tagline for clarity (#3012) * Add quotes to clarify helpset tagline Add quotation marks to helpset tagline's response so two consecutive full stops don't appear. * more commiting * make travis/black happy * for review make no longer repeat tagline --- changelog.d/3010.bugfix.rst | 1 + redbot/core/core_commands.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 changelog.d/3010.bugfix.rst diff --git a/changelog.d/3010.bugfix.rst b/changelog.d/3010.bugfix.rst new file mode 100644 index 000000000..7d36a7521 --- /dev/null +++ b/changelog.d/3010.bugfix.rst @@ -0,0 +1 @@ +Add quotation marks to helpset tagline's response so two consecutive full stops don't appear \ No newline at end of file diff --git a/redbot/core/core_commands.py b/redbot/core/core_commands.py index a647e46c4..0d304de9a 100644 --- a/redbot/core/core_commands.py +++ b/redbot/core/core_commands.py @@ -1290,7 +1290,7 @@ class Core(commands.Cog, CoreLogic): return await ctx.bot._config.help.tagline.set(tagline) - await ctx.send(_("The tagline has been set to {}.").format(tagline[:1900])) + await ctx.send(_("The tagline has been set.")) @commands.command() @checks.is_owner() From 37f27d8ae4bc0fc5d2e5373b7d79dc22c3ada6ea Mon Sep 17 00:00:00 2001 From: Vexed <51716387+Vexed01@users.noreply.github.com> Date: Sun, 29 Sep 2019 12:43:53 +0100 Subject: [PATCH 165/183] [Docs] Git Install Updates, note about launcher deprecation, capitalise some words (#2998) * commit * add launcher depricate to linix/mac * sorry linux i still ignored you capitalise some linix stuff i couldnt be bothered to do before * remove mentions of launcher & update changelog enrty --- changelog.d/2998.docs.rst | 1 + docs/install_linux_mac.rst | 13 ++----------- docs/install_windows.rst | 16 ++++------------ 3 files changed, 7 insertions(+), 23 deletions(-) create mode 100644 changelog.d/2998.docs.rst diff --git a/changelog.d/2998.docs.rst b/changelog.d/2998.docs.rst new file mode 100644 index 000000000..943d1db01 --- /dev/null +++ b/changelog.d/2998.docs.rst @@ -0,0 +1 @@ +Update Git PATH install (Windows), capitalise some words, don't mention to launcher \ No newline at end of file diff --git a/docs/install_linux_mac.rst b/docs/install_linux_mac.rst index 22a87ee15..ee37d80b2 100644 --- a/docs/install_linux_mac.rst +++ b/docs/install_linux_mac.rst @@ -18,8 +18,8 @@ Please install the pre-requirements using the commands listed for your operating The pre-requirements are: - Python 3.7.0 or greater - - pip 9.0 or greater - - git + - Pip 9.0 or greater + - Git - Java Runtime Environment 8 or later (for audio support) We also recommend installing some basic compiler tools, in case our dependencies don't provide @@ -316,12 +316,3 @@ It will walk through the initial setup, asking for your token and a prefix. You can find out how to obtain a token with `this guide `_, section "Creating a Bot Account". - -You may also run Red via the launcher, which allows you to restart the bot -from discord, and enable auto-restart. You may also update the bot from the -launcher menu. Use the following command to run the launcher: - -.. code-block:: none - - redbot-launcher - diff --git a/docs/install_windows.rst b/docs/install_windows.rst index 76807eab9..6d003ca6f 100644 --- a/docs/install_windows.rst +++ b/docs/install_windows.rst @@ -8,8 +8,8 @@ Installing Red on Windows Needed Software --------------- -The following software dependencies can all be installed quickly and easily through powershell, -using a trusted package manager for windows called `Chocolatey `_ +The following software dependencies can all be installed quickly and easily through PowerShell, +using a trusted package manager for Windows called `Chocolatey `_ We also provide instructions for manually installing all of the dependencies. @@ -17,7 +17,7 @@ We also provide instructions for manually installing all of the dependencies. Installing using powershell and chocolatey ****************************************** -To install via powershell, search "powershell" in the windows start menu, +To install via PowerShell, search "powershell" in the Windows start menu, right-click on it and then click "Run as administrator" Then run each of the following commands: @@ -42,7 +42,7 @@ Manually installing dependencies * `Git `_ -.. attention:: Please choose the option to "Run Git from the Windows Command Prompt" in Git's setup. +.. attention:: Please choose the option to "Git from the command line and also from 3rd-party software" in Git's setup. * `Java `_ - needed for Audio @@ -121,11 +121,3 @@ It will walk through the initial setup, asking for your token and a prefix. You can find out how to obtain a token with `this guide `_, section "Creating a Bot Account". - -You may also run Red via the launcher, which allows you to restart the bot -from discord, and enable auto-restart. You may also update the bot from the -launcher menu. Use the following command to run the launcher: - -.. code-block:: none - - redbot-launcher From 05eba603a5f04f7724858ec59e649bd10ba3ab7b Mon Sep 17 00:00:00 2001 From: DiscordLiz <47602820+DiscordLiz@users.noreply.github.com> Date: Wed, 2 Oct 2019 20:38:52 -0400 Subject: [PATCH 166/183] Prevent error on empty install message. (#3024) * Prevent error on empty install message. * Create 3024.bugfix.rst --- changelog.d/3024.bugfix.rst | 1 + redbot/cogs/downloader/downloader.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 changelog.d/3024.bugfix.rst diff --git a/changelog.d/3024.bugfix.rst b/changelog.d/3024.bugfix.rst new file mode 100644 index 000000000..4a768cf57 --- /dev/null +++ b/changelog.d/3024.bugfix.rst @@ -0,0 +1 @@ +cog install will no longer error if a cog creator has an empty install message diff --git a/redbot/cogs/downloader/downloader.py b/redbot/cogs/downloader/downloader.py index 64c45908b..b59cb4be2 100644 --- a/redbot/cogs/downloader/downloader.py +++ b/redbot/cogs/downloader/downloader.py @@ -345,7 +345,7 @@ class Downloader(commands.Cog): "Cog `{cog_name}` successfully installed. You can load it with `{prefix}load {cog_name}`" ).format(cog_name=cog_name, prefix=ctx.prefix) ) - if cog.install_msg is not None: + if cog.install_msg: await ctx.send(cog.install_msg.replace("[p]", ctx.prefix)) @cog.command(name="uninstall", usage="") From ea77de5d561ff7ad5a0a84399e8d72de2ed0a4b3 Mon Sep 17 00:00:00 2001 From: El Laggron Date: Thu, 3 Oct 2019 18:47:46 +0200 Subject: [PATCH 167/183] [Docs] Getting started guide (#2659) * Getting started guide * Remove DigitalOcean referral link * Fix typos and mispells, thanks to @Flame442 * Remove cogs.red hyperlink until it is finished * Add towncrier entry * Add prolog.txt This is not necessary for this PR but all of the other cog guides rely on this file. The cog guides are individual branches based on this one, which is why I'm adding this file right now. * QA changes * More QA changes considering -> assuming red is a girl, not non-binary --- changelog.d/1734.docs.1.rst | 2 + docs/.resources/code-grant.png | Bin 0 -> 261234 bytes docs/.resources/instances-ssh-button.png | Bin 0 -> 43262 bytes docs/.resources/red-console.png | Bin 0 -> 58023 bytes docs/.resources/ssh-output.png | Bin 0 -> 41209 bytes docs/Makefile | 4 +- docs/autostart_systemd.rst | 2 +- docs/conf.py | 3 + docs/getting_started.rst | 360 +++++++++++++++++++++++ docs/host-list.rst | 81 +++++ docs/index.rst | 14 + docs/prolog.txt | 41 +++ 12 files changed, 504 insertions(+), 3 deletions(-) create mode 100644 changelog.d/1734.docs.1.rst create mode 100644 docs/.resources/code-grant.png create mode 100644 docs/.resources/instances-ssh-button.png create mode 100644 docs/.resources/red-console.png create mode 100644 docs/.resources/ssh-output.png create mode 100644 docs/getting_started.rst create mode 100644 docs/host-list.rst create mode 100644 docs/prolog.txt diff --git a/changelog.d/1734.docs.1.rst b/changelog.d/1734.docs.1.rst new file mode 100644 index 000000000..3995729ef --- /dev/null +++ b/changelog.d/1734.docs.1.rst @@ -0,0 +1,2 @@ +Start the user guides covering cogs and the user interface of the bot. This +includes, for now, a "Getting started" guide. diff --git a/docs/.resources/code-grant.png b/docs/.resources/code-grant.png new file mode 100644 index 0000000000000000000000000000000000000000..764f202bddf7754df53306c36d11ce664fb6ce29 GIT binary patch literal 261234 zcmc$^WmsHI(=JMI*AU!Y2Y2`2?hFUI-Q6t&cZcBa%y4+W@7sGn=i2A_ zedg*PYr4CttE+phzU!|3sjMiCf{2d@0Re&XRYpP;0sM0fDP! zB`&V~Ra~4@*~#AA%Ek-=LOUc`2S!_ct!3*-euic6_r`|750@Ypg#O>+>>RQYwE3mK zWWr?;;Z5RA0+z#RWz%TMOaDrK#=!6h`|bVy`0jh@Yk!-~-lOAvuF1OSGCSD%SK}OpJ^hbe~;}zdDaLDhp z)gyXjWfr$D8e$u-RNadOBI+F8fVNKIIK4kHV}BUP&Md%+tqLpe>3fzWCv1hx`6K{(MCeh znUbMvD>lDDKP=5t;H5O-vm_!LTsCn#Xjm5Kt;7#my^{7)ws^wrY+6|#kdwQM-IIH` zg(im_#KAH$zYgr5w^YTlHWqEAFt9AE-Qdk7Sfp*z67TuYWErUjmoK={1UDTQ{8*t+ zp`|hiswSjuk@7Qn?XKo1O#ELXSFywz8rOP@9Lc7?5IEt3%B&xp$yxc+*l?iWO&fQ-y-SQJT`2H@(mGG){iM%9Ts zy_t2Jb$pmUb;}2dm1#blKKx1yKw*KU7J(n6h$RV!%nMi)-r$P%(Ys`YQWt^iBSjyz zSN4l_&^!Gpv8hN3<0Ga_8V+KgwyfetrzE{A5}vZRuO&UahzB6fsA9K?zezyM6)SF>kG%H}~+sM2M z>q$Twi>QlK1zKC}d1k$2L1VRNQDQMoQz6m)0x|@{f6`+KwPablTDi;>Dxg9yJF%o_ zBqk?`k3JN+h45^|&mTkY!kev%QI6(jG`t6I)xQsf`Ahf)#r~2AK*)lI`Z3=l%{IO*Z+OQwq%?*3g_S71CxZ2U^1iP69VDbNaQ<^*El|Jc!qIEq6_5xaf8D}3xnRB* ze?1e6f#QI0_W|u4Bb;*FoghJl2OzAdtcyT|L(&bBVE_8$68MP)M$-t%0hZW^0P_I- zo8X)%`SK?=QPfc=xIPSJM8yDlWw?x9&)=}^BHXPA7lEIypasM=XP}?p&3oNz;YHC= z$;B(txhdg)ir2>>7Q!5h7ssLO!+VN!E31NdHl${7lacr`zFTP5ju8*6Vqn9LPb+S9Fu{&yD?vA$aNx*x z>=hy6FBw|YBoBL@ESk)f=(n3J<&NsGo+Y))mdsbqU#dt z^nJ0!X%yyz%?{lRW0qXX)0^%3D|%;rhwOzXK73{Tjg=2qE{dNTH!*yy@3ZlDR;Dz9 zQM-&@pAnNfLhY}W)b#{{wRy|u%f8D_HtY}h4`gnH{9yw-t&a6Pg6m%hv2nsC`jWTt z9km=|9k5zSJTQUiH9xoqymu+Cb)Lw5pumV=3_r{s86)a&EEjk^_)o##`ag+r<|SSQ zu!w3?)}vGX^pdbJp=C|fmKPB36!lSjlO>OrkXfaK!;DT6rKirO+Mw>DW@1ss{e~Nb z*NMA}cY~+Ms&9&G_9RQ4NHq%kP05LnH&NECdw6;LDg2rp zEAVU9SezAs8loD;9858s{M;n8IfA*VIlVK!GoCZtEz2z-5a(wBW@o7@BRtB4n1m^WJA`mN)6U3_Z~Oa49Q(-olLrC=&*9EFk*N~_3~|-~E%qg> z>fCj)_2PBo^|02pR>P}bp5HtOJup3EZr8Wd56$)#4(^XOCcJYV=}0DN298EsvTGu0 zV(nuL1Gch+GkSvG`Q95L!U6(CN_&k186YoVbYSjbtbT;S)FAqyo8Yj0M#Q22a)O`w)tHDdG)gpLj;`{J+W$M zQEO#k_2+8!syq4ge4C=IqV+O?3i5*88r9+(?c~bu#TnJB)i06?noP>)t*haD7420o zcK5{hR4584?ZbG{j~ONz-5DbsVNJ`8XH5@Q8;ir11Xd;1?pA=mmVXD2vzDIaw1C|5 zEu!w<6ZeaI6&5mw?n&6<%d_rCin4^62t!TRvN3J%%;0wIjD(w|F;Oz1}YqOd)!} zWx3UnWkaW4zGeO--cDzAxAh&5iJuE&BV~QZ9S!lfpN=e;Rhh4u1*_$&fz|ibw|3Na zFm|RF5f^0_j{+V7mc-{dJW5(Kx-)H6#d@(e*;lHMu5Ky5ff4*nY<>I69 zVw9pel$k`{$N&-`4S9_;kJOPNcpG-Azg0giA-o`%AqZm{U;!xWC?%=ysU|3osFjM- ziso&k?H{)`8^k@N4`Y_fLd&qNlrs!iSLM4bHMrw>j~=zU7x%!59toD4?wF&J(m}L2cV%> zt(%~mS2RmP9zS$%mYeP0c~fC0h}wv%h{H&>NP1{UM4R4EYZ$o{?h*45iiA|e(ZYP1 zHfrlYa!se&eJv}Q<3zTC`a@Hn5vSOxRJbHzK0AlENdz#KCyifDVK!kIOO0h!QYmA3 zzb2J>SA|xxrA#A;g2~b$omwsls_Fzed3w&OP?==}w^I!VlzFBX0kWa!Sx* zpRv*DH*vMNu;$g$aq)NkxV6HyD|cC zah4KeZj5iri_bM6sOQCe-GaLNcTeTy#p^ieexAF@UeNi$8PFr`W0eI_k8vR zd2#ztz&$F8=SgbHIeKUiI*e1;i4ks0z=%p~Kh zn-1HY4m~Yk8G0G?@nz3z^YyI0Mz}db^uf6K(oIuNp-It4oleF{XG*iiI8(Y^;~{FL zBB{lxc^>RlGi*HtV+%_}Y>=*?>qY(ImMMrLhKv>E6cs6dBF{f{ks;iaR-e@(wZ^h` zv+~tWrFqGb#i`My-r3E?(b3h}+5PeA>h5m+DlY4aqNJS}aQ3 zN&Fv3I)%QdzC;f^Z(r&el%$iTFJr$JtC^zgweAUxxYH0SM9J36eo+9*;%#nrnktps zXPEO*)VDC3efbu0Ha}rLm9y$fRpQ`2nxoK0*e2)s*Z1W$6V;MPz~8b=`KtB|BZR!D zV0@^Y>U+_N*~tjUxNA&iHoSn2KC9{w&{liTfWVW!h`9u;EWUD_F??7Y!@iVBk_~bJ zK8f881!^8QUp?%`EKb9vQg@`(IOuD1AFdkwW?!&&EI2y^>DAcJtPgEsU9$I({3dxN z_31sxJERB{-QDiryQX;zt44K?aft@{u7b|SZx3<8fT2BX_>-K@!`=)kCVAr&+=5cFZMIF;1LKkj#d;hAZ!TQ1v(j419fx^ zXab-;;u&W#%Hr|+_+>C7epL5$I(!j`jF19}T=v16+8OORAhy;#5sUG%CV%eTR&+CQ zvA8jfu^20uuS2Z`ZO8539n$an^~xPK>}=8e21tByL+7RBBUMabNtTZ*Pxhm|Rfy36 z%8Dwe=zZ1G(U8>D5Q)|yQhhIG4P4i3Y2tS|ah2mfIJR9v+vr^Ao&G&4GpF4rF_|$}Fnk{Q>Kwb4gVUUIHGUtn zad>We!XRx{1itd#*&QclFp{gyGAB9PnA#K%iMtrT`*R}4M zgM z0R|B?W_q^Z+ii8ch&zyrnknTURd_d5$5mo$$vBjAkZgewid7&ayS0Dr$XSF7}9)^~|sg#7>* z)pJ4^cQVFrs6;=8jRjjFC8f^A_I|_QB204HK*ap$2-*^_r9i~Qk%`4y9pj9ml82du z(?+B%s^qk(I&0wtIx#z_dF*>mJ(a%kL&qTIV4Pt1F|v`pe6`W^fgQ_`D)cI}{^mCB zHBL7!eiQq-92+aSGAShKNaIDrdg0H!0mnXv@f1cC^*JMvmI2;Ikph&L#>>ylDr9Js zL*&<}?@@E|`U=>SEao#)0Nt~uyQV+2)H<;%jmw9to)k1N!+!I5v#bMSV>;{49TT=o zsx2(;251Q*>@#zEYMqRoyq#Ni{6~ow)(QuOF|XOzN(d}S-w=Ghs1p!k<;#iBy@#HzUB)c$WmNQNk;i6nw_HAhPoGiXP)Q~QlC(ttQ9@CL zFp{j&rV#~lS3>FfDnQSI6K53fszbU=z7emm(5jLaZlH~>4VSQ< z$HfB7N+bf)hHar+NzCrFg+YJnK#hL)@G8-&b64u4)cO>74bxrqQs^SFEq6g!X#2&% z^7s4o`tKZ!oY`Uv*qJb(dDKd`qnG#9#@p+_9CtU*OlQCV?hY06sf}J{r_^ zuzES?Ger0j+2aT`#Mu}Gk2O?U2ee3P!KZzy`y((qMCj;79hQ0!!RT?IgHcN*4Wi0^i`1JOE~zvT5VWEHZ~Aenm*tb&;Jud=_Ozo>VVp+u$;Kc&m7F&Lp1 z(KEvZgR=X7Zu>ZlI0CN8pU~fQ-Z1+@9TKjxEtPD@71{Z-sW`j#Bsh znd1PKB~@@LU#$r42ViL|%&c!wk&?0q{&l(ftia2`Zo?vmsN<<* z%5f}NC%n6XiH{{rwe8VuY~!T+5X=CDMxr3phjto$;s0=6bfi7OWA%e?<@u8^(=*9JW5u*Vi?Qskl*_PBGOQ5a95XH7aIwVoUU&6~Gu!go|?_@OP4rE8hpT_w{ z)5q;qf2*r&{ZU?2VO4F?SSu$ki!acrxEJx((Xv%b+Qb9tK-mu16o_JdopWih_|l$o zpee`o&>Z6C-ty+8?11dRck%W)-4yVM7>lO2(B3h2tg?^DWRoAe-q5ELBqt}C9Fot;CZyoT$J^;k?VZ^z_rhG z!9BX=`0HR>Kk%#Z0fra`=&#IAKdS{+AJ6&gyhJbTCJmc~wx(sZ=X*#L90J?S;mpM8 z`03o%(nY71sTSXAXC<7igOm!p4F@GTz&Z6+6__9IasEZ2Bh6^W@!u<~-*u#Pnvy+i*J3wgRqE+tTcIo~i&l0GF>DjIRe0 z7H{I4o>O6`Nr~ozL~D`1QZ(d#;uND``Jx#F+7@@vPohYrbv}y#jLkor* z_b(gWusqg&tE6a#eubrpl^YW5mD^^&u0c2qzLj7#!TTBH5*!$mm&7PjZKiH=W>RnL z6|zqt&lvq#ZyaY4lMAa^=YbwoOA*t8TMMxT_R&2Db<;&i&QI}MH2{eiBcB2fD3@X zO2CAHT%2df{ue-J!wLE(kD4sq?eZ*b;e32=5*qn1){A&3${gMnb3d;pE5j-C% z8@wP*E9EAUITAG}HE4=OpNO1jXsaYURD57jYnF2MdCYEncEeYANf>R_op0-u^g&rC zuXl$+vbEsnP-0PzS)Br_Bi#YqUPTuK&ws+h*lyE@?|;b@1opZ3MQgywZRK zJqQCLEtP@6kP4y~8=}_5(#)*R$;_+_k&Z0~%7MuT#9i3b5sDXJ%B?v&m9!J#|DJLy zJTV>Gqty6HvVRBV#e%Y>+q3+fPfJ2;QM&AHFGg0^{}%4-d>_yMsRodf{#O?lYe8~t1!YokdnYqePG$~f7IGm(Qc_X@r*GzbsuEKF zBmVJEklfP6#eok1aCdiSc4ud{cd`Jm^78TmSl9q;Y)l_Ln4CTBT#P-K?3^k7Tgm^@ zBVp!j>SX2MVr6ef`X9Z1?8R&oi{@YG753Bz(lAZJaOzUHUfd8}rSeaP> z|6gJ*R_6aA_Mevj7W=Px{r7MJ|53)LY~^8Qqa$HuYi8&CVVV#Z3yZ*i4fB7s{2xRA zA*ua;Bw5+GdHyN-kEVZ!{>KzPB_}Jh4=?@47ecH8fd8xRfBFjm{^O{BIPSk!<-ck_ zmPH6r0Pw$;SO~FGgl`Q3LImQggs8g5r?YGrqjjl=;oS6dp2u%wBL8s$>i@q^Kv#hN*BOXFYEYnK5m8YM4JD*zG94e^7c~}2gYnsPKE5g?_f|AHhay4ThEp`2Q{sY=Pn7 z@MWn9j9-5uU=rXkbhw#KJXA?0lutw;MN-nyea$a0rKG3Um6eU4A}3dMs(1c&8bg$j zo!PSFMWDHJc~VgwS5e(bewIxl;1SpOeL*$H>t&_3WeWD|zYHlu`WX`a4S!K7br^*} zR#dcmzl?^2k&R8Y*=B>8zuu`(q2i0GsxJKy{gY&>)YrlYzo8Qt++1`33i(_S&@m4& zAidpAls0p{fX{g98qU7wq~5_BLsLt5h527LtH=f=It~fhtcqm4uXO1C(UF|Ke%5}) zQ;X#+UPOnRYt*j%Fjy1SBT;!-jyjXOeAwbjXCig^Fzt3c6dINI+_J|`q+ z1L_bEPEfR!2x8)X^g||Y0r-WrP9;j8v`X`OROnyG&RW!EDU~o2S}H7YDI`6=nrDwc z(mvrEV}pO#$8i4JddmEA!;q0vobB}eiQmkSF$Vy4fk}6NRvI+P*Eif!@^LA4y-8s1 z?P)Ayt+cVLVRFvoN+ih`@564ae4Dz)0knm5P?Ga0?IyBQeH??b5ef6+EUM&@SQRkv zAwA#w#-;vkRZk!TgFUeC^T`Wk2HY_E39xl&9aUHp5*yUmnr$$CMl2j)VB%C1Jf$Rk zu$C2OC5JDk%gxb)gV+qm}->ck^a>YM)sKDv~j!Su9tJ@n-GmO4HcMSE+&#N~eR~SDp zXc^E2!J^#FBI5k(2dsCK0v+3c660i6OErT*r{ji-mF(+{^DT6ctAw>*kBJ7@WMK`! zMXid+SwkZAqM*1~yRi#7Hn|w@?YtnTZ0b*;4jrX99-kBpztX7L1#9Yp9`_e_b_lbk zJhvExHLDUJ2?vW%64Js+A{dmqRaTN+CTme%x$rEqs0s(yc9k!;Kh1BKc&$N5_H^c- zLv_B|#F-hW+U^H})oJvodwV&xH&1_^3CDn&7!^lz1hCykHi0K~8V=T-r&G{`Gf1&$ z6w8(2kS@AUQPa8YyM3;9q%ljYTDClAl45!OlD0j9;e49SaEOK6Dv=4eB>3DfC{Guw zQn&oy#k*g@aM3t3%^H(;4{LVuX=%9ZxrvDk44Rd3kHSyC%dlkq*I#qu>m%>M?0(-FK{V5^eaFP*`xZ{$hrk zvv%1tvD#!^0rOTjLTKAv;;)noWIA6;k)pVtS_{XZfOK;oj>4-q9f=8W)z;1tiRvyR ztnRU1baHmS_tB%t@X4u9?LD=fU8e95C*hkgLWBBbkoB zTM^{+`KaOum?cpWMtl)Sp?((`6D~$Cyte@d=#e36rx5N@Za$k_a3#MpY@{4ck+F;S zg14)w+39VUhkFTMcZ#RjLh@G<1XX@BH%s^L^Rf#O4Y$?6 z1}m!f)k?=+zzPMkwkr3tv9ayvg^?u33O~;u50lZqiTzn07u!)peuHz*;kh8VRu?ol5vG?ZjH zygAm}uDS90t^ceypTb|0#^*9G2#(S^(+1imZGixgH z>_A)K?C$PP`uKH&jZ#wm$uFDx5R^%2rj>Q7c^ND1a6*aCg0w*%OH=_mneQ+d68Woxg#wP2Wn53Wnr<58% zlh3OGRPzg48)dp)R5g+&5_iM1RpT-l?=cIC{JiohDXB*5HS{Renj)TXV_}O-U1jn% z5l2c}Eu^kAHt5(Zw4IzdwSH~$O6V=Lhj@ly=H?f?l}EI)Gbov;Z}o8v;N9q*_vhYk zmQUto7j9}_;albr2WZqCOr%bf&W2@bpb2b4;PJWC>bvZ~+zjr$tBSHHbw59>IZdJB zvrU%Zw%Dw&;W=K3@_m<6g^BG*R3x-t^^lenYKDL|jjTm_-2 zTmuZHNVvv5Sbz>-&zr@y%M>iU>|vMT`jB4t`S`Gj`y~Sg_jSJtihR)NY*_SPxWI)6 zsJ9&NLpt95I1H)v&bNq)b%pVJ?)7ibD?w=Zb}#|)s*7hw_bByju+?3UN5x_ zQv%^olYqW2yc3-kibBT{6fefltkNV0YEQSou-vb|z9tT{Icx{QN-QxO6k5dQocQv! z==QzcoYwq#-P^ob!O0CX)67fsTc{CYgez-cs{lFaqjI+1Bn^5d3WZoz4 zHOgn#=c`h25t9w64D-_Kdl%t5Ow#Z3z zp6TfAjP5x&BoMbdEkGd2bXaAd;i+2ZgBK;@vMHU+5Y!Wd!bxVR7>9#5wRpcJ;hVoz z6Ce zn8O%%YOym2;`($skP7sZELO}m7r3qMk0T2*i;JL1q*ic~5N4EqJ)(UdicH0I#OjX# zyebT2Z227-sLeN3T=I1;bcF zKA!V8Zq1oLM&4tXgYTCNL(Vu`4Mlbo6aIH_B!WVUUcmdrq6-kXLhmQQ!2!@+m;EWW z^1a>d@D7u5I%&=0W3z9J8L!ysp@$?-H4JWlleAi94i=Z_`&>baOM=5xM#q|vh0CC; za8vI@)umEa$Uz&&gHj&#^JiTDuFcP-Ps06HJGN657KzkK%q{!VYxarG)6XS7g?XJz zTOJK`w@t_}+BmKQW>@5I=Pg^&OFF_+f;hCP*&B!cTRwVl1hZE<*s(xxkJh;f$}Im1 zq0#;WQdr*{d|nBl>(2i`;KgQbM&LC|Iiy=Sgt}#LDhmbP;BOLMV^3Ynu7jdlo!)uf}!1k?ey9a0NhEOT|0k?sCbH&-KLe zrjLxNFHy-;AOroy|4v1E>_-Ta*;(3bLRwlWugFn)XAW-b=-Rf~)1vx9~AFuVX5lu|PON+AgnqjvWyC28r((D?9BUZbM%>6atPo z6$ZZ}BP5>kjZ2->2EIQ1(q?;u_;oqlgEb z?~3y?je;IsOXlA1L1^E?FXpax;KpvuCZ?*lsg^vCvTM%xGP%8#-(L;s=CkS+ zQRlY?3OM(htQySuNS75s8(@X*-?tV1@8FkL-*5qN>yf?`DBi2v{dcNKP3Ot8Z};(G z=6-6fKP&Lc_vL{TFwhNtv7V~nRqNV)C(Gt=XBIHtdfoC?%#AzTl~<4qyyWb5{=lk9 z2w2oSkc6vmqW)^_?w8fTe7H0Y@+}`w^kEf9^5vNCeLmH#*88GO&&^UdM*968;2edv z@YdJ$dKcepyE?vTt9P&$E1XiMR{UZBhk<&OU2eslOjX8<3mOdTpjejAi2mFVp!O@pQDrlsYe@9Z9aZB^cn zc83%AM?}}yn0i81YXyXgkJu9uXtxRy3!(Q|I+npdrB_xFocuCX|lg$=x>daX;lj* zjU^Vix9d8f#uKoNs|0pQfx-MwA`tL^?(5LgsNWA2LWBLQE%p|~+S_eM6KAA^f}HMo zYxt!`pSn|lPIY5J@Ux$QG0B|4{NlmExKQTkQn17x0i=xSQjlQyD0Nm?$SLkEk8XbS zy0`&M-lz4&W(9&NUeAbb-=C>~?zi!94)|!{$E*eg&c?u7+%{1fg&fKTi<$V%F7FAX z8Noff;dCWMMXqCHd=5*?lxQKFMuD3v@%G9#FR%}Tq3?Y(UZHt!z^7tD0AU7)tqJUF z-vipb^Xs2T0GrvC-(xn0Dwo}QX&G{NqUY^V`azX$Q;PXiMusPRbPeeBgTdMEcskHB z%yd|40l&7>jgZ*9KJCS5e7cn(Iy(YTAQKmh(E9S=c40O#N zKVR%@uZmXJ93u|z{Wj~8r6Fk&Ux^r@7t5|@MRv0N0*)pzKv!tLqK3U13+OP@{_f+3 z>B1@5bkVBa2X`#hYFz`R*-Kh0c-0F!d>ar^Mc*ea+;BX~o~{;K<~I!Kv-Hio>v;z$ zIWteI+Kr^mMB{U+i*|OY;jnMdkGq0JD+M3doufrSA)&wR*P0a+`Hm?!E}+a`g+X_T zUtt`_hH&`L_1!mIoq7YH_G5*?^Lw`~5s_izF!bGe;+Z%=kGzNjgT|Sy(U^1o4`|aJ zcGc{)Aj{s1a{?~fN+lVGh55cxUKEi~FnRgVapIWSMlpAW<0SW@M?*!W0XOj7Oe}PE zvs9&Ee&QV&g=j3*eE~~I`t}*<_iSe3FYHM4eI>t0-yd|}Zm)9l5%kFkVpm=B%ToL= zZ2SR|;YmKNXG%#Px5B@m2`SB|$4h1(i zzYqT}CXI@bTz4h1(cZIp!AoH10WJd9IxH*v7m{4%>SI5%oKM=}+=q7FmmsunQC^o> z)d-XJYG|bJKq7uO^x#jg^&+;<<*{by-9~x~9fP@Kik&J2QU?*&EJ7a);P5RhOyWW& zM38eUleT~N(-~F?p8(l~@@1|_XxtuEZ^=-vJH=E&)5CUU*2_^5<3+NvWHTeC({3^lin7#V?|3sx5z9mD{FF|r-TjV!t%)n0V+xeVA3P_7l zB6=3RSId6s&<+rxO~fZ%px3k6Uf@p`Lia7#mWaQG<0To>kf9vd=y0s)2!mX2#lCm5 z(tH_j?!^L1{sY6reywABCW078rQz>yNHdvSGzuA()3Gr`{26<2u@dlU=v$6{ylFZM;~wxsMU47;rB_`pz4Ot< z;qCPZR#xhlwHAB!*U;NPIo4)Vj$;2{JC!9N`Q2=^E(NEiN@j&5sbKivrE~T_AIj+Z z$gSig0)#l<4N43s!1KiEChXz>8dR?FUDO_ zq{EM=7``NAr*F|#n#4P6rcY4$$O45xx5cl^%azbLxMxn0f2cAdkj6*nSF_K;2;2Jl zfNohT#LfM4ePN-5j^-C;vk44U_?lnmUgXUBt)nF+z>gy<>lzv5=MZftp!2Cdv=L;S z`N%spzG^lo>EUd&-$&yAvQicXx6w^6@#OtigqGRndbh~@`@2yT$JPdIM)?P@H0h+;*#l1w0E4L+0Nlg?-YBiGk?gvo@XT{G~8A+cmscy~l?*xZn7} z`H_Hbk*-8o9;jub!AoV7^MP)VU5gfrgcH2K?b^k|YS7XzY>+YuP|ZOj%r`&iVclmg z`sO+qO`%mtjKvlxp_Z5O9$50_>?7E4?Pp>Y z8(5Gt%up!0#GkA;E87sADir$nzb1m~hs+TjYuQ4#B>5p%r-^cGDGE36r82@K|FT-^ z9_sM=y?NkO?SNRkJ9mC|I3`MW4v7diD@1)k6aR5263SwPoUx!ONR06XEi&p#9;zyg ztq>s~Y(I%EF}r*j+}Y*~LpEubDdZb^>*&04-=CwW_{rj*h^t(lluT3*EOB{s%dYV> zkuZvhG90b2h`uRCM;o1j=9dPb`#M3zZ72CZl>QVGk>r80G&Mf10#|*=2Nr>P zzKw0e2h}O;V(oI27bsr>&Y%3N=YRJ?u)@mu0LKwku!makh}Vt?#ie#bW+ z>Ayi?<7up6$5SBP#7Vy@27e6LN0BE0F;~x=K40xc1_Rx?+X)>_I(3O9yrtRM2iBa8 zcLiXd&0vJZYS@Pq2}w4OHy&4al-dNKdz_KJO|ONb5tw&^x}SC{oFqRWXYx^wf8Kii zxSxpj_6H}I01$c~jGB(TI{TnDUu>xJs5GUX>EFter_<({(zQHsdLI6a+=XF4I ze7B=*eJHxvK8Rnk2Jdn6F~C6I7{3a~1s)!Z{L|3*p>NAjkWpG#_HOrbf>fmY;ZjR} z_6WcK=_nWLpwoEn=>is97-y#b-Dsm88un8^)T>t*{2vG^IAR1?Zm%HUw zAF?Xu_zP#3;+Xyek0fImHf6%sH{%9Hk*PSMq>NUj!-fwfcT?Y3LoE|pvu*@T7!>%)Lr?|2Gk=~kAuu>@o33m?Qk3)2tHAM#McQI!?!&-9U z%{=8JB7Obgl!e#LU+)&Q4Dl`n-Cr~BTdK=LYwh+uvdW0Fm4u!PulG9*oUKE@bJEEE;=e+VMr$- zt30n?6v(FKW?!!HG$4W+1dBSa;+pF!=Dy{7q;M47-qC<#;8TVH+P)7H6`U44vT?sA zo*IBU&x5;|oBiHlh4}!GFI6(bACzfGwPa>GLpv))^irYaL}Mcod(M0I=>8nEbIs@&Umy5KivND>-G0QY?eIX#-)~ z6CzUNz8}#UG-S#M((gSKD|+?ondxl){Ru!1$NLAN2+RBT*G`k}ll5|Ko_-!AwVg}l zRg0#$jWK$KR!W!t$!u4cPO}1B(hnToG?O^2eg4MKOybxpM8|b!tl$}=Em=d_i=Vdi zw|^&QW}IJwAO6fw%rPm4)<@HxTNvvMv6>F2t@{JIw>?>xMCOd1*dF;VoF+`Je)Zi9 zpb7Ix8nnC3arfy=Tl~Lr{p!Mj{p7(9)rr~ZYyU|Vn_$UOs&&1SbLMWnoVg}+84Lt) za_XteCn0(knav=?w^vFyYe-wGN5&vl`UQA&Rkd_Tt@X)Ww*J*tC@9SFePI)z*EI~5 z9vS^Ybl`5C5(>Yx1Rn>lH29t8p;k9U*yU;vYb4!2Jw3g+hbwBh;}(74;y2$F^19kU z05kI`>voNAtr4-?hTKivp)_x*16U~G*K)*BL?ZeS z4*E;noPFmZLqB{P4$$XoTO7B$-W9ITc3#+l-;~we+wII~yfo1%^80QJ&O9y-cA*b^lpjhq(h;{A8LL88=z1ue~nDObAbyq z$|@y`UNUsAiU=P&+|qgHQFFUk$Ey!J|2$0^oL_9v&>utx z|Jtc}+u&OP{AImV%^JjE^gAVzxqTFQ5xqco(_=QE?@L@56KkE%v^Mvx@*#=;8*5)= zj1^ximY4uRS(^UZV7B-jxAnq_26Zlp(_x^Non4H;^&pn{Hv@;>0OAjDnJUNJCecOp zZhE7TQ{6@t?==v5BzDEW8&0urBN+Dn1X4-_??Mw@KP|4=B@fA^;MSoP+%jvD5#4X6 zcYGZHf-58^1VGa6op{S{{M9v?g-rl^D5nxyq`e|C3v}1ktI_V>3^C8~U{2{+T53F?`fE4$<@4b1pf#$(T@~iGtq`mtGdrRMe0GP4<*${j^dj}X->NwdAUQqIB&vlf zIO})1|KvG7Pj_?DV+g<@w|%uQDUFOz5X{jub?psQ(}3_qi;O1wB=oXv3m+d;dzLNy zXK}#EL!rL_^E}X?quI7-gV)v;d!_p8U%EG5o`=YE3^)>-hg)$Xf!jgQ6J%4{8+llAD$5TjW+@7Hk9nT4Vw=yQ1Hts5|*zp;L66%aL zdRM#dszbCo%JNMaD+n|DNEEZ=qX&z_t5T@TNUWV|RHm`J$CSl-v4lV3Cck}LOX1k8 z;@)zqcrgCJ$rN|PnRY2__8kgWkdV#a7rwXMKdfb2&IbUw}s6u%3+ z+Bl!F@W54y@UGDbKyGLnRqGwpEQCmU>AUdS-0YW`8Fz?nssN&W`thnqb$!*HHJLz0=m_I&}@G|58DT;gYx9is{88KyE&yPcch$T zaac6gC{{5yMYovB^^nVc4!lAu(NI)^awz>tPN*M^wsVU+K_9VYg?6|%1a9^7BH~21 zfAd+qG)eLVbC-MkBwlO3P+#mLv}+$>=*Kc!4GV`s!6~PT-W0YX6V{ zcA+sX&UgVLW_>wTC0$5kWk4lJccw`xsToI~_M@B23S{qyvD|A|Gj0LOlv)~Yl=-%= ziU+wj<$q*X_!v@{HiMdiYF4YokG7M`>q2`(8Olu)aRohAZVslQJY8)Dv@&qf+e_rrq@ z5Kk5Uaca4~sQ-~K=pK7LE@=vxh4sGb@t5 zUpsKL3yn7D$rOgcT}R`nqF}20p{RWcX>iewz+U8>w#^N%7#_q4iMLDHZwXHnvxsBo zM!8kaagG4m+yMB$ZriPS6S=2nqZJY9rKUk>(2tb&H>$v3K!40ey;em#`j?^3bRK;?W_ZJ&SSUP#&A8hCIGjVY_tY z??PJril?P3vodoXU|+E&_TM?a=(aVp7uwg9WJH3?cDSHeEkE%KZXnslym;vE%dnmI zfdmKF86BzB-WYjbOkW>WN4fN$A>e=)QW75dN)A0GRENOX zhIQwya98C}e_W1w?SZfYjtxCkrzfXZ9n8QzF54>f65L-VO14%14|`u37uCD9t%9U< zH%KWGN-8Z#D5-RVNOyOqw1jjC(%m(*fYi`6z|b``3)`G({Z#%RHT3^J2)Ipp5Ztr(S_fQovRe|Vd~{;ngZ>LAdkevJuw{gKDh&OnkmLlG7mUs7X5bN6AHoD zmZ6i~lzT#^=SFEM%RCWFS|^X-uxE+4WmLQp^C~k8f5~P73!Q^vY>+Y1s1)$pENaJpGUg+Lqy2_tu~P_&vj+=5 znfdtX$DIoS#+6hZRvVK3x{J!b5lZ9u@H0OC#Q zBIOu<*6uX{!4u1%w{r21?sv|Io~-x3QTTZ2q--AwERGO05YwkgT;tb;+bW)zdO(?_ zDoXtT_g^IWzZN;?hMEKAvs%z>*kn(Vpc&vbjxHb_0#Ba^39q&foSMSu&>Jz&;Z{|aL_*^3Wi0`_kk`CfJ@7{K1vu~>GOh($9 z*mRKI4eHJ<4c}k}B(cJ5lg|EXq5d2zJ7FY#$a=?QIoff9G2d38d5Vp_+QItK1eY2A zt}UD7gkst6;uRKHk>DrW_0PihmfG&*$E4yS{Xj_AT7D^$SQFauodMax2OH zT;r7)E8EQHNiS;4J*TT9VGC18nd0udc>`9BhtdUHX4?JS=cErD*xO2zb&~1+nwR)< zobw$&JkI?$ehCfH%hm)iGmMXjfw%NcjzdoAU&Zf(cd@pT2jR_Fujv z<_nZ@y?_6Ex_y>U{}Lr&R^LyOo2Ryf22J440}5ccNBXMAaeHa7Y+Y%Gp87vh3+cwf zwtOzm^;w?|KKpx~OXtgFGwNFzjB~~ZpFvCIuSXn!H~7!=O-q`9%gc9PBcqddQmCJ+ zgG%z7G~YcIm(O!f)OS-9dvRyP%IH!T%S%I!nulnCsj~W0((UPF3V|B{jozbu_(FbO z1ZX6;>jGcts!#s>AoZHoL zV(!x8QkWbZPP}~RtU~&s`i0#%K*f9t^HIP%F&X~}3dZx|K$8#=p?dtX&h0W4^_8C} z3w!nUd-Y}}bfCv?Z``}eUScqeSq6k^r8Z_0ARqMKHj{obO8%>r`m<4gD6JQtVFF_% zmm0NE-3B9qwEH-iah7|UCeO5H73q;;~r@a|&r zbnf864nrFx5F(yGj z<4y;${qaA6eu>fHI1&5>0{{1>@)6}6YmE5M1L(MOnc>0J?*-d&T*9OX)#V@A1p9SN zPbb!=!`P&UYXZNU(I|PjrrP)*ru=>%3f3EqDt+jwsqh-`?Dle5&UsFBGaO;kGhy6J z3OR;4u4Ol%w$pyY=gze#;LkCl``3-kQU7z}Qam~#z$^pGM1T0{ zE!&1r7sZogAtK{{*b;viqTmF8r*1#-MF&t`WQKpg6L=Db$AINQnzye>xBlaCFf;0B z1wcv!(sho5rZ#O%6uh`9T(W&E9Pv>O?kFCPF`b-U?s;g6KTypD8-5%Id*1JwxusO{ zRH`oO`_X#$jn{S`n=>J#4>(1omwC(^u2K*$GaRJ3xpCq2)i-9PkT8kj zxF=jY>w9$gPCbD}wZ?l6B)PMUaC~NfCd&iLT)chVHM)F}{ulT*Xs=&B!)lq=4*j;o z{Lf~eJ|IonzuQ1T=;=Nl@EWs-swylO;z^SC2SBD@^~^sopzVFS37DnqWtW%d%Af$V zYP4o4dRlsHSsfX;Bbv)~!z)RpfPf5Ha<40q4L{|eCiDYWQmym4KG zZ2UEV`fusE1gQ7eVk!-?fcZheAjcEo${nR?fqg^>|H$68)iSS?Nn;~Acm8CQ>4;QU zuUxEIxbKP{c`{&xDzZ=3?dRqNr{DmG2S~$tgbts(VR~!-ra9C>?%L!1i%|kxAU+^2 zUNIzIfSTZ=J+l2c#BbIsGF`Hgx0RSobjyb2-5x9j(JxO=^Ktv?VsaM~Glm{3ehbC$ zG12!SK^0xHQ1U2;cop{8J{pynje4V`n~gH!*~W4^TjVZ%RjHFM*ZsSW->JwN>T##~ zogDU8>vPE{z6z$J;AH);Z7(814g9Kv{LCtOprSy6A$f4$ZrCbj&7*q92fvx8iy=UK z`yZQXiS-c6k8e}9iVl!FuaF05+4gPMgAEu*ldNo=fb8bsq1tAi!JJLwVrhv*h&)0X>)c8iv_G8M%s z9;wzLg;Z9H?6Bm3Ew#gC%pP~Q=GJG6XLk*2D!L_uU1fuUN%QYbHkULIS78PFqK6z0 z$85n~0&Pf(!P4$RHki9xXtoHd<;qo$q~u@Jrs@cgCkUe7U*u19R^VayN0Y!u!PwzU z1o%0_+s!6`)?sLyVuzcc>w z1i3}Jd%Qs)1;}QE&uShgXaUzFM7oqlp0#NeA~b0`gV${Ju9o~ zv~?8A_M~}O8OwKjGY`h2b<6&X{169(i{7GnLKSCkqh)GBU zlOiJ{nFJbTv9Ph3%k^7oGydG<-+z)=@wKkhn$Z5p(Egi%#l;NAAK9%^;Q`MI|0C^P zH4`v?CAI5mf8<^~hh9ujrD9m(e>VKT7xqW1a*z8H0QYKGNhEG777Rz@PV_>H z#88bi`S+CoXYMeRFVAE`hyKWJ^aHd*43@pzMKAwYOBg;C%fHx0;MV{_S-?Ef2p26f z|HqsEIhk|Z@AS_==&vSdj~-BCm*X7As?`MjF{>WBW(4gMazn}Wc z)BkN%SboCj|9r{+kptNrTwsYB=y+^yU;lFUpI7|s=7jp+uKM>U{{Nfs|0UsXqW6D8 z5(0Jvo0R^hP8eUskMu=;dLb$lm)3rK)@ro{{h{hQIyz=SW&%obo z^;!q=f2-VL`2mEu`uu`?p!gt`By$JP*FprIIfHEVzAV)3#vGe9wwjJ;cXZRe>w{Ic z4$ikDBCzn<rotw0%a>%`qjk5rz`tz*3-FlB_R_=Tw2aqU6b%nJ&+@( zH?_0@)okfvtCz+Z)1QrvO>UajGr?-9^X)!i)=MoTTJ@!#XCkL#KBH#CQLiuQJyx3w zsmHmvxRkyZk!@~8JyGF$`cz`&?d95;(i@l&lxLc8>=yidiUM)kwkYgIu>J45&jR?X z+v{VeKYtQ`&^?)ImT6{~;l1{{`EcRIh;VR6+KPxP6eV_G7V2$wjf&UGh)2h0mf;&A zo+E51F4nwu8o4>Yt@yV+wFD|l+}aaQj3V)9*c3qXCugj3#(1iuq=zF(Rs zR*~5qYtOv02HjP(?{R;PI1T1%6=577TX~BOZ;b921Gjt3-Cc|4=FW( ztWi-bDz3RmEo*hxAPm%v&LgTF4srOh@WdD|C^Tkquvl1#)#cpYXY37s%-r5$pDTv z^wX3JgtJzQwMR5dT*5jgT#7XzK0(1?auW7F=o&r*_kuOpYz8+ttjF+dlD|bHfZJc5 z0UXlua~MR1kdSbAg_6$uyn0gF31?biYSUJy!zhSxXMR(p#jUn>^!yf2)Nw1F-{SKY z4|l`sA@33Eg*sr;PmPpQs;F_nS?YhlV7WlNOeXkZh6#9id8jXI_P5iVDpdMoCO|r5 zT^Nl(#US4A9*XU_9Fjb<1L~9Q#eheT`&D@zwd(;iTJdI4M(>NVS}yzV(Qm91Q~NPm z(CK)GhmCXatz>9inwmm75X*P56tcbFjU#l!W5rIQyuQgJy+W<$YkpybE2O!fGPYmd zOgbLG8wYydCol^M>3sSWUtd1w2=nj@kBxOBHQC;HeU|Yr8A$++6j1}%DQW%J0s!1x z;yTmnVH?%`*{&B)j5>}V?2qTA^V&|y@|%4LPxOqK{G^iUxy&>3q9Q-Pti~vJQ#%R!Sa&DIOQhsEe`6@;3OnSIZFk}Zy4PHSu3QpDs@;P>2BP^?go;n=J z{(Tm}VGB4s>F}WGY?sC>%1k+SZS8Yx&Ta`g1;O(f6}y|u_04ZG*)M+T5*{dCW!#FiJ87UGdW)cB|b|eLeVVbiz0X^t8)3)IR5jqS|jKTXDty8lL_w zszYTJU*&quI0NkX92ld{a(-fdJwKm`r^6CX$)lha+i{Y{c$A0PiasOWHE)(_G{`zcZT8*v{cUut!N?Cy1fS4k7rP zzlL~!i!GEr9vP9{#i8EC5isWKwemm0OYFEyW3rkpPdHguQdUYmUDX3rIhEI9Q5GnB zJkqsGRcl{ZFENfn1Ki69rT z9e#RHn&}L;alIET{50~fUEv{w=j$8g#>rik1ej2YtYEjp^ z;zpx&>8o{c$FO&m7@TS<*?6c8Vy(APR|}~dx<(wmc>MUW=~#?Vo^C^Pjj|t3&O#7hZ3+_x)roKSWTwY^-V@Q5j5obHWyj^LDo%qFfIF zJx!<`=r1>vf)!E)724HfWT-`@7aA-$?AlLC+AglsYurx=iw(qG5od+6#}3QuZpdn4?waf|~f<$HZ|`tu!i<6Id0JVlo$o z!h`VQwQ5b1iSBNu!;amS>NSM$w#@(Zmrm5EVOvbL)YC7HCWEeKAda%BZc(i_KoJx% z-&hNNBbViUN|DNKQqtPO<2U%6^}}q1-pIC+=>Qnyu{52jbbH&*+7O%d zHoyW-0Q2P^i`lhVlsW;3rV0krgJhXw$f?Y5Pig4^DbVkL!sYtcm%Qu|dFVbkWh~68WGDr@>@M zy<=?y)ra8>Tss;!Fd$nyGKk@~?RnDK5SMq9=?3jDt8P8=Q3gbZ9-a23IOT3+e7bE@ zAL$!_mUOyftfYn^<;wP_Sn@9blb-1j(B==kY~yzwbiSAG^}ToRr(T%kFg{vX)^)v_ zj?dNSeJRW&d5QgH8JKy8ZbvOlzU+42v!~YdPI5x}gRXam@cm*WAqfq0Pbgl39A}I8 zooXf3If}ZnvUvf-Z9fhmc?=J)<6RpbNRVtBk^y}z)US^pG@r*~Zyt3NCIkJ&?&wIAo9?QjvSBA?W&dymD8a86KBV{1YEiFh&bu{cPz9D_nmM3 zU%CRNMjeMYHn&s3&7LDQTOhqw>d66F@Cx;n$JN#X3ZA4@$ljYa*Co&Oq&D%hP0(HT zm;t5uVjb-`^!_rzrly-%KZXY`CEwBR!z2RI4{*pKT;RYNsaPq(|yjHO2}`@@6{qT?`!ov$`Vn4)17y@tagW(-a(Gqp-aJ{#CFjE&T_$M&ea$K`ncM!CQ}<8#Wr&@iY4+g-EGu(^^f zH2-(PbfjGz?jw71pbHt^Xb0t#OXlS1Ht@bV41;ucKf1c=&yGG0L)V}L98)`kJ=g~i z^G>aA{RBfCepg@+w51-_`Iyjj?7eKa?o`J3A{rhY_rHDJL5)K-07HXM{pt+t~$`^fM>K1pphdUTasha&CcOj30%C zvGC}4v{{t0);2mz3XR-!_*B_b-e%nFTb1UTfxNsVBDT3Sl`9Sj*p9p6jO}-- zauw&rM=;5$h}OODV3l7_FNu_dvX^)UbecXUoKF6$h5CoV%4zwtDxuZObrS%*j692J zbv@u_G%)>Q{d^WdRnaP4Q(HSyW7h%AOg}oGRQ%q9d$v*QxwmVU>Cy)4I6L&}OQ@0o zAD(Xc86<4JP?zn;rTKEQ#_YJQmvyWK6ybPwcXtINHe3{c%iSX)c>LgM8nS0wBO~Dn znwJ0xGnMJS;n687?s$OIOZtH~+qx?o7~aQsUiosfoQ`8}d%mm}j1+jj^$pM~@8%T{ zDD39u{NFQS_Jn{dYXrzaS~)1T&gM{kAe?nM|Lt-b9^;5vo3|}dRm*R8=l%To#go(V zDkDacMatA4q$6opH#LWEDm7wrnRq`LXS!E8?r`P9HnjCDzsQfRS)#SkSAFWXs zQN3bEb@U*{t-uFY8LM0(`-S+GBXKDCT_e_Y8I6Uo{{tEWuDOydt|@Z2s8eh^jtA-H zzvy#aME>&lHx%%9I8cOx`qWC2bzbIw{SW$pK>{FQ`9{A?;Xh=P|Mpb%fqx2Q4k>f* z|JTd>HF)^XTcP{{NCuaZgni8fBBTHO&i~(9N;q!4r=ns5G3kb!!~6F|rB$?;apD|L z@kuD2S38`<$Hi$zdX7~5dj%6P50{Mi@yE&O>5Nh#kJ&Jo-oN`2+|kgK0fhFXM9(;$ zC$+Uv*P{E%ojlplclYZ+k*(yyrj7*IQ})6r8Eoahq?qDFq_a;!m)UQb%COO}*9OJ+4g&V-*)KT?9aft6ip{lw1vVb z4vKjFj`lk9@lRW$sRxZEi01vqHT`ErhfbDC3zhFPE;f{#D1se*o%g5S1LIOmmKN&0 zYP2jS8_J0{$Ob}jU_V`8GlWD`FNVHzF6HsV_6BpQlUrJj>K!_|;WWj=?O~_sdZ`x| z(n~Yt5ZNGU9FwgmiccTHvOxhE5c&X+1U=I#ml&4@AyLBf>w_f8?&v?R^ub3lQPGc% zj;;p+`hLLVh3~!jOwTzuNH8RrJ%eg(ApBZQhQ6IaV;%PozADMa0S#`9h9acuG2)UW z>z_V-GWiv;nWQtW*4mC`{QLL&(fGHLp|ZA$F~cdZme{SPOX}-vC;u2mW;V9`Z1F;l z;VF%Pg3fStr1YhnTq$cYn>AXE=k9KNIoCduWWEm)ccM)SJN1oE%l=?R#sGymmD=+l zjPDs4?BlOqJ@ul$aXDB}m?_ia05}k(6Vad+#k{`gpL)oPhmEOk_=cz_r>3U-;cehe z|D+zxoe?VNxTp_uaDlJXWOFddXfeL9Sj3{ELN^^mu_8pbf8*cjpR579SP4JhnU@3d ztE`b^T-@bTc4KjfyNB+fj=GP^4v9Vd`ZEG4xrt(+TWM7<0@@kfSC<;}bhKWI9p4(5 zAQ%&&`^u1D{Mh8Fbbi|>E=g?DK|8U?(DvKw-%%a+6`!bdfqF&G76Ha?aUm++uk-U# z51CkzrvWdCIuX=R#O-g#Dap^*b;WF+EV4RqXY;wDZzpY9Km)A76Dk24-bbNOEcPP8 zfIhZ(rlZ{BZO|%*PD2qeYNNL48!eO?7@Z;y6|*(1zJJfw&_z^KLEfIHGYzZZ$M9>4 zX{uz#KN>p{&+@s8NdV-nQokwL>r8qt8Fm($U>5ky;T5 zeTYu`EZh;}g1e1{#~2FuP*)<1_m>bo5n-p}lKG^hVmlT$a`4x+wWrV7IKOW+y{4GS z&8)LplwCU?89E)d)@o<8>L7aBEty&lXt`>rc$OzWmu{1IXz{F;wswhV8PdSZCr9GG zwE7DjzNRkesg(eZLo0pdm~Yvciu;3+RFTrrqwTw@pyln;_J!@wAcNA;|I(`$vs)rY z%1LLBmV@!#)Qizsr8-LRHw2lK8!?E@_3us6aDS>4jt0s`*yvnw=h)I19gf@qMK~`q~lagn(BgvLtBDp|KiJf zAC4lGWGIe+olT?FGakpU4E;-b%exV#{ad9(b?M%YDLd*7%e%Af664Af&)SGg|WZ5;MI;2ltF^n`yn@Ooe}Q?_|EY1jGS_muCdCbj#D_}9sd z7ze>{oQ792XT=9Voq|On{X?rO&3VeZUD3_-FsS&O8^Q!ala-vegj7_l?&1cGuF)43 z^%q z6-zWFKR0|;tIB*;V!pb^$-rOmE=Iu7@nUZY!aLdQM7BFuogkmdT`Y0e4WMK!3F|_I z%+CVPGwVc0)sUGXZYsCeIJ}Eg!&vZTV3fzy(UT|8Mq3e2a_L{cnA2W3B%JA8xGC84 z*M;$L@DYPdO22RE4ytgC0CTBcXGI@6QKVzm;T_td3P}@qwx5sP{%Q_AGKdNNYNy-r zw&uKbHMSAy8EDg$(BKoM=vf}l55>%v*Hpc@mGY>vV%lpOS@Lyuj&h#8TNMntTcz%C zdqNwxyaii`^3E>jeTUmDX0}@|tRSi7qjwLCXms{NrktV9TI`Dn^SpxI`=h|yc{R31 zGGW$)&?P1j*40+^hC@#s_19brxb72eyoI}N;DnPGQ`@kN}G%5@jC7Hr>We?N~+jng%9I%@Ix1oiLc_?Obo!&KlLsfOlHAhU15GEr!u~8w zEaY7S7Wvj_fn=!6$ThLX8>o-*#$*~}_x?-){3 zcm@f%jZ))4MtD77lzf)^OTl1pbqj}AnR=0?vZkuJKD!Z>dsDB1AT4z*T$+Nx7Qe+_ zC2BGD?n$5)(DgtIGhu5WO-o;M9w`m$(vPUS-SXTo56~#_j5}OhB}h1M6#8}H#Cz_v z8~+a`(3;bC@}PDzmr?AID)t4*tm z!5GohHdLzq;&k@xM)*<;XhHqMsgpP_>N=eI6@Sl_y+;8(`OFdgu&(wUf`R+#C&7{j z!~^u~5_MYTPr2K9+@Cf0JaKM&HAWso#cq6N%44v$p7kJzz&+de@QA$u?}+6XmFLMZ zp;jM8e`(`ZWzgIFY~ z43a_9K$<*JpKHNw6p0pkZ9cnYU9iJ_o5Sz{oT+(VJMj8UH9W8=#Hm0BVXLSSsK=NY zVZw8G;cy$g69#+IL|oK#0AB2;aH-M@4{ge_osTyHkZ*N?g~uYj9zj-gsD8SYMmuB`*aPVyN2F-Wn66Kjo{XU_bi*G) zbu#YpTj^D=YYexm5rXdH>q_Fm&q9xYFB#MF^m(sTX;+bI&X{~qaVjnNiWM~#(ET#4(ZjUT6>ruLYB*Zw5K{-=qs zxTP2bF@ntXCHqa^Ypwu^riNw+*5)6@XBl(ozePKYbv)M&7Cl@{wctO1QIbVTRUzdO zqN|N`vr<4VOZsG zoy4XU2kMxk-?wAos5-@oZ4F;K)PHT9OWq=>S z4+~nDDW}CF5hgaKpydSNxY#cRheg0kiYjOOX!bDCdRB<>-z%HSFoY&6P?2D;5yb?g zJBD-JIW~5lS(gkMv&l&T{js?5q1RPbc5$oE`CRtCF!FX$RaHjBy1#UxvQ_SS5ZY#q z|BT_s9F>(0S+`L;7Os2Vfuin`yp-66QLs2lP~-172FafatqqD|@^3Nxsyf`=2WAOg z9Plq7_HzRDz7n-y-1UUgF_oVmbkI=DwOY9Ibk!1s-txm;h=pH5^6|3Wg>c8o@N)1u zjI6xFOEpDZ25rHLZ6Ld{KvNWWXirfaji3i=T?gN642>4vGUG9Mpb-^5b+y59O^{JX zXo;H{Jx{+vqm@DDThyTNhbI+Dp4VO0foC2q**$e2U6S_>QEfPQuouEHjs+Mf?wwvw zFs0-G>C+9Y^BgTM%c zg~~&^TZ1C>caZy9JR_EuwBkEO1|8n*W#Y54ts(|07-X`TLF;Ni)>)_Si<%GBBof+0}bXY7Rwo;A#;yK5wHKVdSQ;$g3+^qfvpK#@- zm`iSV0tk#)xE#F*!RR<)WDsc6f2Y6tGaA0<;%5hv>~o;`prCLvjgviOZ~LVfU1VW6 zZe+7UDwmq*NE*~J+f^Z>DK_R1K;~W}x^AtEr+uT|>3Xp6Q(rr17#q;B%j=jB7}AEn z$gd47qMIk#JZf}Xa>oxbrrQHWlph`G0xnqsgsa7J_`Cux#5<7(4Bi|?5N#&e@XXn{ zR>99>PoUqwQIvADLZAiku>I$=;_IKB1GnY(m7SEs4J@`=$@TD zc)jHnl-(vh!ejj1j)AE-yAmQ8qVDAWh=kjyFe@wfPWB0OEx%B7sbI0LmFUNKU#G8E zFy+R>o?`H;pZC<@Q1Mf)aw)(T!sOZUzU*X+je{$~!m8Bw0)p{5VBa2tF|3Z;-U`h$ z*g*^M-q5ZNaP~;1^1YOR60lK4teTSQa|x-MJ5fm-2S!`ND(K9Y!`s;cpXLwS1PI^R zGwwI&Dku<;9br!E)w-5PG}!Q34=~#DtAk11u~!v9Ts#cZ2STznv>L&ZJyp<`?v85# z%Mre&xiCCoOrvA&k|@9lzSit%4u=|Q&Q!2lP>v6WzjYS}sES0P+_eH8j!IwO4N#7$xuuC1lS z$~r98Sr~7Anm3)OgA|)Mrq1R-xcaZJY91}wHNK^{m{~kKWteld$IXGNpF1@MdE7MA z&nkCc@8U$cvA9c`Kbc-B4k2T}@L4S8LIGwk+meTP%C|MH-|2^WieNeG0-^xPw}>fQ zP17&3c=PDCPxWH)7;)PGIT!se$ePt*@ywddtCDa>7t_QmS3m6LAffV)K3v+luE69? zVp|Vt5qzA9zUVFBx`WRVNWP49UVxplpp>%^EGE2B_ED)r#jnNG^*lL z^35}?BF?LltM?h97<{vhJMN6?s%5JhS0SH%aNg_GHp&IL+AtRcgeuxVpYQ6#N6V~m zf-Dva@aQZk3mUxPAK;fevfz#dKU_yV*_=N7&Y-0k4vMYv%2pNIZ@nPlsjH+t!jR+f zF3C`fXYp8po;1$e9jCVF9_Mj+PnMaZ&vAHZgO67*gT&W;u+g~4Rn%F?Q}N#3p|*aL zl-2ek$*feFJ-<>!aznLRV?Cb_aW> ztD}eL`{J-Xb}XbSOTH175n&d}@o5h*H}^Vydx-wo`2hsFVcLsx&kyH+*VN315#Vlk zX4cdk#-L=>^yKN&w!7=|12f0h667IGMj$m%W6(=I_sZ@et7cK>9+X1k)WRQbOXArl zG`0P8g0TYE{%2;VyFI#UA0kJeeN(Q}ie2#6o z#$MGhjNZMYJ8JOu>2r87t{ZOqf{m!9JZGP?bYEB)f3EQ3(`ySY@2rY0Hw|w8`Q3x(cJp}hS zlH7WCMzW=V?pjMjJZT{=_M#!z5-fwv!RQd&!CM~?P}hs`LCox2EW=qpDj?t+CO67ft8J z%#6fOU3qhQqd-zVU_mlRJ6KHDU%gVFfg_DKo>BTqg4o>+U_9Ap!{&dyQQZjUB?Fp2yj)yd-<@khcn1?Gu zgTmhb-hWf`p>e#yMrPy{;mU071vT~sz$VKIUsF|uxAVn!w;9x;kOFU zO%4n7qQcnh>@htf?46z5I6o#1qDKjm#i+e1cu7~j_JeQZNm&`g6nRkG z+%ZUbMrro#`x}o2BOi=+D{)D?P_JPSO*p}8QlQ)>`r68Ur@3BVFe=>NOK(o;g${JDGy*PDB)^Mez^&0qwCHWzM^!oEt)m5%U8wNL; zC$uBWvyWQu($pv;Dm<>^s7Rjv+T+WziWjjX@I129gM=b@6ODI3F}G1iB2R+O+;vRA z>+&OHp<}1wYmrN6?Q~7joj@L-pAP;lY_v67flpXa+F*n6XE2GzkX&9C2O5&2M-Kg_ zr{2z9i!%K28CeQ6ri7XZtPX$tmc-9*vHx+FPnGFjQaG9aOWnxhz~1&@9&Dc*%*{oN zi`$FwGA-i$rYjvVCtip`5rVB@M11?hGe~I+OxXnTh=CKGY6!}be=`<4BsxqSAVoatJwtTC|~AJNw~FS3Nu>ms|jue z>ns`khErJmMh)0-&I?Sg_pi85w%?y3pgfyMF~5Xqs@a{OPsQ(-7bPU~7wWB_ZqtdW zD_-^gu95V6Z9Gkst94e8Cd8t5_IA@;KNiR6P$V57cFkpD&?gd05DG8GZP2c2=f;pz zv9ZE%g3wF*(h!wDLjygr1($7X#&k_(Ib*|6)4i}=W-Jw-hx6#QxbV<|@iSjWJVzCH z@v;Wy`EHN-> zMjJlZ^Jc8pjB7m;-SoHxR=yo57G(Bh?`_?lSWZVV+QZ+JXzzgDf%{rFT7NAy1kx|Q zZ9XXO{UZh@rhQPdJi(%Nd2M-Ky>|H$%uWYlU}IH3sb21?Sxz%EgToo>zt7k|erQ4n;w)*lR9ZHY4eRB98@X4_DD81$L8vh|g5 zf2!AFMS5JEIbq66e##|x8#z|o!e==(KKdxbSpz8{br>1^J_R6;NR`7NF|v|6mnVll z=10^Yy$v)vZ!_!y@9vx za7tm)uVrl~Ml9oT`y_dI!!;hCWhv*eFcDMr*ir`g&FRWXb8^Go_iyM@hJ7D4ysM7Q zYUp3l^8b9X-RlF*I2t%BDnIKcqx2r_A8<+pKgDukl!@kVtxi3YJo75co0axLG|qp- z?pP4A8xhzYgl@%nYdAoabY`(&^=_P_@HbyNc8u02vRJ>5Hq0+W_b;+|4l>=^k2jn` z!Q`S&IxlDr+^nEH2d=46(X(6C>*`S^oMxn}7i*Ub5SS|Fvw$qA90gzQ!8~ms`t!6Y; z^_o3Hh?Y5k;j-V#Pe$LPxCsN9`>qUE0{z{f&aQJt-0J}N>C3hD?x#OCu#Fn&K7a*P z7O0qWP+Kw|pvO9!Y|tkg*rvSVQ$ZDI`Ih>0NSj@EdF)PS7L6jyv1+ia%X!vBp2bur z&%BGhq^_#^aqJfIx2%{AxA%nh*iuXM;ea!dDX9@lv!PMJ0>}%|lqO4d^7QSy9{@un zWqt5srf;ZF2@7bUxEx;H5LoV9I40X{)Zv`{PNdb0eDv?k;*1Id~@(; zG4mAEZ>mhibcj%1lYfn%rSDoVOzFiEYP9S5))V#)pURAzk*Bo~LZBteY6^i)Y#GR$a+=CI5I4B5)T+mC)OS?XZZzppeCNGgUE_w!piy z+N5rDoj%nzplgYf(_ol%)DPq&t;h&2WzhDT{ z)_loL*K>9*BXGS;z5PH^Dy6MGr8b-TBv+ok+q#NZzZeEkfE*g?F=u_k8 zx9(97u@tSZY~30fF*8GYw=>C7H}&R9j;vXFR6Fdfbdd_YvR*nwd}pigO@m(?-u8w! zw%J}v;u3#bDzB~G{DnsJoX@YzLAHz_H6ZQrFKS{SfYp&dr-=Ss@ZqU%u4IVQhiK<>cC5 z8d?0&XuLt52rxeKF)?JNog5L{&2#_##O2|UBxjyguHM46jx?Fk9ZpRMZx)w!D7V*3 zIj`;B<*?KSdnHE?FK}K=2HD*R)eEl2EQ%S{uD{mJ0vQn<6eCB~xO!9*+A@bn-zz{D zqv^Xvkjjc1o5KM&l14pp22j0K2z)_^jK&kUd5Q55xg~6%syw$XBKgp-=Q?&gmw$)si+AthgSdj9uUUP3 z^dSd9a7-@du%HFyNT-wb^{t@T;Wb#E*p50+SUXLO_2q85y@dPamE=Fzjc1Nl=e3~F z(geAX>FYF0FJ}zuMEZ+k<_nXbNyqlQzWQYUT1@W-4eMmR(wF2`A}~&8+8?3L*+22d zsmf&bA^W{KP5}#Em)At!jGosw1{CMJaTr(X`o7^X2mF2V^M}l14v%hrK!vG{`x_74 zN7@!IcpO6`i|ojt`qxrH23h6`O&=v_k3CGtBIKh!Rrx^py*?%sH#RnEQjBz-824+t z(5)wPMI_a|vnW>XbfD9%Q!NCUl-Iv9T4N$IHA?PX{%ml?3MHsib9S{>p_p(1H zRu}w~qSdU87InxOS@#T^xU_MiW+H}n{HI{uK+ces94YSzRUOA8Z6THjP~F^O&HPey zqsNOGvn&~`p1NhL;xVitrTDNq7fy@Ey|5fcA3F=WiyEz`E1O@dwz9@k0x5VBTg-Io zU``*5`V20h>i3H-iI$iKBFF4$C_7x&IJh;5P z5vDh6;ni=5C}-RbxBW&vRlku1Ay{4{JIakX9b`dNEQL8`o_bHsWFh&M^~KB;B;~*} z6=vLacWt#0-q~_t2VgPP;Dr{jHd5$Iv<%{3g+M{Jb;)Ju6Bv(-aHxMn};;^ZK`+@Lx{^(oA|xcD0r z-P@v`ObtEsqX!0;o^*YD*jo$?{FJdG_ip(@L2R`grl*wjsWX>hl_1BFX^o&mWp+4@ z%c&`kOpV*2cy2B9zy>Hj6f_EsIBzD zcl)+R#$3h|QD@Ju9mHHOK6+)_DCh{Ww5+}~LcQl4E6HR02|AN~SO+>ATQIC)M7mW< z!X{o;b5iSek;gJW-9Sx!l2!M~f`fX~wBU?RdyCDl1_ga0kLx!0n`DW$qpfz=!M;bcABQ7t%H=~IS z3s%LMqv5`b?L3Pq;o<$AWH=)oq>aDw8Icy{bX#dwZ+4qu#}Kdfy83niuGAZE%X@(t z)vb=&>fH3|onu|j7j_12mu^z_!R47`ULa&$sb9KKE#6^e`8CZOvh7o9%LBn9`E;7A z^rad2*s_ORWGwP(&D-kM7Uoq@Jx3~cGjq2k01fk12h5Wj{*L-;ET^>hTr_oBc$k+DF`KC$i z`tv2}6TOsO?jkA7XAhZI6zN%6A*eF6&t8>;vgn+EEt#3R-&Y5_#x8BQD|mO~PethL zccCDc$Ph&y5%J!x4eFOE+n(A?`X88u7ai9NAWmi|w+K|lR<|SmL&z%>^bZB{T*e`? zh-Q@2&vKE3%8z`q#jOs5eC`L}7)hN!C3DJ;Qlnyvfx8E^1G*5>5l=X@aHNBP28AEL zbg)9XL)?8}ynaQ_GdZuaUyBV@uBLwfUP@8_;pZQD__Pa3fm5@oDQt@cio@kTfhfPa zxv0Q5Fr58w0{Fc9R-!8#?Ltp)=8<<-;B0(>GJ1C1I{ZAD=-ygw9j>4ZSAC%c zoE-oQ0%rN`BYDz^)L@2m0o#4UA+pK^(XTpF>baWl5LflGG0`74#W5mRZ+e@ zLXM3OW?*n|pu#2$x2>=iw+N%L9XIU$SOt6^RDW?d=*f5nX`|rgQ~XS!*$Des;jyjP z+~QdRr#Z~SS+Q6xq0YV#dcINki?_;go2^)*0U7l9;z@pywdZwkxW!k6p_0ZCrr$dN zF00Z%xAV_0zItymwOOGA`5Q;yY@ zzedeydc^w>b|Y;CBrC4z*6taT{B(qUgY|UWS0ORX=jvs{$`(;1&dlv3R%`tH=TV<; ztkbV=D|bXavR?$RY`;OCJq+sWMIYEC?p7rwJ=ec^5RO&-__g0#xaucrmc#V72gru(7UgD4WlgjUBl83sEcvS4>jEI+9UMuFW1c4tM?XM$x z!hgisot!9tT53g@&p*fHqmY`>vguf?9oN(l;g_@O&^Wvt&X2Q%w+;Gm zi3kWNdq@4lhu|P`Xk$P8(2&e1=(@T{I87NAKh}qJr-lytW5<ahl3pl#)%GBqBT2=;01yfx~)0wSb{SR8Q^oUW<^V#D!D= zxm_OQnU3=gg9Ghy2J4-B=nD!~B+~c!+?(C_PmxT!8wweX$}IP-!D&q{IU2xpH8mGr zz1wT>L6lh|_z4EcKfl(a0?w)RYG=Bc~&LNA&pvMNt zwg-II7upTSj7L=HZJ9dIXDfK8fZ^esoZWDx^)Wb%*km25%;5R-h@t#wfc6D7q<0Yf zL`*;)9U@u{UgUD~*e96&TKXVt5w2j}Krh>a7=7Gh0yw95ABuv=k2}UmL8T&=FcvnTffztLF z6)1~Q_B@S|=CJMOK}6aM+8bcP=CfO3E~9cd_7-yQejgqgDwPRAJCOPD;|K4&+kUPh z%PrMgk@F$);RnCK^WlpaX>XsYsaJ4tH^x7!8H2;a+ku4W3ZNb!UUsOX7YwBtpwZ^s zcqaAcjnQRc)R4>c^t4%F+rORZ-@gEoyUOXkUhSgtYioNu^o_1e(B0?l8acZK)ugbo zZF8>EJDCYI#nbM~#9VUVGNZvA3IsqYDNmvyr1>pEoSXR|-2FzGRDN$%GQw?83sNg5VQ|Y^!}ts>A@$Vk;>^p_RZ?+YHmK z+kK{%q}cU3Ez(=qJg@6H@X@}+FMciUZ9T>91W{WmrT6c{%gck$mp7Xi4_vM>$uKty zH}~gGdw&iJl4!_=I`UGKh^+I~|gH@(K>Xb^up%#vTv3Kfz z8<3bFF(nf(tNo)!=d(>-!%pwa-k#+G&K01@__i8r{!Rn@p^MvZsmFk!gA$8wkFb8x z`_)_h1H+D&BE!A-gqkTbaR&`GstIm4gZe#2V11MC<_5Ea>}yW;tesMB20fXoGD(}Z z%_me}&_cTdXyqVYbJFXupF_f|Us!@};W~_zHRwYm6V1)C7k6v-f5wdbVaNPCyZw0dgG^M1v+d&j#8n^BoJsA%iGy2NTxV-rpJ%skOLose{2~g;Xg++Uo!nf5b zL+te^axqmgJb1Ksoz)={t0{FzK_IQDXZCf@H~g!VNMZx$=d0ARVnmR~Yd1~CX{9AXq+9rZSf&3UGUeEzrkC~x5hh^-^sy@@!5Kb}YQ5s-{yyafj7#-P zHB3~4%NbcpA;oW!92~9_-t*o1MY6~|G5tj7$-Vwk*m~vO%-7k?|8g8rqfas=AJPf5w759>)1tT6`LoM{zu~edl8zCa0M5qf3aH)SM*)L`uGb^& z7a0t7Bpo6+i(TpQ(bg6Ah@6?6zcp^hT#=k)ZZ_6bP?f|okM#sJ;|c%l1%UY3+owPKN;iPg_xT- zF=gMs$C8R9iG*f7+V5R_1m-3nsj8}$9+v4e!Z|xTYg9NSK%{CqspT_xakC!p*ZeWm z8uxa8)3^j15edELV7{u{{8%qH-#j@K3iVC~*^)()2}S~wi&IRS_30zYgM56RRXv=< zB}q1?FlUDc4p zItjaOBf)MycP{AuYjywq((Eh((A~g)37(ms1f8YTGv>$r=^YvaE331$>t=%bGc>Zf zMrY!)v-8coLT8;)WGw-r8oW>?9%oyZ97y+Y*SAL6sB{W<6OqZ1+7=Ut~$8~2^qsb z;vmk^$vG?V%oJ;yZ_y9%J~uX2z2Sa!k%VQDAu0)EIwXaLhUs?d+bKnBZZR4nF+4;N zaud}pJ5&`_^vBV!m9aMm07Jkb7-R>H_=m{TREY0yzVRE9d_g5NV($UQf`qc zImRaDD|S_!^4?PidgP&yxceVAv0W*gK>YNzj%)V9AAa#?0bh-Zz8q7GCFI=^=@<$= zKK#KX?dPW^6;R{f-KH=f`JaH&b2~ps0Nfbz5BG+BN7t{s-`HnI0lGMm`vQ|UlkaWs zuhJZB0r+}ua&U6dzq#&Pl0d~ojzM4NkC(oW7HsbuXD9ztNC{yrPiG0WwA2CU zMnulQPABzs?NSry<0-+$2Ew;Z=}3(ki3cTJ-H7#dEF}s=R8*(#)3>92K3#*pJ39<4 z$)LLKE2k{ru5L>iT<%42eA3`D8%eb(eq8o=dLA-ZR}^AlrhPgS+;pf&cJCfX%GT-$ zvktF$EqrX{T49}`@qms$3)X@q6SnNec3R;#lo2AJk7tKPmj!xc78EnvoM{RVV&t-SgD`k^b&caxfOTXZ?i6zAkvFhHcifX`SBV zYCVE)MPx7{X`j$4O4jqt;ryfw{M5S)kylZf6iosr3Le!@%P)b4zw!)v%F7e@g;4EP zpvKhu%1?D*(VQY`s+HXJA%;3#r}0iZpy@G&fHnO5zct=X{7m-RRD5Ha_ao;&%=`8R ztlxJFY47Uy@sMC$wv^DK*|jQ7S9B zfNZF5SJG(!_B4hB3zYDFzq+X~*3srnL68#@^G)Gmqvy6LODb+q1f8d9@_OEIaMu9C zyIM&FU5{cjmaeE~FQUK?*p^mSn0RD#nvD{=gNKA>_si6shUemPZEIa|9d6#3n3x32 zUb$~52O&s_h!!Z|@YilK#m{z+2F(#NxbqeBzcmi&9O%8LISrnk)urRExEDxM|9AUF zmo~GsRhKq@;djs_A2ByXj!f4n#p`;U`~lQY^p(o@2_d+AJBs}AhI2!l-~8&6@lsqg z2i&du3mKBH1_aHISAwjS2F2~;RB9aXDR=-k1>RAxvyaw~2T2EP5U<>X){iHJXdh7+ z3rq9qBnr|z=hMB2dV3a`Ng*d`Os98U`75-$Z)AigY=UOtn2k>zsx#k9Y}*{D2)?6R zbR5;a8Me)ESeY7Xqgxkdz1o=BL{- zS$Lzmj;lS({lh4?%ju^Sz~j2NFPS0)$e~5ket&+u{S?kkm|_$$yAtdjo_{;r))H)F ze$doqB4*bOX_A*xDu8U( zW8U;e5c>;g_PpQsWGg3aJgk}$Od7XNGQCb0HXG2ty}j*YX9!55!Om)8FM-u`Tgl+J zhvhNS>~jz;M$}{~DwG$0IkIq%id!VnR2G+d)TLAQ2dw=st3DM4Ch8PBe?H4;B#(4S z?GM&ntKh1mcKjf6Zi2G^)rL`==x&D2i*Hdvj~ zeXLt%eo0HyDTQE>*dkwKB4#D0N!_)N^4~*_0^Ss zZ&v>ChdZQjA8z(Zw`Dzk{OkY!m!~7}Ml`VP-P*(eu)#l1@}H105TyW?b4{f`%=>Ta z;lSWR1p?)m{~O#3951kK**?8G>A$U~@_XkvY$bs3{^^bWuZ@330G9jw|0k54Q(>*z zADI0GC#~Zs9Zgw*&4-Zd4S(%{i{n(d; ze_vdoeR2{-q_y?r{JakTGUNv`*lYdOp4e~u8yD6zkG7z&*as|1@$mS3ZEbBl!OV%6 z)=n1F!oor{4ROxrygfLh6aw4AWc9C0;NsigP%F{ly>U{#I2r3* zeItm}xS{u(E|bkjtk~+eM{Lzhz<;>%6(9b^b;%6E%)FTu9aof#q7dzBYsIsal5Q4W zpO|BMk^-&6}=^^O3H*5J(aj8hBD())jkV?6~NBxLHLi9&EP?KiP=5DQLb zbKV8HNC6fIimYhKBO8tNlDZ=0SepLB$IJZxxcUHsCnwrg0gUs_5mx#4cj8aVv%$au zEK6!v-lNn*g;7zdZ*6s+45XQDj{`5#Q_ugh~09oT%Z^!>t{{ZQE*4XZ1XI zgoH*%a^3GPKDv3_QwRtY_VYfBDXsW`gdSPQKJUQTa~5_vjy@5p&?$Bn&vRGUchP-X zshIr4ZP5Mndo9*WaL~YOH!81J-JR9U5q5QtzVvg=iq?Frr(UXayvrJpC0R{F9cOd z;(v{Voi{pZ|MVQAVekL)e*dASSm7E~Z-CO2X3R&mQk@8p$Tj^?D(5gQ>`zg$yR+Ho zxHw~xi2<8gbJnoN`=k42%p>SS5`MYMp@4CJ?^``|_MvocV*SP^kxz5wgk=t8mu~xI8E33 zsHqa?^xN6L;DF`b_-ChQ<~Uova+9ri*5&*x6U= zFGPTt{>gNi=R9QCG3abcrL6}Tb<}Ua(gfbaf0erT*5GKuMU@@GBZUVP7tD2uN5ERWo0FF7ydgp6@GKmSf_EL-vU~E*GSjrT53#2vLpvo}Bk)w1;5-=sCR3k9s7~Gs^l$?E3%U z(*-Z=64S%&{e4GoFEP+Mi}DEgOoakNu8JDepYDnDJPy%{wd{)3^(to0}^7@gpM%dJxT7pS8Gu2;aa!v70w}v4)}1F3*oKH1a}P zwpDCJ=zz)Y<;e*LtIcBdi@NXmaubohH}`Vv2BYa-fFEUdXnj*|B1DJhJw)e8MT;g8 zq-E2ZubAdCJ^tG!`x{m8$CEy$jp$T#l9cE&p)r7_AdfQ$B2UH3It-!rHr3$pXGg)d zoily%ea^Nvs;94RPCH+|Z?~tVZdGGgwsF?j`1!nInWtutM9_t#tPT1dF@~?P_G$UL zHLA?>mQwz!5GFQVIQK$czWHhwhFZ2{Y}mnE1$I{uM(@-|6(s=Z0JUCl4bWx<|2Crk zvBS)5toqw6MMJwqib*l=D8T>jDV(+%`FuM!Pwlo{GJA4IY`bpD-nuxiP}BMsd*d^! z@99Pl6&Dj$M@I*so_fwUk89jmlH}g2f1Ww)v%q?YF;!|sa^TJX!c>; ztC{LeU%n>uQEUQCxfD@7n@JEVD-Qt>Q_wnK1}imI**#HGstt`EeNta|4=bD|`n(u) zPgc&dK3db(-5qGxraoFDY@@FcO|N#_L29!X*e1lzeiYlClc^IMdh0&}RaKqFn%KzK zxVE2_2>W#7#-r!H*>=;#4L-2bug?CTWBaDdWHvoPuOY?7m{vn^)zzB`&V6v zh=>9CN%U`N>7UD)nA8)9B;-_PuNQlbGoOWaCsDJopk7`&)45y8$});*Rb3S~UVKgE zHm}ue_3n})5%Gkmnu|KUDs6T^a?=5jwH}V}mC<(@?|Ko)OYNqK1zy3NZx1_qiNt&j zojyCeGD?b#1txJ~w9PH;)IPcvb!T{#X<Ldu!Z0$OGoSrxscfTeoVCJ}@&=*^d<-}cgT zuZNh!VoY>548)Y0Z7e1Ay#lYeu&^U_o?F{mQ9YH|*GA#U-bQ!4J;yghzTD3Tf|v${CxiPE7|XWHyg>m01nM{*+P^*Xf8Mh?OhlAp+eQ)+ z0)}jD+MAS>D2ot$5)wZH%+v>zuErv&PMh}H7O>I_7U(*1Fpr3V()%1kA+!*!bw{KJc{!Lb3v03vte_6XlZ1hnWw z59;zgTyX7N=v}C3t|3GY1W+69qNR;zwQBlFt{}jvXw3LgTksEAwtiVqQp6dOum{;I z)T^xGlSyPpHhvc}OV(4xkv)QwpUT zPRs+u^o+M-b{)Yiz~lTiC+cl$mj3<1zXJn*k%dgtrTb%WFp&R30P;?S2tf%pO>qf$KPA_n zqj$b_@7L7VU-?zefL9rxkg(Q;%S_9r54tUVg#mPanrk*K3b~ecU8Oud1#s;*Kc>Q> z%Jt&U?ms9S#<=_LEf>_)@s;W{Lh4^|SM*+y3NESdKfIvI>|A*PThjCgGNEG$m&_0X zy1cCEshRj%wl4&a>`xV}43{Ir@LHSGWsD*`mYsED-I#-4fJ6)ma}s^bHh&hlVPYdP zafTeNrW73ag0>ISb@XTo&YE*XAX=&;%2ukZWsB*2GgROECle0r_GpH=w+1`)1}b18 zN7OCreepEst=odl3jYx( zklI1|@N7-ih|Ws@_t$+n)QJ6?VWKPaqG5GE8!e}1ly-^|LC~6a%&n!Qf-iU%1^^!p z&mZFKxK)6e93LGXWUmh0ViAWxE9UMds%bI9~%?s zPuRd8tKx$lXj*`MTF#vJV^!K;Qfr5&y|;JP^R(f1i@0f`c>aqxCAd_h8PT@&7Jb?6 z-1=5r&2(noFQWx~@0jE|BhAOc#KcwF60UvzDBT*CA$(=LcsuVgG%i4*XEso`05oK^ z5I49!60Tpnvl^<@$yb`o_4EDI! zuF6w!$IMi@{%9}QG^gfM%aELqV9j;;b6=vH$<7A?KQz+c158#u?9SYAy;PM`_+k+1 zJ-Fhv!b1GofghbrXwj_JK%H7(()u@ez#IQF8f%9Nrjaw$TZ!E$0DY&aPl>OI0ggdZ zIl8E%gcIES`mnUK_VAu^Zq2tlr)TY~0-J+_t_Om}7{?deORKHnqKEg+G+oltOn?jd zOj&c3ovRfQ4OukTvx4v?nJ@n>m&0v*%uRI?d2`WT1v@o%hDj(vvbIm$*^7MY8K2sn zo{g$4R=GAt6}q*s>!q;Z;9#5APUPg|e>i^ic4W|tZG8EIcq#lXuE^>uw$9**dtoMuX5vu_}&|TL^-pNMPECyZf#Wi^>|Y z&~1a{bdd9;g2m${LAy7Wmvu?(D*3hDLFt zXGc>pNv2022R8WmlnI#I z8|!QBakbihieoa66vbpudv#&o-nD>$4kC9`3k|b36R|9e44F1W6NmMWd5ItO11X1t zlMPdr^K_k#B&f1bycm=o>fFn1Uzp2zZ{>J)be+q3_W}W7BfSX}&XiUF|dzi!UXw`O^>m_nO$d57}+EMOl3BdCPhW7TTL##LViV}lm zh;53YbTSX!gEUtw*WeT5Ti7N-pp(;jp;tt6O(dpzB8!gmW~_+R8w}}x>XP~oh$LA1 zP4V&ARQ0;P)V(IqIixt%>&ihh;~>bqF@L<}t;n%na>#W~)Ql1Ip`lcg0v8uoqv^`{ z+OqVvzMg+}&{hjiN=k|XKn1Fn2M5n;SA(D<(M+l4bLp|M??=93(XH9W#(w!puE5d` zfxuy#D+Pk^6CKk}0fYBzA?kLxGO-eD8ntM}s2mri`{zDw%)#JZ3wpHh5Gk1G(qONL zk)gq18+~cMv-+mZMmre z&TnIR4j@2IuDyKggIl5+HRmg=I4L^Aqi{}{V5C4-U0k9)p_o|x(5T3?p2*1*h7!wa zollw;`;ur{KboFlY)klOEN*?Xp4pSGP<^#u z{ED$eZT}>6eO2IJ}kA9^Gtf} z`0*MPjeird;;Q{q|AR@c=8zjW$%v7WF}5NQceI?Hqz%9u*I4#AFOXqzURrGS`V{Kv zq4VjEs@)VD^6yXc1wUixP+ocyq-P(Uwv&qtPV;e&DdG)Ae6Os@=9htca_#9#&)bgg z8jQ&8IA!4$`ps6)9rG$T*Wfadl|L;l>=&nTxduy>*-*N_n12w31{_sTlnG@VySx-< z{&6W{;Kf=A3%kVK?&KU(N}pPpP6#V8Z{~?Syc9Z_kGo2bacr;{r%}sx!L?|b34Cev zz0Gu%@y&?=a_A;Xj2DL1Bs@RK@=b_|Kk3nyfPJfb`D0g5)G7k#0fecOLXxNapt4qG zeFp;rBQ@n%)@_=V^(Zfnd%bxjWX#H?jMy#uPpkY6`8V);l_Esmshyzp86aWeb-ou7*s(ghtX4r;huS+G~Q*Q%J9-I2? zU1lO$90{ik2pxC%Wy5}&Z$>I>yF=zJ)5sD4fsX*OO=;v*{U$O=INPb-M7$f~;eJM@8wws^fD1y?+26ev1e@ZtvofQkv zQurSQ(@rb*+ildZq!^v_&A?b2bxK$XF_r(3=LmQA^(3DYD&PvOsm0pifC+`u^BjBY z`CPqR#qx7@rkj#v^vY3SXSybR8$%^f39Lb3|9T0`2wSPZ`gYY5yC5lmlup71?L`@i zQtIpj#gl=j_lRjS0SIx~0USRyZM^U6?`GB2ix?i+l|<%Epw6Nju)6xJe@NT^=boh- zZ{MS-&eofQxYEyGJ$f2@Z*YUyzBxS460_-!UVW+4YRB0VLFT`ylE1c@qzAcQaLuZ& zMCFrZi3@-}f7$LKzYZ%vcLHa$GWODP z#m&}UK=?IajqW z;#!}XV30-V7`|Ki%&K@4K3ax6>lO*h<;=Ir%&)(GKT;Lgw3SU>SH~mlK?)*vSE{{C z$+VAvwu%BIgk<4L&*xbEdss%k1 za(Q-atrg|d$AJ0R`lYC}@g0`)g|t6}@~SZIUJk0fQ-pBLK7RcxNUwEE&$#fDVnuCD z$&*Q-G^^F;Y;YR~YB(`0d5W28sObuQ#wxf-jf(cMx*lFV`+GfXP4{L28>2*vT{6}T z#tJcr=o-96c2z68TfF1CkZ&8G*_+~ab&F4fZn&+R4+0($z`nCy%?iOR&#!E#w-qg-?k<}@Z>N9y)m(l_0=_$-m+9#$x8%V%_F zd#BW#hI67Zn*+ZFN;~@xP>bgpk$6Ow>+i#^*BmM?&d<;B45Mt0^(>;vdwvz2T8c*G zLm(Hi-y}cH(Vnu~;(gRUA`MxfUv4rYmElz43X}EOsGj_Ivyt%>PX4%JJXi6E9Ztdn zPu-)~6~lcySGi5W<%j~IttaTFr7d8>#w>p;DZ@z=u2Tso;%%b5)hpyYAekC= z(|hCOx@aF3m$onnrwS9I{ySakPZ$0VRX>ba@O28cultb!&zp)s`5?y*!XlJ?(#K`n z|6$iEMAqmrFK-*O{DpQp-~M9%Ew@n#19}g%z}V~i&aCHy4a>9naGX%Eo`bGi2yIqU zepfxr!g`3R1en=(1hW9UZW*iMgqfM$9?9OiW-MmEgxa|tL(pb37-l?~+ndEta_;={ zTC73i;ZVrw34OlFlCN)pGX^5mh^0RP9@{fHqve1dh_KR-d?z? z`4`dEOUW}{L*-Ww_{Qqa)QQoXGm9_{ZAy#_(rppS~FfMdx0ee`8f!>BY=p(p!wI{h z{K(%>6MAVM4jQEF%PW13+%+Mk)*u{Y|It-%kG9^XCf6a&Vw}3sYIC>{_$mCkszc^x z42eq_lT;e~uGrI<&CSrL(c^XI8Zj|79T3+wzkQif%Nsy#k;0(Pk$oL#!5cFoMwpC`0PGJ zrt{%Taj{Ok+dU=ID?s{kI~^b41EeLhz!qS*AUL`AsNi|_=!CdHTxJkN(6%+g%i}tm z0W?bDQzu02FCot1^57Ou$cHYSn?YWp%{&v}eKVx%x>n`77-HDp72(WwOsqBjF6}io zc@$~T6lqhmwoU+)il7pF>A>P!`QVA;dRkU>IGQLAdAgeg=SEfg9ZYrQRW(iA{hL+* zzFZjn_U{AYdd1jTA4t{JueSkw9u=3hO7Qjxr$bz$t4UmF-?OznpWw(H)=a+|K9V;@o*nqjVsbc*$ZX;2|w zbKkgKv%Q{p(D>?Ii!qh%ASZWH_0ulH_S1Bt#SmGZm}29XS?;YAlPBD@dUZXFh@gDO z?HEyO1+;;I(BY~cFTShuu2!t)kWH7X@ZA&qahuD=h}hd&Wazqp$F;)jdYG#>UZDG} z8+7HV^BZ}|n>>vr`}@Y9S`duL4&3u?gSm1{x&@nvgDAe>gdHg?dzp6Ogf*trV>O3| z`E*9GEL#mLR-Q-%>l9n6L))o*y^||-XsFAVhq%J9n+a!HO^&3k!fn-;eQmF(R7~SZ z$-R{~Sc7ep=vEq+(?y9yN-;fHLeP~$7Y;&ch$+>6O-_Qr9#S-`yZLR!t6KYOXk?^# zHewMFT+jcujnN7&Lc|dK7 zrxWL^0%6vw(CA(IkvM8)dey5j*MIAH(^q2rfp0z!^Pzsf3SnvHb`R*dY2Dzmy+{sH zvHA4UcaAazje#uAmb8o(nfU6<(j=O79zJ$KF-wws<)%3)Oa_2-`o?ndJ?nn+A~-U% z-Tb&2ZC0-VM>Q|+r0@r%R5xSwY|w0@u{)_tzx0VBWbnErh#YdEsd6%~aJ-sXzePt+ zYrJgA&FQ8jM3k&7K_mKya^b)+7p|O=u9%k75YGH3V3om;Lt7G4Zj!D6xa# zXoE7dC!RCXPgdAJ*^mqjw%?2!b9jt=l9UXP>scq74;1o$BX2VLi!n4a6Ub;6frT+N z>|oo)_4=by@H zK`ucM7V?BRykpVWvxK~;pDCQ|^8N<%gM_aNr|Mkl;+0pfd^a^8O2oacKipwmG2w2{ z3^#Js?gXvo6lj03qSxV_d|R6C!GYUCsjcFC_`Ro`^vLCiTvyFkFM}(6?gZrO(zAH0 zFw~E_d7Be-qA>LzVqM36mboMCC9tEse)VuRLCiHTp1Me=nz_+6Gh2cA#;3e%@_ew-`{7BW-XD zm2lgfp3Ob(+!F$z=PzrAUp6}v!JNN3GXFD`1IYdeZ-0RgEsgQ{MRLOmzJ4^*-Tg-H zUaZ!M9?Drgvf-21iOH%BftT{;-;B~d7>&1=w=b=OqqMR!FBI%`zY@~@B23ei7gRqw z!=;ywn(HCHcB=HtvAZkBjjq>>w2H^T8fVmP3J28!jj@-S=k+R|^RTbp9Q8UIqh7K` zxYIFi4owm9OoM$oi-nQd z0jXWe&UIOi8lrkJ9z@=05@I+@u^zMNkj&?Sr&g*JGWqd`ku`p#DCT@N6?H{ZA^a|( z`AceX4U0GYcY$9*?`>a*%vY%w-|unSFS=oFJZ!$EXQ%w7X(HT9(CQ=f3qIxv2d0Er z=IYJ3&YjqJD7$#Qt>PrRNN=%avrP*GZEloLW6wP#Pp?FSMJ-du`)xPVs6M1^u8#oH ziz>C0EMSkzCY}Y^E@EKn_%Yca^E!d?s9z*FBoari!(Rj1Hmek!5J+Ut%*MtdC1yy8 zjDoDpO6a}+W@m7)zr8;mCme@w&|K(%J_z`m*(15%ON^JG{3kij^QTO;4Lsg{zuK~|!GFJ_N| zyU#3Qq0pnAziN&GCV^X6$L!GXH{~|(>Gc$HYJ%WX zpLk5Nslp$;47;y+12Sf%*EItjZhREtBI6FL={bpUR|Ha>jj#tD4m;_dR$rgTCYwnG zy6N%ZMdo-WmM*%`Vk!QiW)bB;syb>>@w zL;^fpy(cx~Zq!KH~16sm{Y zK7+H`1)Gj!PGjA)bUtva$w$;)=CbBcOG3}f8u8Nz&V3<>@Dx#eKc>JNP+WD+txQtU zaC-!e$w;_|=|IG$KhMkBo_?oWo-oao0%ek;23u>*8Mok7i$yT)y=@7kW8ME(Cz43D zlgT=I1H`0VvFJ4!_L6eRvQ}^Z%7}!MLJ3d&l8j$>Wqr;I;wayK`H>_yQ?%?ib~x7` z=}tHvU4V-1eI8OSugdMYwlLihvp(j|y_Df-Sc4V@5j9v`=cksr?E}x_47SQVqupLf zu`93R!%bf?&gan_9I#ojI>v){&V88bOTP^JPfkxUM;8PFWInZwd1v*B#4)Nl)1IJQ zi%C9lpb~PyEw~&)z77*tSRISxrjN7-*yo)7Ahs1PuSZG3!6#-`X_!tMWp4-?R$xbQ z^Bsse!0DfZ+F6k#3cF3h(r)wZ&#$(x3EGhrlaK6Ji>t3wfAyF zvDiGsbEdK(N%xB~wG?6wesKpk^V@H=H@&_qa}~zr*7q*l1-0o|i96J|B{yIaomqDx z=A_RRMr%hoG$Ydq>TF_*tNcQzzsi(UbeHBb9Fw^_Q^Fro+98M;Bfc&3KQ5#Z8)}yM zM?1jhM%-(h%J3I2$EoOe@dDS^)oG4A9op5ZhWUhoM(MgZHaNa|%YhZ>QJuD5$9l`? zmuwyhR*oPgX>3O!Ow|vym~C&Bcxf-ponKXdlp7}GJ)|$APsh(ksUgu%L+ngUu$XkY zP&uYoQdJFc=y$RT)j_O&_{RBB$fot`?NBO*l+kVzeXgtZdP~GbxgZuZOdi76}>lbWR)ZR`Rd&N zQU_Oe#L`cWmNJ+gmQ<|AGKwA1l7y!K0}fW)ZxwspHl1{%JMT3gH%bldCSvimWPmM2 z=O#Zyj1X!>dib)a{d1J%8m;~9ufPw^UfX(a9}n}uYqi?8kYr`*isN>%hwW*;;?~z- z#TdtEZ#oon$q$D|;x@mg)RAAby?vd0cE)8~v#cH|7bWpmTOLR~T6IgwCT|P7%5%^Q zY_sc+bQ@<7EvEf60gl2${#pUeS{TFy5)9Ui*6m6_(d!5yqfF-}Au07g9PTAa9b= zdLvFf@FCi#<;pzmt1cL3_Ls)ATR0KLUsAd!h{m-1wMO`s@*c;@F0^n{{SAJQFeScv z{MAc@;%Gwul*ZOd@}ai}vICFvP1ZS=pne&YAu53MoSgbO7eb4*8%hzN! zR{wmUzheBTf%6kreTJ(+H$iO-XmFbqY&9}HD|J*DjyWnIH)oa2kvysj#uY1X07%XfA zIfsb;ttg`iNFR5irUUErxfU150cK#>#ONj^iNawCNr-ym+u*o2Z*&3A%8gDmZ6#~j z5_|;&dpd)g>LR5iPei}aF6I;cQA_jikg;Mq(&88KoI0Tu0=`H%TA9(%92D*#2Ah%Bky%=zsq7Z%}}6T)R6qpxJ~k zHW4tVd||M=K{H-kyXH*_4=6y@qCbX+4=mCm^q>kXSy7)=p){9ulEivi)L5jHn{ApE z6fE5{5Jjy>=r%(*KKgduex`LuBjGalI}azfnVe?3>DfXJA;KCPrZjvrSE|dxSam0w zPGA+ugG2Hst#t-XqSaGD8V&CN#Amk6r*ynFi!@=H`TO07=3E9YeNp-4cBU*Y&V75& zue&xZ-Cfn94)w;)*eDGV#UZf$Z>^3fVQ#G|KFvFrytVVj<1WDG12vYuAIo){PBG?` zPkX$=LQ(J^aGL%;+t)4NH*;sx=$P(3@4+k0()QJ1@8DfSjaOE5g6Z0h@nSxq^myY4 zQB+gaq17YM^Wyt=qRn^XQNn~wcr7arXU_>ZJqci+KfZa%5-3qTCpi;4mLYO{$o zIkqnNAsr3&S?qH9VcqTnGak#|B^~RYD(-v;cN5Bhhc$(Pvdz|c0U)ee0l&DK2v=i zVJ^kJaKC<|diu#-KJ<*YtW+fiY60 za@peoaWNDiclq|r!JLh39{X_!Y(PoyJnC4?MNn@r(ZR?Bl-OZg=jb@OWH>Bg&jWGB z0JZ~~g943QHj55Nb<;v2fo2s=O|I%ZAH5RAw49zyaXHv}O~)`>in+8#V=u$5o`8{M zue*glA8wc4m5ly{HONt|p+uf$RZhHj`!GYA0?ht1XI|TU!8;j3$wfcy4wBSR;Hvvw zCO7A^}dafZ3DG~K!lBZ_V&kaA1eC*P-IVQe4@V3?(SJHPd4{1*IR1j*l5c`H& zM@2PPKU#T}n?ltcN!e8C>k;p}U7S(3){}KPbGJWe^QyQ^9UnEtFqcAkobP;-lOF|NnoJu@pXf_vjJi7ddjoT zQ5r`xe6yz~_dC1JEimUmX1z_d737_?!ui9WZzYB^zrUhl9L2$8#;~YvvcbVY%c)N- z3Z#3RWHRTr~LH} zk25ivb&hXxeRt!26@OXj3~0J2QO%HKHu17ss75Q(sA{+iFRRp!T+uxuP93~}eZxB) z>2R+NC4=MxbxbNgOgb|-J@yOu`AR4;3Jzs2*1SO+&8Mvd79Y)*(^dh`%jCK}njk}% zld~9B&klfuSoq7KbnU7FGxufIh2FZlRW#FW7Yhtqy zHdmICY7R6n)dN$(37BELo-dAuSR^y)aYhrpPKv@D*#jaqFN zy^Kdqu`*fk7Zl`$I5(8c1jT(#!SgF->x z48gz`jUTZ^!8DG<{F-=U(wa(17Amp;@m~gk=YrV4|iNnUT(bpx&)Znuvh6k$3B_620|wnl0Dp zc%Q2HT_0G50C4v04~*WA)BIVI?tp$0g82{j6Vxkgftzr6(i(o(2@35_J5vnzq2W!0 zNwBm#<8pC_juSo$omAG%Xp-sAH7RD`w8FY3!o1Xm46WqUaF`I7+cl0-H1r<>gv5^C z-hN_!v!hN?>G+(Gqsq2^%=-gmWgCXv(#gW!NI5niZ|RL+U!eZsIr>{$AnRESauPA1A*edt%n?sS6mlL77a##ZI=Xky0YU3`XS=#PID=V~#ECiw91 zoQJg~3iwZPw(MTMRFwagef)!Yoa)9`u^w)h)o6HkOR>;qhjM$i6f;9N5U&d4ZiL%G zlKIV=b{{fJt35aPgB_mF6#YS$fz~LO{^u|*MsqS`;9}@>b%DmtcC|%M->`h(?^`Mb z;($A#;%x$_PgI5g<+Cgk#MDl3PDv^$_MP_mD$S6nrRb1Uqy7sI=kpH3c+l44vM#Qz zepTCe^r+?ABT7c`|7PI)&+p+5A9I)no#GgqRy-44f5=^Y9AfgDELJ~0X{`gg6#nXj z`?z5{zUE_Gk_-l8Hh`T<{Gz zmNmPjrKO3F8s-iBz9IkaERex4b@axsdfMwKdCdP57LzXEac-C$A5f*28u6Bzz*=)j zIVeKwZmhNdZ$xGGRpJ zkLCxk#D|L>m>Zjhfmc0h$AI)oHOIvr1LNYOYqwtScXLE@19in#*uR z(E%q+u#_-|onN7~YP4~3oG1vcuWqWwm|${?j?q$Uu9~70Rf$t+d_FuMvytto&U%szVzO%hMruXhb5RS4q_On3;BGM;e5B zUVs@n!9n6!+`eLI__EA4lgB0-*DZJIWn*1B86kWlqxR(R`FAb-h2$)(&2Fl@D zR!<8g`%u>9f46Ef&_A|&!;qw~2Btr2Q^=06NE|UuR6e#~A{gK^tT7bsC9%a^U^8Dw zgr~txl)$$%&{k7wJ9}FjK6IPZj;q*-bFX%TYbFlTHsxe^ z;i%GxwD5QV;S$o+w79UxYm+EGUKBa?vPize4uX*Qn>GpEc z>`KJ^x^!<4pN6SkB;St@K0RR6Jm<&n7V%|}u)dM65=*3+JwM%$27H~CdI);Ge*KNj z!DY5l!^!mGcCwZe?|c2>(}pP#!89vJ2R>MzbIPoL#C#C+ED*3m{?0&hqsS+iVA-_5 z2A#!_V4cWd={J{3*ohTVVQFuj_}(KJyUPof3lNe>O@=JFvOLe~BS2r|=SW=o zhHCC^jEx+h8|UmRUq4=-dn%q2!yx31{P|c9)v54OR8oLv4OA?9sm)~o`$np~KY*^* zVm!eLD@IL2pWz%~+lC;RGF*9|beAz?Lg`F$Stmt*(rpk&!LMNv$+@QD>i03i*9MDM zN`VDz6G?S#d$uV0e>6TaRvTYo*&t?##XkIip4M!RRKlgC6TN*TT-B_-PvUuXXCEME)bWIz zDjP?I|G_fcS2?p3z)f7l*aID{BS@;FWgWkUo1@Po6%iL7y9Nf%-y8wA+eDIaAZ&Ma z25s1iiRJOQ*bvCrC;p{M?-(whEnH&6i@E9P zinGusb@e(PaI_T`_0zenzpWpZlDj)34CRHoi;DJs46+A@eYycNG>H07fixV|z&|BbA47K z#qiV)xVX7ltC4d87|~Uv@wAXX&N$dYv%9G!THWzOzw@9|Hx%5R@zH#^Ce^HE6u!}n z8J5mwC4MU?;~pwWyv1IA#^-(1V|XU!756~Hn?ns7QUs{0?EOBw9WS$^#FD4R-eT9G zp~yUeHNJf-W5OLr0xs})weuKzg{ynuOb0a;{*_g)(2ih7-xv~@;q+>7__md-gSU-x zXFN78o?w;OV31<&JKLqisanDJ36i%j=CSShj$QNDjl%gs(OA7xU|R1q@ukS`Mx|W6 zB8SU#@o)<_uWUgPxT0pXte2o|vS16M0L=tj%XI|!Yw@f_&kcUZT=+2%@7h-CGRuzbnL{GCq7OYO!}?>KQ%oZ9@Yq-^Re+W zpx!CMLGoB~qe{P7`L9!Y-`992oobx5t8wuvCGTd30~%a_x3B!lBt|oZ^t!TbNGC(9 z==qY@PDO8^36Z-APYQHt)_&eCPD#dC+$%PUd znjU}<)x`N;)cJr*sN1QVig_bP&acDhiL@)>NAxWUir2*2JFTm2Qc*a|Hz0&GcCERR4&kY`DqwuJvjGRDAn5qJA&r$3BmLkGtbOq2Qc!O>H5yJa;FD z(rDdnL!2*uXcXqGoHrXhM|;19i6`=9zj%ol;fRnm4;buE?&bO#>C@zhckGGX#MV(+ z+&hGbHYT$RFru?Wc>X^}?*BP~J4pgMt(2Zb&pU$z*xf2YuRdoI#3HtA@!(?^E7-;|K2M%VE|E zG?i@u(Ot|8uCe282^ms0gFo`hE6tPQK}#ddIKSo1>cfjE6{37EqEL3O@}RsAI|eV& zr{H*s4IOz)#&(nM2I!}EggkEqvW#***zG_!BR-OW;nFztBBy!CZm97T zy?&uE0{?mAb?{e8zRsPJcgj>}D8Tm1NbpVXCXv2}g6famp*|QZHmz*9dABG1ZA*-O zm4ROO9L}RV|vZ_VSs4E2&g%^@kQOt z?EF#fE;3=)HwXEzI7cnadWuA0VH91!}bi&7$` z==mxy?9wdpKlH}ntzt!b7l*N$Dd+449i*uW*+XlaBIMji-8pd)cuqOCN%k({@?LJk z)vEY25kCL+J0qOwm@NLG>7)6f${v*S(`r#H3rO89!{^Z{#IwVL&H_pRYxO!aju$C8 za)jsv>&~peDv{~IVQt#bvDP<<_t*+Do@n7+$X3}x2uvXk@wJ>S(ytUw2bJQqLJ0=U49a<>v10K+OWsc<3)ILT0N-y7>@-8ES>||_5g9^2*bf|O;isj11 zwD6ATnJ-cJ!1z)7H=8*Tb|M4s1Qmb5II>RqELSZDcUZYvahB-oi7F~T?jI45QVO~ zB;@K`f}$01@Xb~57i3Q80fl&q>Spq~!Nbn@`vz5!2Sij5>ka+a!~7MPz?fd61M>dC zmHhGI8dET+H9ZK#nai|9BQPh<_zwrhQca*7udG=SMa4kBMLe&Cd+ zrwG!7C|Yt5?XF2-5^+vQ++9eaFF$X3fy9t{BCO#(qmORIDmY{T4F z0-kFuciyv9{q+xW;z~t?bmFkB?%fv;MVblQx>O7f{u0kr^B+$9+MBwDTDPqEH0k8{qKab;U=+fdD#2rkaq--KsA`A z25&_!N+8;dKkmQ#AH!_$6Y{sX9~MseG4>b=X)ytI7p z{zDyeqY~zLz4V!U#B=yX7IJ%*HAw0A!0pf(oc))6XP7Gj5>bDK7map6kf>5NRttoA;^4no18(9n*MP{qisgJiN`*61W?=KBB7drrNgkxn{BU; zr4dDY_EV;kU73^6W8EJCY6U;~&Q_~*3|FUlF3K>a$fCEwTkPU6ktEfrzno!=?$1r6 z8d8+ox=x++Gj05DPvrAe#x;K{FSNrVn3q5#XOc9(~hCu-^%ET2Dr z=CA?1${G-6lrq!P6VFtB z_1#8{F-XSD`B$6HY5S|BmgfsB!T@!$k#@!X72y)L79nU#+~4jJ_7;zatGf#@h%?K2 zRmy+mAXoB$-#H;p+N_1`yT8)^*G>HYyO?_<;R;lUzDQvz{0-?PWh%OU&(bw3hy?=< zHjt#M1XaF}$bK%uH&XExwBk9fR@l3fx`!*K4N`-_?*=oq@%}= z`e@xJEoE!ivOKFl{@v? z=kh%MQ(8;{P3Gui*|dN-M#Bub%J_}2K(|fv>o%IQPXej8m0DLt00a&ztw0}yqw9$n zJaRT}hcOYYK!VWbQcM0@m6J|bSCm@CsL&eFMCrUcGU5@*Zz5x&It$gHT|1=8INA-dfbrYF;1Wh2vHrYGt+ zfx!|6jAc6N`(pk(^fTvY{*;XH4u|&pyNM9btKDHc@unZ(l=M{f3qBwp20TFOb*4z-iNHs48UE#DZ> zKa^9<9~5O9)PI+$Pefx%;ig3~v-%}fD}Ia+g++Chdwo07Q0@DdIXw9J!gjp2ETi}3 zOIlh6+sU~vcj=cUdadyzDllVN0`%l2gKX)Gd>Xh#m-!nrXJfHRsg#e=iXC{IOsQ~r z$axNJI(Oh`KYsK0IUlARxG2__7kDbPY$8S!0>L$N(%Gx?iOC+t2oikyMTO!pLD2Zc z(Oc&od;Hr4{v^tQlzXF~wV$o-r-Zqt?Vi(&@wWBOG$L2KfrfN~IvR039Oh$z1Ix5p z?cSb`D#tx)dVr(=w*g9zCO_(*i=m=%3skrrQMT*znPP82uTNaXC}3}c?m0Bhz#;%D zB30U-iM3*ZtnPWjD7#LWUe1wuh+5va^I+}i2yW7NJrWrgT1^|S1GH#B{gdG9nuJc2}>rOEvNJiSx z6>yPX+;OGd7{Vv$;+NlK6rM*v&GC1zblmto=W!E-C4gX-!YaZqkgAtIFU&I83eiiV zcdRYrC_JJ6jRyXA@leyohe^P)jj!4>)7)k05Bk(1Bbd;N$Vm~BN`D$7(PvM5=@K!m z0h9z=Q&leoqP(#IpT_yn(NE|_fMYg%6HusoDJ-^I-Rv9n(N#aW)hW3yEI zGgpfJ3-n3>1j&an@8ILi6)_)+%;{Qw2-p`q!@Xxw;q%= zNd}}Um5scVmCPM1$-pb^AK5j3XpH@V*vwxzj7E4C8e-+7k#t?+fgnLm8BLZ6-={Mg+ z)K7tZR3=l`{Ze|`j5A@WWX1>Vs;xd&SFD%aEv{2B42`pvrR2T3?p|TJCBiO`m^W-9 z=nm~d9>{#g;^GwIx*V8sZIT}7>P81Ax*p3;;@xWT`aAcVC2wk`fq67{_w*d*jCW87 z$}=ac?5k37Wxl%kSPp}n(306%fRA$@uf}k_CiW;nRH@OQGc0~@?cI%y#2n!UaEnD= z3ih#h6KZbc&4fWPRj5ENRN_Nr*Fisy$W!>K$zYFMZojjcu@DB7C3omz0j8+ttAxBY5?8&*rv1i zS#aZyU7XM8G1yeMaqk1gaLA5PI~bZ`#&P7N+B$Y|*qVC|yKn9}b%eHnMAI-_J+g25 z(T$!zsCbs8VKV%{?f(q%X!%SFb%TlyOdI)uY|G1LC%IC--(4JQ|Mc#1OLXlUB;RV! zpbpemWmdyac+s)2-#<9{UgINzIDFBrU2hz6LWHhXi#mP)Cwh0zkrj~S`P_R(yTaCH zcTRcS$I^tga8y`FwYv7km5md!?OC!ojg6Nec3 z01eUFY&C+5R6xFT%;g4z7{>{no+(s`wzs~Qxcm|Li!ES}N>mQ|r2#89lGApDTJ(99 zn}U9shi%r*(zZ_YexqyP?(&1keKNE3YZQ>anGlNO{D)hiL-7VO9y6YoKviEU9BMQ}kDkf7xuDCAm(%6T>&#N4PqMdy2Nv#O?%YIs z{40*%|5;A_Kkewhb`|QV+0DIFOpW&fU%Og|S-z*6Q!@Q(@gp(!Yq_IhiX3(}P0Xf0 zLQF%)^RBT`02kgC2_#G^UG8w_2HTeS))_@K4O5@ij9{02&05A+nV9uOJw&8P8Fecg zX_^I=9nf#0crrXym#9EhPs}s>L}W0~wGtJyqPa0S9R3^&vz5xy(Uz}(*>-l%NsY4) zj7RK-E3#N2&LNc#o^{JtB4a;&{rVlo?QX?>4|8=$>8<5)g?x?YgxowIy6SO=uY)~Z zNydAgi9_6(d!QjeB$697wW@N*4%zvSw<(bLu(RaOkMsT83pJ%KXgJr@n>_007G8`h zyLv4}B+En_)#SLw02IfhYdH*&*6@7<U(1KWNO_FSPiux$ua;`u>UOE7q)8=9vCvqi7ODNjrm5)uW%?s}q#u;_1wp zhCE$j#5TFw>;jwZUStmT5Beiof@+YUc$EH)8{M8R8wvax=DaFN=-KqTT3<_)l07Bx z@2<=GS=v(0f3k6MhPWHOP5n53BuW3RWDYDyq!(^Bim_9lBV1HlO97>D8_aQEV<0nF zqQ0^iPlR!M6sDhK1ddJdeDB^sP@eXi(cSQr0wsUKf7-1TZ(N0pe-Y)GehYK z=`Q^z(r&@fItcs{NN}f66H;Qf6d) z_Tt&HNZGebMa7#*S55iS(KV94hrP*ezp6^K9O~5{5?3}B1QroReP+`dAT^~h7z2wX zp-zZx9kPG9+V6aPcreoUU9`j+$@j7CKtwDz$vVK2R5%V<@;?4JTDa4em!V8t7-N)E z9sOW(({&W$dUbU}ZHYK?Vr9n^%_4sI*2O{WfzVjS(I?WHwScHq+t z`tul32P9I=;2#dh96f&;P#{hX9Gvv(baD?3JvCvAVAS_k$t2>4mvPy9 z^r#4)31{3&``5Uvswz=92s_?AXUg*$RZPx|n9_Hp+yBgiVJQ))Q*MF>_SxJV2>M#$ zPhK={%#Te*qc9)vEnHB&gGI*5@JK~sJd21Ckq75TWK&zq8|?ufy*vz*RT;Bx z#;u##ea-BN-B%yxz1#FpU3;8&Jso zde$9$66q1r;HU$qhU{sla8_8QTdvhl!~w${2u$b*xH^7KeG^VPBRTEUxTk-2Gp}> zgsEN3$KpvomYSS(zhCXBE-BF#C0248uEY26a8UkZ+Z)jyqxL<*M=$KL7}$=ilx_I|lze?w7 znZ(rH0YBa`$_ZlLN#W(DV0s;Mu%7!CIzABa9u`tJ8elG-N+^D}BIN12dR1e7qAloO z7waj8vMo+?0{*2WzYX)F)cD3b*EDFw%=rJU*#Gw__K`H;W7a(xWbWuG((KK;zola7 z{!lSBqkNQ!>GfE=O%y!A{k=YU&jZ^{XbIF=c>34iiZ?rN@JeviX9Z5<=RhofY9D6$;0Ob)^uvJ=Z;>y{@urq^;tC}D2N~p<>XY>5{ z(w&!L#0Ps`-B?J(jy#0(jKo>F_lNfTy{vIG1-)1WgmVF zP$x?TB9#M*iD^$kbz})-?7-|SoC1fj6~TDQ;8MM;I?Cg2?qwqnc>C^yE>Sg1=4lQykCn7TT{d{>?2_Y^Nz= zoZjm-823HX*#}qwFv+k-~R`J{=u68k=|Es;5DHA~S;ic{6xYtlc2_N5QkoqnXbTp}Ej6 zt!1z?H%r}H)3A##j8Uzd_I6(c2^6!YecnmJJD>40Lg|s zbVs>Zi&EXZ1gi#?D*9PYEJR{ThTyXH@L< z_~vIjL70Sj!Yf^u%2r$}l34pGlIL~vP0c}l&L2TrFOWp*cjWng*{f?Z@?bvFE-Iph zcg)S$Y|X_QCcJ5`IEnY9sRz@N_;cz#K~=h;=N#;;oT)x2*x;*i_f9g$Jp8aeYMehE z$VE#te{|Jt3Pa7UFcBF=lm8?H01o;D!ucM(pvCWkSEy4-IxeS_XxWvDD*wu+^6-PT zSk;Y(98&;PhjDbjd)g4lHa9gwo)PjT6sBO-)QVbo$Ku{!hNfFutTT`ty53|XikQra zFx-Yt%;SN|n#4Eo$cv_MIF-ujk&!+8nsuli<&H2_ZimWmj^L{E=gUud2Wf*%j2zT1 zg#R5C3`aG@_UI4nY)%~|z=F^6iopnr3Z4}(qI-jy`HA0`zdOjTbw~ zk8IaX25s8DnGYl1AmtO@atr#}zX)ViNN<9?BePEKcTLF&MlJ%a0;8WPR0++@!_dq; z7J~VPW)-T+hHQk(DJ=_QKBar(n5b1y`loB6-J|1VS`4XU|?3i8V+Ek@z!FU6)cAVf% zx(e<>uh2yAFzklmgdV#o6sgEBsS>G7SJ>F3Z)D+Pb%^7GzrDf#kx7{#igG(#V&`Rg zqNHQCzS;9@RNtc0?xd3va3UAGu?Qh%NpxnTsO;$?BS%;jSP7yGH#^tfegVu1R2P=m zbBOFXevvb&NTwF8vSS2o-)>5;BYP~(_SjSsLGinja7^mRibw~@hdwv4TFVLi3TtfmdWvEO2pf1OG?F6|DiGLA1^ z5w0dj+`t7r-}ijF3JmG={=4FGms8_+rf+3!uWoAttTL1lyi;N@(hBv#gl@y7a-=02 zQb`pJHJW$%H@f5J!6Pbd_j<<5V}V|1H`8c{O#Z{{+lwpU643!iHH9U#X&l`3F@6Zm zlp9A$5H00%?{`WAMZI`9>5xf8QX53YHvFnewvnvuCcXd_fz7>`M9ciPm5E%wI1+qZ zmGVE>FP5yA%d^loPPJLk^hNxQnIOg=o9SMmHpYGta=yNq0fF9Lm#)A{u!pFs7s*wR z$ZnV?@7@@0Z6C0~xqE;f+*IzZ%zE=k*x=S+1Rb{{*v-{26boS7UKUd2qNN{|voV zL{X_^9~f%9(QFq|4#n|n{*`&>ADy?mNy6DZrDZz&@(E>U5i4tZ@$>Tb7cW0_{&gyX z<^g>ghCdR6H&7_joeQoPF18UYEp%HE*g=h>bcmF|AN`El%t@sRVXx{P0x{=t+qBH| zK&uK`zAr856yrk?IJBGOaTYhkLV`5;z&`L+8ej2l&!#WB@7}1c$!H|KaOZDRiC_a` zHQ$ZovSRFxB(Z4D>444J;6ijLG2eV@qB(@{O2unZnf{OQrkK2N(>O&sb9MRA1;NkNMlpqj5xntn z8kpPwD#u^5Gt&$dVwQ8N?rVw3+WtetKlIWtM(%v*f!ZPE*4oAfQG;+}I{Vb`*BAp% zv5qd6tUY=U^nK2eZ9CU|YBwVIUFR^fMRYlr8|@QDv-p&}?6O7%4*K3w!?~ZW6bEM~ zy6q$6Q2<`Fylk;ZY~{)5HnnJP&a-XGd(9D<+?y+bI1e%$BwMod)9FhC9rh*AuRo`uW4erU~VVW zcwDA{Zcl%2>8A)lRZc4xS6KZV8V#}9ftErZI*XNo(`>}1@NcO7r?8j4K@+fUp`MfUaOU}-UxK>iu_Rn zTV86dtOWa90g8+biRo8<)@O(t6CZ>z5kZn1v?n~7gWh@1l*O4~3&cpc;Zh+l^?wp) zj)C+TVN{9CAV{+u8z;)mIF9$cVS7u7*v0QYW~+rL{OB|&FRF5_=QHPgfK*w0j=IwN z`m5aYQEL&oO34;Gyg`B7Syhb+vUJSVamiI^0m+bl(sRC$S!m_Dqc=suy1P7WJyW>Q zsWFWx*KH=>J||pkwn-CtxhFUWjOOOuwePJ0{6~6l#Q(aE33}C!Wbv!I9j~yEeQ40k zrSiSK@{%af=uEn$&@5SfZ!<4eMhjv(^Blja@tUX9ikr^*_oB*1N6iMp*dDQCXCHut zRH(bIsD(`C=~ppiAXy_py49asR<#38u5FuAq>@4BB(7?lrS&aE^Why%%LNstF~s-< z15m4sUTp5$MmXy~gl|2hs$@AxZrN%@J8E{NjNF*8nysgf*^J?jArl|aBy>*Ys&b#u z>K09x7O_eyz=G`Ne|cq}jXcw_A%t#%wJiK6W`79{LJqk(#l@Awgu1;CF~RBBL1`Dm zfQPOtJr1@;H;?saf>cUX-GQ;+=pjqw3_oQ}CtRX?XFLLka~n;8px4Z@;=o{h&|DLB z3NvZDh)9n}Tr)ZGQ~I@23afll47CWQ&n?5EUz6w!;Hu$CD<3<~YjIou;<)F^0daXG z@h7?e^E7Z^Z6#y+x;pl-g_H%^YA&=5sa060_>I>YyQddM>eN`ZS?xZGDCtr4Q#~aU zf$)J`)@T$-y5rzwj$BVvQdz74;Ty8m<@n-zuu$@Zc)5R}pMub%CPRSycw6qNeKwme z8-@h=XpXSXdq=gia7s;Xc=&pi$H%ap3#Qz}fjLNL{P6pR5kEaf^8TLeQZyIa^We>o zG}(SHp49uh?~V`K?nL3>-6X^=6L7#GMA@a>APuFohQSmKT}D_&&H6AN?sD%{4S0=1 zF0KJ1q5~!z8)Oo@aMGiEnV^d++Ifgs@mhZtxM)#7sO6YJ4CADC=UGO*ImVxzO7DKdi*x#LNEqy42Y~LkLS>kax+0306N%)%EcEpz`G-p_66>m{NsU=z)!)C*#b}_UAAC zM8vMOm|IHPp@BPw_DQ?PM2R>|@kO_2dH;=0Eh&o0_7{dp<5T8_l%Xu59%yS#a_SV_=U;xjs5R z{$5apqEsz@xrs9zLZnYk^}HXpvzzrwgR=Mcui`_B!9)4(>d!0osnyw>*ep5$kKL+{ z+nDdU5N6E0hmq19zn7c&o^s;2e*^QmQOV;zcC$?Xi69=f$_d$yeBHYehdxdoXrKB$ zxqJ)J`NcS&Id%{KRpmthZ(hOhJ!(J%GtPC<*D4gfzht@0*QQ*o<(${1B;6L>MR}?o ziDi6}x|StdCb{zY567LFk9s+a$H=9k0;hx0JPXn}({3KGMu7rw#=&_;9%5ET7&K#SoCcf zjMitam?P5S+xB!EQLp%jC(}^eL*LBl+p*3TTp@~UP0iQ{nORoBohvT_n=aq(uo4%!EQE zDc@mHWBVsEw5jz{eLU|+AmgJ&Nv^UtAqqgG z?bd3s>A_5JW{$D(`I=*~2I^mrKxR2$x@C=$u^^m2mop~$deTiy4IG#VN{V?9+Y2)~ zm?{SNpyqnhKNFv}K=%N8D=X1X-F_JC-%SK>_r&gO)B?g3 zj&z*+P8Np=S%tze);TjaE<5j~`RouTE=D95{>(}=a#y(EV6MOQ&CgIKq{w}G*lx)?zFgDjyg8;ps)F-n$#%UdR zS?J{QT2#6%LzOlvwe1R^3R}hwBJTxK+%J5L!;2oiGHAZ@SNF>8LlT?W1`3uR~OGN>9Eba+wfBWUS3 zi{_tFHR6UFWt)-*4Z;L-Z$n|wK0`=QucfdG(ERtGA#5oYgl3T}lvRI2U+dB7KOi|$ ziQSj9s+R=cCKN+reQ&3r(-V(L8KU7!GjMmofB66LQL__Z%RIMhP%Rn*Q_7gUsYWVE zLZ6i-v&r2Lh6|XXqfdvR(@v@5hwj)UHzqiiJwSadt16-6OIFHqa0Y=|7OsvRU~Lg! z1E0?m9bXiQGu~B4D~ihA`OMGxkREVVFKj-*2nVCrwVBl&X<2>%k81A?W%adu72^Ys zFL%UU>dWmN%U{HqZ%M&N!N>@Ka7FX-p>gxWOG7*vpWFG3n2jzvH?q5>9zvFk7>@h|4nCRu=p7Jah@Io>&NJCA^v#;%omdNUZt(dpVTJrXFUOv_imB1*Xsbd} z>;9He(0k9Y(;w>U!`(7b*CcE8E=;#`M?GqWbT7wRJ6;J6oD`#q;n)yOy_fJe^6_*0 z2&Tu1IO29ORx{JyF(30@)z6#BzFu1PMb`d&Z3?3V5QfQP4x4G{BH7AqH{`8gK}X5h zy_kCZ6|hZW5)|xri!|m}R}1;nO%7a%SD;B}4|V8NpE_&(tG=tg>6_VI^ZmyA zj4^n}J|547r_s?75c_Sa?SQNHuL&$% z*2ad~!ua)ym2!aBCty*0ZLD5^NUG(Ld!zF$M(@_!%w?Ql*3)Z&xR=;17`FXj_rq=s z$HbxAUB-+qHBSY5Qt%SbUqA`nv@>NG+B1|!NoH(puN9TR>>Qcpn4`bezb=d>$6qwo z#g#IoOK|r^)A^YRAaIuyLM<#{1T1-F9*p>Vw^M{e*vzTK7ywyK32|T62lQm(Fs6@G zhReVJP&`Mr<^Uo7_-Iyh%RDOhD!%BknN2X@@*T>?My$y@gq z{1Z@D-Na7@;JezXZ=VIOv2)X~^_Puv{BR83ni>LIoe!kB1ULYD&o>6xH^1U8H$3Wh z-1<>-6Vpi{`lkZ-2mZ@V>$kEJ8}b8x6I>EpY4F)s`j+aRyXcb?#~AX2 zA{a3JjF7V+Rw#iQSPB_P^ElC}Id<$d#fysk70;p365*@l|1S%`EeSL5E-_cp_YS`h zn3HI~@Uxhw#9YBhn_Yb%m1j2qswuF152ito3Jz1&gY0k1FXqeMf(F!al9L@6L(Jc8 zIBBx`2J$o&l<}fHH#b!0A0Arvf?#W4tQ>Gmd->Ym1|3v}eS*Fl8xoU!_YqfceE*f| zE^-4N#MrQNeyOd+0~`4>3+p9wi)@d90byD}Axm7r8&tvfj_k+qV@6P&!_UXeQMn zUdRgR?DEB1H3{v0esNta=0?YstJ_>RPzYl<+f|yn%4L_N{v|oI7!h!t%M;1sLPLFy z=PQSMkz*`4IUlQQYn0*WjUzj$=HEU?6fbbq>^8f6ZyY{f-JYL7Li7f2GdO!T2A^<4 zv7V?3y>*^B7-!pm+bEdQ7sDjOYWdYN z45vG%X+JZs#NxW>YvZYcj8c{ei>hdi1hY!Mu7;Da7;E8@*(2F)5db>%ZX#b5sd5OG zJa{*@7Y?6p<(-}INWm>hZOX3(q~S_v6or|)MbG)MmMd#_H?&^3B~yyK^lb=qmT0^i zqn$myY5SXfBX7+6;|M>!V=RnaOR$-P@n1}V&_}E*tL)#iy&`sG8pXroJUV}?KaV3h zt_ip5j43wNZ7LBAX7#LBcgu&)MSU{wWcHJs^=QOGv^I;~rIW!CX@x_Ii7fs!E+(xP zvDvSt$9>dyMi`SR?@9&L_A8N)Ri=V6;aB#BG!Myis)dd+CSqH7fu%WtloFx=FWwMT zD?0BQ5G}{v>i(!T(?^pXg5dtAaQ|nYyll*@$nn?PnW29-!zPN-I0ywdqx8wMx0sjc zw!&MWC`)mgr&BrdkE4+h)`9-?pq}@)kB7@HDw6lBaMO`QY%5#aWc&CY;nrP+<(loH zpNW@lUVR+k_DbS`XWe|@mQ;=6!K44L%&ymCKEG|)!y;F((%^?Dqn{@L$Ox1@bokg1 z9=?2g=vKTh`eyte^ztuE3MH3|XB-o2XMDIjna-B2>jZYrqhfi87|OZ`v-}I^9gvTH z|CXoQJb;`gpz+jJ~3C9 zyv!>Dmz#>v$iZpK{pv#8@)iJO$Ye7wP7xB$Gbk@D7SIT+^*-vhayeYbkLOq$r853=MW zPt8Yo@V~oUL3Fs|Z#-Tifhp8r;uA*34-1CY|C;Vd3+dwimlo_?jXrxoEO{>e&lrWoIkuz=D9{L`V2 zB>os%b;rhZ6_p7%+@0k9{QX$KEv%Ci*-jHgb@|PP_$t5LpW3Dp(&LlY97jH^346Kq|i}iC*wO#{iGu>ML<;y4id23J-n~Bxe-PSY*r5$v( zZLQVs?;uaA8jC+u4`ONZS5ikiMC<5OmzzGVqYF97#QSmkM45s%d}rdQCV!B!ru0A) z@dQ|;Ap;{|HwoPKSsQB$C!5e}&+r!VCylCFFsK(A<3tA!N&A7GkyHRlC^@Y)tab5* zLfw^G_%%4j^o@E4VLv7Ml$jYPkC1Jmf$pubC=Lt#F6_rl^OHYw4smCxPO@;RQu#0ngGdk$ z`Fxn=K6S`CxKjyTIQuB^X%}X}R`!%KX^S(PWE!MF`KXxU{!1`$mcRhb{_S#d#f^h3X z7uU+se1>q?dZG%Wo&Ta4&RAubHWhp=E|EC;W5#X_514CO0d29u8NG@$3v^zasfj0C zONKY!s~hOVHH;+0Dx|CEKto}fq)KEZJ|0oO6pr~hnh|dj-JMXwPzXSTSb1IM`~1Qf z`_8uTWe^=jGX$BeKTKr+WfA79ei^iY@L$`cFQkx(wG9n&a9j7y-jDi>;u|r7Snx1t ze(ZTK({N|v6)M{5l+e7U=|+{WmPJXo^0yO(`&~)F+H;uyF*tF2;WZlA46iY@L3^0l zCYA%oJJh*f5_|4VgKF@+Rw*fB0Qes_AsTw-p)C_T;9+-fICx@Lptr)}iHmWp>=-r_ zMldc(W+pY~cd>Qtad}wgTT4@rZ*Q%J> z3PCjqwkAQt;IL3EN&gC0d&2<-$Ko%Xu}%dE>Sj2`y>&C2i0paH zulnn)vVPZ3CO5K|{<+N8hb`0M?n|mmlZPURf_E7k9-Y2|U{xx{A}Kt$;kcXY{{Fr% zn8(`Mnl#vd=Lv04$meB`W;fRR_BfEVJl6{qRsT0#E*_>AG<0yC_obibeoEC$Y?4uw z2zjDUp+?P0APi7l1E{g{b=m$+e4wp$ayg=p57VCpX}Of=fByA;d6E6<``s<*{V@7X zLpR@2KAZoCwl=oS%ZB$QmLD~hVXCAeBh`<@2pt*YJV=GDA*3vr#Mr6$i5z4=cxbw0 zlT{MfLP1Bd>JBwXlSH?zEd9=QBmI(o7%8uy*1a0jmP)LHIHronHGfW|7fyvpUVv2P zUQown(%}_qy?5$F5K;Cq5-@v`E)PIKJ$c_1l)fltONG?KEVr4?yfL&rbTm;GAMHy)tv43vnD4eq(Z^?prgX#0p9GrJg1XGZ|mk#}51 za}LVqg@f1p4)B*T>lQg83@WkL&ucI8yj0DKI`WtMyxbirKkN+@4Z3|U4g48#a-5qO z)4s!ptYfrrc71#5xX!k@wCj3YU0pQ;M@?OgGNgtg;{ymSvj@KV+e827(JAhjz=K8>-R@ z?($e&6QsquA>A2;S`_Itla)loCrYHBm z(JK8xpotUgaR|(awD%Bu8p4&8$c9OT@&#AgZCZHhDaO1)fpwbT?Kt z5g)<$vpmAu;eYOkozy=D0^u>^rSZw33mPq+ zeV)SzvG>b`tW>4=+gKOE_k)lp zYf0Q1+(|!N6a|$6jvNdONE9sfXuyG9$=F#({5B7^>D;d6|FyKjKOy+lW&=E1ub0x^ zz8*H~PTBvaf|eM|$`&t4Ne#d}$J+*B`9x3&vhwts+!%S3H51!H_iB@acYMbsxZ%jk zA6vb_GhyOPa95T0!O27ew~{P^&{e-!^W17tT2fQM z*BStG31`-L%zDr_$3Gwd>7L#~HC9HymYq%LH$gj%rpdSjiPn8N&nryD*ZD@abFZvD zr}Vc9MdR5w2m)N=$eF%~A7VPQ_@V5e6KQQL7s@jV*?%8odfFAH2(Y+s)@4}^vB=pY zHm`1*94e@P>~a1^lDHgG>gg48&W0quBri5~ev{`2)QyJ@CZ&#)YB`I0m7#`d7(39b ze>K0a;yt@xA~IQL3_*;`Bu*=!>6=0REkXC1dY|i2)BiRG);k=hBD$$&&2`1b`1GBI z6zRG7F-Jp-kVF!<&BOOW(d|D#Uj?XOe{*z>2^6;Uub%4x4d~_T9qZUq%bh9{T!zS+ z+!Q@FF*KyF2lp#Fn!oLv)ftVUWgWEx)bJg1+>;vj_FiwgKCeoIf%{|Hd*X`*EEMmQ zHEb$?^4i>%n}*A}8x^fCsI?DGgN3UJo@46?L^ghh=A?x|&?e6Z*n55f}uD{!L{~Iah z^)V4%Vi%e11w2-3?olQluQ_2gPyPCm`v26XNy&d%ld)QX-`7G3;S*3^$2CzwsBu-P3fDrigLA3R@w09F^lAasHTu{$+DC080 z>j6gbSSOAl(B!ytSl~o?!=mzKvWnf{sT%1ixq-4^HO{>427V5o@ia$jj*aHgI2w$x zu;X+*m~PalgYozZ<}PU&w!bfMR|QC6I3U~ziw%8DU%p4UvM&PAW~3hvMAj*S@aV@+ z58gzajx&ouSns>u`QY-93BgAwI)?gw!Q?YIY9F+x zv*bPo2j+*gYz~W97k9T2(qRGOxn8rEHeVl?g!U@2pPY7 zj>CJF2~oJv)lPIQ&%45y8q2`U63j3MFhr%8q6LfBHXqLFwf&>6tY_Z)YU913t*}Q z(tEH=LvJW?fLTt|xhn$NLAtZ&U-`_QF zhRtF+I|Z8>c%+oPvEnZB@uCB!bUNXu6p8;NxTJk-cyuw)k0$x!Je{pJ(=#TA{@LJjZ*opN zv%U(d{}Xt;jFf?KPB_+RFC4WZX% z#nXu72&c}qmv@rUD3&fLTp;dO#L75TpSYLc@6CMX8CSSR_ zr$Qd8KXrc#cK0?54{_wux8~esPEuO5BIpN^A%eP-P{beqi1! zg81O41^M`_nS1aQG7l?6A);2^Nx<0p*$sisF4+}TN5Z~I1<{QK2%Pwm+L-`4jZg$32JIh!5Ng_n;K zC_V>8F*k>sFW%1un=ed+OM&A2cY4s+Uq$x1#lJy;;CACQ6P8FMvRV>RLcCeR1g;BS zDRV^xDm?Vj4Ox0}Ki`Br&uVFk{{BT93&Jr{>_H+tf^@0vCh;fSBKCXfLPdFe{bt%( zrW{K&mCp7*JZk^ATSDDWuW3Z_-_b#C{kvBg_#n6V}g0YtS@a zy;AjLD)7~91|R#Aqu?^~z00n9J3+`qv)K{_;O5gmmQja~gHJO5YoI@sZ`x01A>48w z(D%P8TxMowOBUAYwtdu>#Jt&ZCF}NZCx`HuKL7s7t3a_N8DVf@cR;C5g_tfe;nz9s zJJ}}3CNX_(lN8s)x zmmt9`Y}wK0j}f=T(3gCtd^`Flq2qg2 zF>h`N7YbR355=X$6Mu|Lz3+worI`|`Q=qKyIpR7xJaEHOon=^US%6BkRx(aGi^Z?4 z=oa|mgretjLC@!Xk91FM=KoDYNY$`HESbpR9!7%hk^lVU1gvz~v!(s^=O$I)JL2WM z(7A1pdj|O@e?Aql0PN%&h2VXJqLTCB@gqt&ymC=A9@72aTfxq|v`M7MGZ5lI!ZSgF zh9ktNpm4XwLiHx8YRTjjwAg6P&oqYe`}N?aJG7%XE}BKdeN{*c}SJ`s#uc;cYpO}7%c(6-ws(Pan9f+5#9=-a#MuvMV(4TB~RC6uduf2sYnzmgCIqDc!Wun@)~X*6Pcl zGDkRCs=~w|k#)JEoOX=Fz9}!$!j6wP2@baX_ICQoG$yT+r<;K*{v=^qzuw~|d0Ztv zF2HI|7iC68o$sD;gX`SpP9iN(fTr7DTivfI#>*Q()zgM<*pyta^lys0nK6lDtu-sn z)YDx9m^hzxbr|ibPFmX=r9R|7W$~|1!_Po(Wvstq^v1@eD2vgCUtc-W z$z;_5)80W2Go8>OiV#})Xykqd19Qq~xi#bdP>w5OzaEuQ(c{mEU+r{ZC_4iLII-;y zv1nF;YsLKO{`Bxd?SzM)VS;Ne!q0>e{%3Y9BTN`vdAv7W3jhS?DT#dRlMxbal2S6Yq~3k z|D(uLH7ep{Dek|spF)pB0Vfk5jB>CH+^0#S7Z2z<;VMm_Axh>wiNNnHy^-rYRj^)m z;ZtG*C?`6Fx*Tr!OXvBI?~;TEbZ+gD)O(FdY5yw@a8FIY0onSrBjRj?5y8d1uU=t4{mP3ss|{zDQ3XK4u_#B*gP z*VvtMd+sHGs4Jtq-y9K7gPw0|DeJy&_#qx2h6GM5$z?0p3vBB2jE{d>sSDsAteG#G5`=yOXc! z-G*J}j()>Eg6~Ik!*@CB-lk&=O>-B^ji-BHs_-Y?r`KcqU)9%(?oY`0$ordg0-;dy z%>B$TnjTc_&YkvMDCQ3Kb&Ej_)#qPeLn{DYhlNx3yR*Zer9Pa4 z&;oY+e|VX4lHg!+EPnF%+!NWIY-dqtE+RD=wzKrsKcy2E}V9 zWg4{u4^&(oXoC!eZ+XcKt+m`4#fFK}~LH z%s~A@zUKav{Vmi`KnBdt7OCRr;D?VXDN>VJ3C!bzTSc=q$uOE%d7VQsb;Uq!-gAvO zxJ#M%fCCpTEWBy|Vc&&m7MPR`%)^H3rXCR}t4*woLjT-J-)A?=(H^T93Pc7nVq)c} z$T%J_}!)xo;iv~RwwynWuE)Pm=EDB|Lgu2Oha&4RUAkKqTGLj zR`x2g+i06bE8?9Gq%-`qxAnaWH~6$!emlWF%Z;?a!2P9p+CHpH#y0+op8fW!C!Um% zfkCQV0*#0t3cVY&2mg5kz0TtL(E(d$yew1px4gH-gz3Zi_dYm-Y?5Gu>tSvA8-9`- zsaqY)o$&t}*uqK-mDDu1NbpRSYT~$jnZlb;S5%~h{g{%!GN`GYNz$^ofg|+E z_k7{*kld*mlu6>UQ>6M`Vef42=jf47IF`P`Tg@D@Dp&TAa*p>cxQK`U8&O7y#yCa|igHO;TD{S16p!PBZS41DVs{zxKx5NwA^SDx-Db{>_2 zPB5`DH!p>8e9bIHnvI2`8DB6k&V`nT5RYZ5rud?*R>MEcrm!S9Mcs(u**1U<%Xq*p za^U>-WJJQL`YLjpaH(XJW=V7&=I8j9-~BtYnY82Q@?UPb^Ph!5(ObJniR`HbkY4Wz zdo%sQBBVF^9Pw{|G)RH>XvSLA33y@5=YM3HRZ&f_0m2@%3FGQ-WeB}5mXlGZ&505I zCAeW~hQUJ4oYZI7m`1PKq3hw>vCY~=M72Jvx#JfKJIgo#~tBJs`!ar9_EFR(r*>Srqw{SBTvd>)4~O)ql2gCTE&^K(Y}d$WA~nnEo6 z+qR%AARqvdbFFgR18cM{(~7AobJVJgQdhn!DV+E0ztk^QCb4Q*{QaIDxKQM~FAe1fZYITVwU%zCMgs&vqziF$-lg*7XV z5GcWkYkrEHhjX7d+c#%J@;4-(Xa2()euq4!umX+G6cePWA86>ipsZdpzLn`%lEjCx z|6=t}N#D8c{9w(Nglny88MSManw5I4<{SZcUsVkOaR4;_d+J3_R_HFm*A7L$Y6Wac zMQ(2eY~4RZ|0#)yg!LejeX!s2htHTLtnnN#ALeKz?(C9$YSR9>217P`n|^XjK4N2H z3J;B8MwHwxJN+X}G!`vRm>|GS=i>&;rT?e*emMgRFub-SN|gsLQr~~w zwQs-iztFRTZ^0t1XXkFEpmX7m2>Vz?QL2VK;48+>6&kbr1^5q9h=B~kRAgEaA$Od} zS}vDeoocESJlQHtaHFCwbZY%_o^S5^qS{T#pw5W1vcr8atl~*x~mqIT36XPFwU~)Z zbObP$nQTFb5_Ko>KDR0ff@eli@Et>=VqV=Q_`Q&bKa7J*OYZeRP&uXGB^~i_$VIN+ z53@rfk|GD56J=QGuYVH5exrPKC_^1eILvJ!Z6jXxfpf93sCQu4EP3Q~i3npD&I%td zuO;q4%7&SMl+2q|AM1>coK=V7tRco}8t#DajatzBD@MEiD2CDj~ zc)8w;U%`~-c`=;C7mZMWv2ciWYpn!Lkxyxdw)SMJ z(7f7mlhjF5H88Qai}SK7n$V8lpvmBqz-hw0i*q!(AZj8d2T#7>MzEmawN%dkSX43A z(@xJf`^Ah);_#PnX9j2jC{v4sdU8kndNxH&42`7fW=;0=UAP+YK6m-BE^V5*Q$)whX?2IBR+xOCN5~B8qoJuZ@ zEdNmBOMSnDk|cYMus>Av zmD35MjlCyCs!mZ@IPP z*)S4}j3a)4OrPcYwMHV~^HW&yueT_O?3KUyuc$gVQ!3x=!6>KgV-Iw)3yX$v@c`#E zY-+rk2Ljs;<;Tm5w_}<@vzK0Ks#uWsC!MnN+jA@_U`(e6pREHA;f{ME6}9`t6|cOq z|9z{TjXWIOiO{}rT~T+p`5}SdEW{+0$&#F7b*t)}^IGMf82JG0bkW=$e-QJHZ^Z{v zVT>8Cf|sV-`GI};dV*zGtNCM-?-`VIlvV%JO&3`uCU_F`<%P>;U9aw_%Yi7a9E*IF z%e(AOAzMS~al)pHbiE!Mhtb6R%R_ZG!u4Y95#e!8m!+KGfBb&IXcZ(Fm(RF}NscFd zifdz1s~?%E9qu;h55(SV$J--$d@JC8of%1|#zNtpCc>-j{CD+fo}Ijm$rR6=R^xl? z@S(nOyWx(E_}y!Y?W|X2r~Tq39b7(}^pI=+cG&JHLqY8|e_{ke%m!Px&Ky~|v+6vr zwnX`syp$#cF9|)j0^v;;C$j7O-jSVzqz8~$Iz$lpFavH6{{^FFMdOV4oiQ|m)h*sH zPsXihb+Y?$-7hrkP!3<=?)gn%vh&>$gU`*VmvCx-%-)fAY=`gf`K6OOB|)`o^2b;Nt?=aDIlb6IYQ(|SIZ(>X{Klf_Y;!91{ZnYR0d=Fc zc6MMIxrdAR74Gq-pfhWLfez%OE(3)~SI%wR^P8i%6HV|L0rQhp5xU$aTLKjTX~mbe~ubsGk}#bag^bw?Ng5E<~4h@ye(}jh!rH8btgf>6dvfgw{zke{Ki= zt`41?ECp`!Nv|~SO|y<9$(b{aFO843lS`O89byg$#QA%BGi}v9cA_x`AuuZWXcVBRu5|BlP=1= ziI$*Y0jMQTUjLiEhwe!{Y_TAz{CEEEtP8)`1#)=i_M*f4qcst1>W|K}@6x(Y z7$}H+h%LAYH+Y`RIIOx{Z`bI$`PPs<_ZijwRxt-B>G4u_JT@ZPw<66DHdq6h(wB9o zZ<;R3_eU#o0JX@8J;{9SWUrjt8w|`?cgIH5a$B7{)hUeQ&dH)kUZc~r*`{7A`zpR< z?W7ovUJofGNRUCEAOAvcc;k-LU5c$zu*DT9-NYdDtiwH3;ur2 zd4JuXN^q;{aWq=Wfg> z$FGe|$h-9?{{FxOh+J@yV4F{x{KXWhVZ|6oMriGU&9k z+c^1(afIAoM%XFZgNS4GlU1`Wy=L8{Cw}kF-SnU5-S4dm##(A6?N4z|eo9psc_qXV zn3&EdR-u60NF3DD4IiO|0`SO=n8}&%W}K=>s@ARWw$$*2X@Yz?^bSX9wo;a)cXXI^`nInWG4ntPaW2p0uKKaFSi+9T)u zap6lG#k0QL z3n=04Dly;5W6wyVkoDV}V|UVdCmwDFWvSE#&<%46oXY@i;Rrqs6XGSfScyaeEtv-i z&ePp1T&KS5&swB9nZyFFl7dkg({LGCh3(BID}prVW_tV9En5TisufR42Z6c?4*L;? z95^pWS^9!Pj8~)T!QRiFL}ZSt@EX|^g^Jo+fep!&#oYZR$N`VZrK>x|Rb zin|V4XKYh@>fhTs%NeJm4){@jIq#;}6rpaBm`8+=VW0@_5Mpq^^OEo>s;wqH^8m!gWR9cU?XNG<;m1oabjxzmXW3BUCQ1knr4#uv%N!D2{l zaDwZJwGXLQ_Pa*>Ct-LS%MRzaKF)`<8{m*v|;t3zHI&Mxs+Y7zWU!TJ_p4(@- zKkU3dZ~VQa$HXh$K&gPrtkVa&>ri$M7{91QT zKaVS)@6!e3_j=y_X~ioxkvRd@ABKB8UTuIgv*A2w%%!km+4Zu)rCgpj$nFtcH@{(pzr z8Bw?91q%4{3u9uR=9+V05#$!!!k?mEoe&ihKp;i{ZioGPlU~<-l>;#K{vyZwfv-Sq z02UX=6~UbCw6Op&<1BZs0fSUDL|bwziow``0MP|OWoj)x4|7)&$r>+}A)m+=%Cm4# z2ve8xDcGSPj2S1XaQoWg`R+2M-g5?_a7EzK+TooTmfVk+!f?ulL+KA?Owk*?9}3;U zW?{Vl#_2XVQ-mIidrA?ZRq^7V{y z`h3;SAM0i0Fmr0J6E;!1gTd^P9+U8=Cme7hHcn1r)LUk$k7ug%dVj+cpxger!@Y+1 z)jJ@~VDQdyhBl%s?FWXG?3}77#DNOxwnw=VgKkMz9a2JRu!uxsaXwtfU}9>$V?4u5L)k(eWF+@{~> z=*(XQS1!SE(KwdslG$`QJ1u8oK4%&16f*ln)2tQQn3Q`ZsvqX1e^au^P^x=*2P%5&EfNRbdy8;OSbSn3nMG~ z2Ujk?C`ila(#qprioV|W@>BJnjsK0T3gYZ`eq*!rVs`EnC%?o9Co^zh%W-&@fi>4p ze`s}~tgKe?3W@@0&xmBGTs+fk@KKmzq)UO%arX6VLzZlY8T{WiofE?cxv4m#Ln&eS zt48IFCLcvE^7^H2N1gzYuylk<9*8jFpfY#kE!?4PgF8K^x8g^euJ3$^y#MWt1A9En zrjLvf479%`_slb{*6>344*m1BGBGEsxI)6#4HTH$Ytnwvc@oFED9tyL1q$KhPU>M zk0X_L*tcZ1)OuB<7We=Mt(dIAP*5>2$T#wItQhMb&+22x2UDqOqn90!j1-6XbAM4K z6tKSCD8sdA0$Rv;9rBF_rEV(DWG9_#z;2Eg+kOpEQ;IsjKCh_4rge-+S}s| z+s5V~ja3hCapu4StwgRA@5s?T4Y68pSBJu$KB-+~kT zZpv@OKDk|)N77h|u|%B1q@gxZY&gnwPMSly<*N6of?dxS{qH3cQIaD6bAvNsgL8v=xQOODUd1>2;5# z?m(ouB}{8-^lggZGa|-|zSTk{mn89J4?kwuoVU^gd)_N**ndK?`*!d^NLS8x45&|Suuhz;!Su5EU@n}`#Y zWk#>+@~^PEhq&YZ1YHhaXA0-#M49~3WuI}3G4L}TY{VoHBKu+qr^1miA+z9ft5`@V zfF-y3;?Pb0POw2OoBIY|Re$WXuS6$gA3b(jM|1Y!qu*5(*WW{^>8dB>vTaf{8 z^nHKxGd9SdiNzm8V<*}@R24UTL*g$w3({VMysN+|X7YZ!VE?Eio`ymnJjXV)X zE|a;DRiI_-x)qcZ@ZXLIn8!hUnhnM3B6ZHCm=_7ch5;(-O0%UEB}cqkRJO=zDMp1e z)bIt~mpx0#JZ`+AksUo=^~VL|Xrx9-G57o`Ld3!OUN};bN}Cfo9*>W}pah>2^UTtN z=_AUM2Xp)jAO!)dt-gn~??U$Dg*eW(o{}`Ul~WKUG#V~HNWF=W0j|8J@;v;e;#~72 zwT{k6Rcl=bxB_)xjU4~I352%d22BP1&%2Cz@M|`ShF?n4q65pssBIsNurXGLX_7rv z@lEEWh!xSEOryxa&| z)0!cti2f7{+@}0>zpRaOi zh$Lq_F5*~ciE33*j&1!GBaNnDbhmt?&ma>^GaUK)avk?Pm$m0@Y3rhUXu_U8C158< zV4BIndM`hku`j#7H|5q59(|ib>Y%T&IX5=h{?1cZzc9`X?YxPMnDh%K2&WqTMN7N< z{&*e3(pd98`;)ryHRo1k@*^ci-ahK@oR=b2!Nphv+P{G z{S~il^*z}j`WWVt`*VZmom1}T$U?)3Z@-POa*VLoP!XH~nHtrCWiTs{vqK?>pF3y~iL3zi-_I@8uZPXVtD>kV z1?!8WAcTe%#$DiHqQOM49V_}{r3DTxamUWQDWD15?Oz#GCAIdru5bKST{*f&4fA)9zKOxFSTE0+tZKKnHekHr zax|^VmiGbo@xIOlo!BMv(crd$K(o9=mGV1V55Gu33dY6+2J>?$kLdUAje`d zA)U1<|3!!D+tii(@v*?oNev{0KF6wBlA>py%is=EE=7$pjG`@a7V>E30=(jzlsIF> zB-Cz}LGRWkyBKNz?q=N5Mx6@jUn2B1_*+d*+>VD7vSbPt7$}ORdKO|u+O)C&$`hDe zrti&k9Cb+}Vg#r>h?Z~4Xv&k$)v%wm^1d4JIO-xbF2PwDS%c2@*0%BBo73=L2u5_G z@D4s_-VAenW!x+l-U`d;U*m+v0L$X-ckYA{X`U=^R@TdV7l#C= zxNDK(l;TjJNN{(j6n7}@*2`~Z&As0@cV<0*B+pt|`R}~%K4yc{o~Ylb zD~BqsWDA;-+*XC1R~3wszA6-E!=ZK=*M&G2oN1hcp@4KVHQMC7B~%o+fcs&peP%n@ z8mtddHs~<P6u5>AjoOzC%oxUM;yvB99s=6dy^#w>(Q4I-P3uqC}F35_`@sTm_~|gy@*YNhRFrW^7(1!3FwBV%7QD z?--oY7~~L8@o5-9WYU6xQj8i(to;hho9IIu-PWFguE0>zak!TwGBe_$dNftT7t+t* z86=!Ks&N)r8P2SN+&cOm00@rD1mYx=SqX?G6#M{p>t;y+?GE>;qn}6jF3TJu-8)4+ zN%Dn>(NT8@uhoJZy}OBn$`tdZA0-~%63%@7-gDE&W*gAHfIE`-RVP;+y^kl`ys9Lp zTqCRJ{KNfMOqok({oBjJLJa#3H|I`90tfKfg)ZQz9v)r1r+Nd%mq&Mpm|J!(n+fg` zyD7gLB@Se~?W4fqfW}G2)h{u@*;?qU6A%Tg6#jk4?ZKCvy)R(L8@GUyb0xv4AvvT> zsoG-DG88nfbP??m1`DpmUX^3(kVR+;v!SQj$@h0p>!+q=3kq6#Dn=IpxBEE>&DY_7 zvM`>NyobTKka^& zmD!nM@Y`7$8>mS)lkl@%EA%h9tNd;}{Z=uHL~BL}^u5!+D&J{FFOJ=i3u-V!cS$={ zj`(G&$ZTAZRr?#Z+=Jj>*I4RyP(Y{W7J`5P2dzlYmf!#@<{r%<>URtBZ9~Q{(T#zu zHzTCFLFrc?+jMSyQ7?v0f%lq?z2l}RIYh$r$;!-DwmY#O+|T-`ki}GF$-lGv%g3!; zGA-RFcBWms(7HB3JxlEsy2>Pu%Lh1gj-05obo`$&Egw&x3Xfki?q&G`Zr~n9XEJ4} z_2`@?UaFJc&HxyQZAEi}8P=zENL}ACAFN948bO7ELyn!Vp@g)*-6Q*W7h8?I0?DjO zcStfGbBEEE<^}Q`Ja9_RywhahN(PI10^pJP9)OtZ4?zziOXszni3_6V@Jn}n@yK61 zQoK&*-^^a1-sJi5e)u^B4C(+I^~%Hk<*ZlIL3Wn9p{TOoHU`4l?FrVSZ`z7!r#+-g zEt_3zh~cUhi{IF}s#{~$uXisi9uY7RScEg|8klymxU@-UfUxr;*weXZ*L$>}gjIVf zNU9W#;wh-A(?xvLjj7%>Cffr57BI8if_KWC$XK%}Jo+EPLy}zdpsxB06g638%7TDy zKX}oyv2cW7#G|Fh7FWgOXkYYI=`G`Q$IP(mKHr#3p&3z5?p@A~+V-51q9j5=hadXScF^t6`9 z7GWthp^3$jX;;nDgZ9TWm6y&K?+i%~n zVyLbhc!Z^->r}vDfZD+jq2x^sZ^{RbE!kv3dJ`(@Od(CDtK zKD-Ibx>nl-FVvu3*zwfB2q{glHWvPNn4T4;YAzVz9)mgLDSSZI%GUC|RfQd6k5@BA z{z$_nP(Q7sN$z3w{fA}iCf66<9*>(F&ynr)kGkxXEk`oM`MSEW{R~`wHb{4Zj)zFekelb8(7dFt8^#Pn6Bu5FF?MoCJh%En4)J zTB;Q>$PjcB$3`p>^nkJb9y#U@{QMMZ`XPc=+ z?tM{RtJ@{GU;lZMy7oMYxU;bO%w|{i4UrMq*c?FZ8rq%0@DSc(c*m3ZBMS6wpZ$JR z0{1mVN3s!7K$QujU6Kb)-T&j6?({U{?W%9PCPRVz?$Bh)?Y7P5P9__BRkq!l&BO^g zZ+l5#%k$X>MclceevFLrKpel-fM3VeUI@U+F8B`r!40n$zXI9C@?m-bfWCX<3dxUW z@%;viuU4_gawsI-ox)0aQ3sKyl#`^~G5d|dN;(M77d?t1U})vl4&beUxQ)zl(f zeBEtH^`%shatT#gIJ|^)@eq7EPEPq;=`tbos^xQjiamacop_kdD%g1Ug>gU~7~h2X zaG;p`k|jFgw{}}P?RU*y;lp9|<9aQ?Xrx9Y*giRyS&PCk#KU+(&DEdqM$s{8>)i{= zXiTAt=>^jtli%YE3Rwj|b{jEYOe8N&PihCB5s=5-Mq3!D2Lv#=cTWt&SgM~Qf>K=v zyW#)sg$iVVx~Id0W5w7^n={l|`9Qj@4Vzq1BkJ`;IcsQyi89=ui<^nIB%@*QAx3zK zY=j!EKXP@92~`Xivyyx@|`Xoa-pwK&W4s&;-1BP!)9i$$e75pHBQ!)g8y z+#;gGw?VO4uJ2}jb{Xpe`UT?Q1ajCZU}Z2e1&#~>1wfXUBfO`uo`X|UtkRCuL7In> zUN8>AVY(={!dOi~<7gB*$qR^P@atvBd|%XpX>tl89Q@#Gp0@n;L<)3RBAQr`GeZ*R zcm!0m;chD~1US$w<5H=~rHA2!)ME_ihn~MP{ez`$yz!s^9Sn&~h55ztqYLb{_mOV)SE`X~B7!u}7+B+PzMe3qY(2 z8|5I`5W+VQh7Ap{V4jt97YcV#39hI(zaOC;B`n?{T?{!;u9sQ$~lcygrryr-Ht(cM20glFvYmn_%LIhC3} zwg#HzG{zpZuyPohC)7C>K(_iRUF-%PBG(DOKFUAI*dtVSFKt2MaB$wbompLO5%q%J z2~hn>nO>~w&y<0V+00&6pJ?&pZ|g~|SC7dGVgwQ9koSl_aVX(0oxrt>h5iWDZsdU= zwsHsOr@dc~WM;lwO_am1RIf6GwZRLA{D3Nt6%(VJI$P2ZY8pIf$T3}N|Fb~K4VrxjymWUo&+F8_AUXw`1g96mDM&&!O_f#^^e zUA{D^t*0{^jh>qm6u)%i?W9tv5bUo@4gx3?Qjf~TML^+2W=E+t+|{1boV%T~Ip#Es zIIpx9-eln}+Dt&;?o8wFnkW2&x6#At#ox2Iz<469O|LY9>$se}Y3>{e&ocv_-nOE_ zl!2T4r!iilz3z0k9MXngax6E)y-GrIx7?0JjDAf=KZ>xcpIc%RC{5%Bub5K_cmm!k zb6Z&S|F+ji(ksdccHa{1Ni)$%YY2%p5Og?~f>6S*CYS-uSfxHN_S9;iOEqlJ9n58H zgACQ~lQOu9w_vqM_E;4}au{3A57xE@PW<*=OaqK^t=m!u_mbQV0(mHawnaQ%)g_FB zL|KPGmjjP4Rq7Hpe+(K8W+x%!JC#kS*$6|GnDC30g$LT^74`r3nV5%;`@kv z`b7h;AvJtr>5z>h;@1e6+8@T(NAeeKwyrCIPuCN0H{FIArY}ie@8_ceVwmFa_q1@#(jTd_2Nl`MQNlG4$Th-u^81nA>zLWnSy-eh#3(7nl#yE9$2m3MeqiV z$&+h@RadZ&&9olk9`|sF`{d}z_!dJE?sD9WmYLo>cAAj0UDEPrCP)Ma-2i1NXipdu zZg#_nC^z-|xIy^57vug#N~pN*>21p?`DvnZc2zpw4N*?8_UnMZ@!KQg4Ln&m0VTjb zWkNDL0Yhq$4~jF+HBEPxKBPQ!zBNFbC?_v+!>}!EZHyFLJa0-yKZaGRgwMsrwZg#A ziZL=Y&KC8iv+b+4V8npsEewK3WikJSH0AI5CGQUy{ECjwLS~Cw98V0GpMb0g6|=Cg z=Y!6g_eSWrxET?JCud9X#aY@Vmqu|v<-nRChJcp)(xJ6HpiM|Cqry>~pdm+gEH{fq zmcy?y0M3^3!)a@2g^u^4yIZM6+%4-*DTMV717%^M%&G zSH$&t`w>+1yguGvw&cYX13p)!eJ&Il=QmDa`ciZUVi7Auc0A<_wKb!XDQK)MR?sDeh$ro=Mn zSSj3(r*>Pq9*N7{to0&UFXxI}63F)0u4ctM;C2~khJu}8u4TM~qk+c-YfwQ?O}I8LIs^b>JO zp8;0wL0FuwGfp@0p~Q|k$c$U?V!!AYzkT-}1~uik=!@cA!2|Lw%zT(w4|N#bI7l8zD3p?zu0~^Lg4|8Zv}7nDEA_Pj|qsY%H*T!vjy|m z8hCA{;Hy*u-Y;^|q25FYJn@%Em;hAfavuh3>XcpID1~o}5$n2{`tC=Wnt5p#P~3ru zxPtHew}*RvZ4d9&CM_bg7G+Pe`vdVM#4eACl6b86vI2Y{Okm{lXB%RZW6nIHPnWV)$U%=+E+wB1ZC18}yg8#k&JR?0F7!LTQm*v=RQ-9jZ+PT>F zqD-Sz@+d_>yn4=2-u#Vx#*Rjk$dzI0@MwuL0hhrNeU=HkELz#5h!4(s7+OZ!bcULvh6%{!+ zY{mNlS-H0=z;F9JQ`XAbP2r>WQEXCGaJdg3Q~7%(dY}hRCQD8Alj9^N`NhP2?+aWF zm`DKrj5EeZ&sYxwGAr!4pi;j+)k?~S7$_Us~;kiP7pf5_}`Zp@f` zG1=@f`D9*%yOP1%4+#2*J;~yGlH&@OOF-9#n1>E=_g(TF>?Jd$|Ex zUw%!L><4od=MW}c>tTC@{VNy#&v$=h#0$!Zzj8Wuo5ns6G;iKY zyIjI+b{3n4su=C`VDmIY&8zwT65-*xt;&#SN~IK=rfsWz_@^4Y`^~vsPW$^0yTTN_ z<4Pa6M%KiWh9*bhHKOm0mCAjk|8&nAil~iU6k5TkGiReWK2b=pQ!jcco4bxAwcCfc zY%CGfE+k#hjlnCrzp49J3rSQIuOiAfPfp2Xav(S_F@o3N?-amz|4z5dIef>p2ijC1 zr&fNiXRNNA!vHo|N?=>Xw`da7U_s3ywXN383QNGQ)J!_~?d^HL1%S4(v<={RFw~gk zY(OC6ymA;;dO4N2V9f|hKrvDgo^mjd9%#F98OYb=@Z$K{xXvoBhiTxjNt=d${GEq> z1UxqPL<}BLX=wEQ-4r-zsn)f;sw^dLhq)+RKgK_A(~C@F^`|7W3(B&e{Z|#L>|~6; zWZAD~c7xvl6qw}4X-!BFZXOPiC}a`je1hHTmCh-__I1F~Pb~>&NCaSF5Z|~}@XjoT z8OTGA=8xjAUT}9H?&8m!4Y1ic?K}p!* zEHD1!^)IZFLaZ*)0Nq@AbH+4LL!qlgKz_9q+?d=)ccD-w0*>k-h-zJP6+e5w7=vVC+^hfJJWU1O1 z(zCc113kT7U_RsS`|rKke-1yP-12~7cLZSz38OY2-r#ee_ccUYUpbqR`jQZC-ODqw zluACCX6)MN(weiDh<{;2%Y4o6`hI6E&Rs;}X}Is|+K-=a#5lGWxkR8=Sdwf1*X+Dp zoIEm}T4lN7dC!g@iS39uFqOM^iLzu70#Cgy36Q;IgzMSP4%juHV)UWLket=s?p|Wq zM}wyc54+>_V9hV%iJfdPo981Vb{U$qOxw|j&NN`xa!zp4zkG8{6TP|J*EUZ4(#B%k z=GNz-EF7IYeO+-Nyq*IqAaM^TRy(JmQ_pL&PL|8h$!k&Ty(t;2rrgqHq?-n@6A3Yc zhZC0r9K!*%=vh^lBWEA?xR0i8u%YHNOo5d-8h^4=aHTgMXPgeW9m=elEzbP8HdZ;P_w(7%oGt5 zKji4ga%Xo=&Uuu}Srl-k`|96D8Pm{pSh!?}Z)62#w+#J)iS&nFa;8I$Ixfhr**c~GT6r4TY7LC!f zol)+heYFvq%LMPgUvJXs`iRAG%8B{3l^lNCmgV#6x<=x*Dz2k>OKq85n3+RHo|&M} z53ko@&8p;dc~)Y;(BA%Nn)HiG-u6P-LQHIq;=OXfyJU5U6DYQmm`tlYn8leneW-Az zuB}2LNK>%ECXY zhKvPaiV>EQe?xkJBl>C-+AGl$Y$x-rETzf`TFGcMsR2;yBC$U_ry{S9WCM9lsz^La zFI#UMd6r*wpWs&Zf--kPUemLSqx;GZxPPsi*?q816Z<^5HTg4(J_Yei5ckbGvaw!5 z1U^C4;ZSn>jPNWC5hN)0s{31%Es1*y;K&z^k%8nEM+uo#&+W|@^Tedeu#YT8H`x+a zke2)$AL08-A27?pDr;8A@l>ffWlGXPcCiEMrTu-q4n3#n4{BB-)9&1wH0z?$Xt z;ZSo*eB-@^j`5Ni_31R(KF%V zY38|OXnh%#&ufWn-V036AjY=nwH&gN7MC<>;{axsf9VV+ioB9#95lSHPeivE4_Qh<1k0QaylZ6@|pMxRJ98=-S%k3=< zLqQ@xQUXWL=b_zQ<#iXFHRoQkaq@eo?A%oIAsIh zDh2*;FIVOMP_N>Ui6oB8Q!Puk~#Yu7l~hvJ|``txlQrUGI9pN)O>5) zYHWyHH1F|Z5cu&*Ssny=yE7U@%J^ATTXs0IhA* z#|UBQt**^3J52Ds{;%bt)-ef%0V_v_!OMB*a524maI?r8rU;iPuS7M#M2cuRhC@gNK&#Zv!jBD_*k7Q9 zb&V$iiATHrc)i)HtCHr9s?v78Y0Gf~IzKOy$V-gWRdi@??L;zc$_rE4!jW$^Pf=sA zMl&-rZ^sFpCXhO}s#ADR_-*$Qnj}SZ{)Jm=edbLi-60~g@py`%MhP_f_i@vI-T0Hi z`O%zW`{o$y_=Mhf3t>@gZwkf>qP?8e3yJwTW1;%?;Chd~q1HQYy*}+@P@+zgl*U%V z+)EE=Vp7s)GK(I)nspB44Y%R>`C;-Ejip4$R16RzJ|<>Ad(fRIjz0XA2IT}xtv8^i zT3>Hyqqn3DCdyb{@n>_Y_|qGot>6rn4NUbj)w6EfJx1&sYVm>T2J#vY8=yB9fOg_7 z97u6n8b0!qg6(=7vch6vr+AK*<1gcDa|I3>B6fl+i)G1tG$0$i*isOyRSUP4V}hP2ZB_l7k6< z4GDi!Q6H2q4%mj4JZ@grbFV#I#A;Oy#n7d9O0$|+o%os6>i#X2fZOV7Gy7!J7i{~8_7fw}>ANgF&<#CoDBhm96 z;dU~<{{}Tb;!Vc0=9H#>c&@Ala<*(j>^P1koRSWtWL*gfK-zF@%BbR@-p{q=T^(Wh zXHG{^*`hFO6(atOD6;NcmEFRRzMn zPHDag=r(8Ji3QH}xfa5j$;ojVYS*B;_x5Q1`>T13_Rw#yHP(3H3#t2!c#7mNexD?o zWO6I3;UXVOQ9NAw0-M)q|EJ?ZkBsLO*47t3r+qme75H3ybdtWi<0Z$UzEj!~`KrQ$ zZ6=Dd39$@dylBQ9`!Y^4!L4FPz8TFY@dljP`U=6vGG2Dn^r_3#M!uoydQ3REC(u5N z15iK-2xuV+rnvwFs3<5zR4vlCKNG2;-!xo)4@a6+>DTIJ>&K-Q)sKrc#^+=-PH<%E zS)yl%JW;N}4rsNyniT-IgWMwUenM#wo^W6&l}mqFxvGM30Hwhjr0}nRc5|YT{w9JY zo!k`H7$+m2mN;PJ3z}FCs)A%t0<~9#GSHU=Ms7DgOSfpx0vG*dT#h_XZu2fn%*W%I{4kcu|LS z4)8n-d#xkmX5T{pEeDh2(p*0k zUqBgdg62lzA`?hLhVZ}7CjRq2E(1C+ zto?)YB9B@J(bX1nZ^OhHWdl$z@y9|4i^|hTs$5n3m2^s(^kI;X`eYEiTCVAQL*nC9 z*N?UN7D#kj9rq5*6>}1O-V;dvrlT-A#6t*H3&)&1nioev@x23*zP*}@44Y5m6*3;z zxN9%5liCa$Do6^jJp3!GxV0F0l6?QLTxn1K=wj|QLlNiTSm>>y!37R0DfqM~d$I|O zI{;_`Idw@-Jk$sD4@n%5A0_`fd4RVw>6FJf7N)8eZP&Z$xM({TbNyg`R)(siSyBq1 z2sVz?FIi`X+at%FWE>j@Ji(!N%R0+{lHJgPZ3iOyovXb3#p=Z1}x&x@c5)Gox>TqZ7+?vT{~)4b$lvp zoAeRS-4|pcwwDja81O9+&tLgp8uj`_NcH)E70IpJ^c?bpVNn7|MS0|-)#yJzhmMGY zSjm5+1A>;VI?&Eks1mvYM#@~@tFgf)557qNtHF!oN-*s*uOm*z`+4FR4)5eEzv97* z#q>A;<(OYALVma6S)}kcE8Vom^r`nL>(q92U-~ef{s?$zx~=TRlUN$pG-FnyfIw(( z&J;3nVPCar2SWd%1(MxgS&tL)f7M?F$qO1YnkWtY%(E_GG{#7t!@DWWhOK)0yn^X{ zcmtq_y~SGr_*#~l(mMii-mDw@qaxJ&iR0*~rgPbO0PgS|56_9YncmzKb*g7$zAP-J zg%)kHwnP2{?;p3yTMpqr;l(9n z!x+Cb5|H*yu4F=(C!ycq4(jW+E$_!x>k!O~+KGy5cx-&A*a;kpO9NV#<7bu)aLp{l zsSLItU^#)BI#T9T;&d8vjVJa`HN)ffywXT^k0j+1)FVvFl z0<*cbT;d~}Cf>vUUHp1~Jjs_Z#1h9#?sugUr%+j-EvQ|owraPl%qn4zsnUbS|D`Hr zhy2L$mpgkGP!7Y`HCz3s$*+Q4%3m|gS6Fj_M6+8NZ=9~>1wPdo#Ce_oTo9EdM~A$n z4Xc_z7FPO<=(m)Y%EozlDSFxbK)bmHK569jqO3@pzEw^Tz=@W_gE+j&RjU!eQ10Nd zREM8v!v{zrzhLiM>y4js0j9y2$fDE4_+j7G@=y@{CCAZ(;p*RuHogqa#bp{hjqsQcUm8HzBV~v4+a^hsmW-VI8Ucj7J8e6|VY4JuW1^>|h1n z)f4XY$LgH_LFFvF3dqFeDR%q{FwB%<8TA&I0lUpko%e_Pyp?~CrPY$<^)vCS{c-`z zw}%kmHEn3YYrTultpPcZJB?jOk*OlLx?# z%1tTL0{DgCmi*zzwt`)Eu8;j@H0SPW0QjG4ouDZnQpUY8RC7xy@ze!&5+y4xR)BxvVF0o-pO zEW}g7a*C)0EaW1b<6k4|M+adE!uRczgXiB3w*T?zk(0I*%##KRtFj2CCcol?osPM0 zJ6!>Orjtrv`>=Y5jM&Wj!ZGEXE@d*b7EE3}V2tMoH-r)#jJFTk?P_8p zv_VjH4#cOhDlHO*hbf;^VCM9ok6BTp6fTvX+N|KJN!FN>Zg8S24FI1|JV*nNWSz$dmH`pDJI^#J_=&Nu|e*>0AyJmgBrO~&swIVl*YS8#A`=k7hD_*`f# zsMa0apLp{(rfk09D@ zQD_Qsml)mfCvX<@fLL#pB%KxUR?%xgLeJzEg7SxW`jO52U2`j+;%x`Fr2dx_fzb&& zTV2q&1{Lr7F)@I@DvUYg(ZY8E{1TBlv?N0 z5G1he!WqFh)@EvVzBDiWx0s*&d`Mo2hh|-i`kgQWIUof7El#j0S^oCe_di@bnW+(R zWSan*FRWb!iZDDwT!MpgxO|hN;UDbNt6y3Tzyj%2KQZC0fiEKdhr!UC5iM;Xwjs~d zC2?nTxX-{pDEYq*>}x7SufY2^H|o8qNv)y!Sh#6cw9xC?7t1GPqV+r~89TKMsam|< z4FHiuLY%1yL9XdFqz9a}i&K`5kZ*tOV=1T82sYy@Uq`pyR-gA$lBk2d(;d$!t>Zjy zMEC<6p|&i!xZqbZLgvKQ{UAP+jJPA8Kh#m`$>LINAr4X8%1w#HUXp?z_5fKK*J)dj zlVyc7_b0-r#{x$3H~2E)`4JF4=dMn@S)L5Zr?%Ul+Zq|spupB~5>J7$1v1y= z@bk-?+8CZ6?*SZ`upF?|!SE98u|L$twA9#qZ5kj66;K@rW@$!f_r^AD?<3(Ouu%FpB?XFuJ&AV2yUvN(u*& z2;R?t+@=q?-P-BsW*EEZ6KVPMtd{4dIENT{QlgUP2W7x=mS6&T|4M!)`v{PuC#MER zFylZ%Vs)Q&Wc7FCv1qSIZtN}Kb@$agJlB5;WyFCQ@(eqjy(%giE}UNBXND6&v?O}G zE5_m7Cujt#V@+p=>8#ocvfwX{umfFE>!|QwYA4K2RHFi(zfKy`<(KLwIidy~Cnixd ztxU0yC_yMEP06mGCzM9D#JusDP=f;t19~o|3&m0oa<}R_T4c&24X+|EPcAR0{j>2&Ws{?pXTIO1A!cSGFxL&WlrT zw||il=^El7Req?sSyxd1+oHQ&@gH0kbVLvIK%vHA6NeWWx~LO+yGn&5nLLBk{$M`A za~(qx&Plg<7(j3jW-ANm6JG{DBb{XWwKE!RGVyS;!g!LXqA84T%sbnfP9w>L<_p(T zfENHhAHO^79~$eZ7TwfpfM_ZLt8F7aStxUwL@Rz?KmIV6OWF_(zWo~TsoUFat;3s# zT0Y}vTsPAQzXTVLy|_#q(ZFYq>ktr{ZGAXq5t9!1nMk&$NElh%o8=vAqw;r-9VZ!- z8D&wV5DF;Y4JsqiXwX)9MrF&Uy}V}ANY}V)<{&Jjiim-OMV3OBG8W|D6Bu#dOv^d3 zOlm4B>ZTb-DVYC=gX1`Z$v+RxbRxcCRid3a8#RD;-?cxsiYz2B_I1q*zWH)OGbF-z zUVYJP$hRC_R{aNOk@og2C|Q=1N`n%3lm0yKcN3o*$%O5K7Q6VR+A*!iplMhkDj~J)p)&7rgwmKeMHeyD=RTM$W z){PICHK475!G|~XH~SxkC~k8H)#z8ZdHqAwtZ$}5f=M6FxUEkHS*dBnywyA2AoVh? zzn_fS0VH67(PRN2Uq1i|6-T9ta0x0r|1%8uU39u(Jtaw}HM|)V0sut&jop7|Uq;%w z8^oRXhRiEeezD_6d``U0S)vo0&GYw5EKh22uqwC+w1pER)y9XZi_eJDz-7k?_~Cl& z`tEZ8;eg#|h2YP(u1dO*9(t>j^Z=Vp%QO;ymTsOEIG!AEbGB+|ac#TSm`yqQ;hy_( zd4L?oU_{`{sN7M~C%q2e5RcpO;UQ5$RC$MN+JlfVTZq1!86>EnJBDYDzNq6Z`+$&1 za&02eHZ_TmjN`F*zKnsWeK9a$2#b80@%{ewm`lhF4D;8FpFya*=ZVC$oQ3>V9yXtB zLR!gBt4TiLB|jzOzz5_gn}H(YlAnpfve<%&gQW=69=LNY!wuLV_<~psKBrXAx{9xc z=IK!(qzeCI+X!7y1?lGE!KK;jI%o8NAWAGsf+CK$6Ggz9LIIx^&49HR^D@~ zhGFGnsIu{>Dsl>^%?&7Je3vDN%QDB`uzvxV-4_p|pBH9i1_jRun}!d&b%k7C=k5^g zAq4U_%hF(yi^RwSeK-L@Gv^!)*ZGOaxa)ehpb9;<+vdUuqqAPlTxmVHWuJNogp&6z zg=`mqRfA?bTC(+FVIIWoay%EQG#-Vc{I2Mnf|v^qS4VJOx8=l_DY`lZP8MZRD(Ue_ z8r^78ll6n)2;gl*0Xkte;Ox2bKQ%lq8^L1~Zs5-L{2R5f^E8}Xd4`8xPvXxF$n+|?=an)s+^oSKFw zj2*!UmnI>Px=FwYM~1M{Hy%X9a1xaHxwp8m0)eYwzVLr67ZuPRJ@EI|g!WV)5g}C9 z#RVAdIdp`>vTqY*)Y!Tr^Ly@}QZY{fU?GPXcqhVsLMG#a-x!mO5F-^{rFOZ2x$qD( zFS*PFL+s7%95-&!k8oDZBaLMqv(Yi)heFo=Ca(N#GN407ucgf~E~5fAsJo$Ta)#?P zk~8(|hUZfZ6e<~AFDFVc;Vtmc_{PP>VIJXze{d2pEKQ^g_xfe46{aM<6`zNwehhtw z>N3Rx%(CwvzHxzYaB`8`oU9F4wlnoCj>#batm=vtDzXn7bJ9u$$-1~E=~cM_Xh6aw zqTSGfg*MA#7CqNOk3Ru&4~QjJdJcH`L;zDz8V4n24=wThAeSH?%`=ULn|X~++|{n- z<4KOk&9mHa(wtl0!!^fgn4N$nNDgBg-Q_iZ&2=~$*1$mU2j^!W_z%M4*6(b|85Z(MO!Xm8#vnQd@=HQI@l|2Dp4R=k8P^>Dwzb{t`Rfzc^l?&tQsM53B`QDWtL>^4nIIN>E|2KJX7-&yna7&X0%C+9q>}OT_X0$_CjAAv2I_jm3U2HVCT& zqc2fm;BnFSfY+6Bl){j`H?oxG23yhJ4NuWb42_RVEmGF#CsBKY5s>(JHK-Z<>gwE0 z;>iU0=t8#am`1yCoweEwd4-&IKwgEj!W3*|Yya<6EnHhoo_(1#J zgH9{;k;7OWt#5W#1Uz}E$3MpPQonbXDTrl{46c$JSnlsrw-l7%EC+IUMraog!z>_x z{KPO~MCEXCxiI~x`|buu$`S9C*69C>xc>`z|MLlJk%#c9TBmN!)&D@bb9D{fa_p%n zW_sPqA}wx0K^^1yd;Lg>x0c zMhfHVsBf`zAQPv&4WW_K&8$jLIKf18s`UnmQ}K)=ZI&PKj(sagl!35;I9P$zO;%xg z#3U4n&jmzbD{?Z)TA zI;Y#nn4NUFy1?%&2JNqkT!)P!8gvrujQ0`6KkH?Uy*KcOY~0)?gjU(`2eY9{cG@cI zu@{?W;$m(DAynoSF%-LK|=5voW)1gM#ziQ(T-k0&T`FbnE8Rj#UH#zvWHjN||f;FL5}| zSz$xr3>+RwlSyUtVLWw@RSrZyxvL039Bi&oS|~wpK88EP_0&c3tt*_-nf25`d|82|h3*B{Aq~}?6(5$fHj}<&LFpCcPFf3OWCl<# z#5#O6W%|bhyPgbAos&;;nS8d(U#NTtUx!#LIA;`o@X=@#u30a290k}NQoDq^KfxJF zR2dgg@V17cec*4?%n?qC@BzJ(KQauM66+tS_4E!>BL%4%!VbZ8*t~eh9A_U%-su5? zTqL8qfZVsG zFk@PF=9-4UUr_UH>6J4Z*!5`0$={94r*|++IE#jgJOd7m0!j^QH&}6?J*dGSx%Gmb z-b8T-_ro=hSkcpRPcf(N@c3a2rF}OjBBzJ3e*c~y-7*~BsNTOMa0PjSL{3>=U8G8| z#)P(Xje7lo4=c81xD!voaOjVS*j}I4DaLukn(zB?Cam;O5_HTk!gM3+1A#}a3nEtVnehoA;Yv`N2nWc2>#U9IOJ0RseZ(VnJ(cd&?ho zJH?33QT*&s>b$RsZY3y+h+z|!%WbAU)yq}^@~r z+JG~;Ju(ef{yQu{&}2UxPPsT`*ISSd+Eb32l+KD&IeLY?&yaG@DB%L$&6~=qa^QTJ z7+Tfb{!E47A~;sWytx$7Y#iH@Cno28r9xHn=0~611EadXlM*d^glp)fO$6VcwYMheXlN8k&<-h%`|m09^WVLvh9xDV#zD>vJeAf|13m~;+DMP^ z;p?=P2o$~yT|H`|%+DIc#N*bMXnp`|pe-@^VS=V9mC)M{b*&vF_RiQtFil=9V>UZ} zdg`VD&OPBN;t)>ELT)fzBP&%Dwe6ntu&K5ZBvE2d4*a;qni>~(R9t6YUa98?f5Xws zhChS7v9>7Qd38;ZS}5x^cs59#fv5U3`hM@fyZ{s&4BpRIMh%aXGbE;^G+AYDpQ%G! zn6(G%ni{6*?3%va3=0x-MkBv$tUHQYm}=n_MsWh=>?!KlXZguUDO1S}j1v!PIqg0= zCi833A9Q7ymWVPL=h>(e{GzkZ0>$}bOmY|m9rwx~2*|pha9{Xm;^(KWIR}|WeSEC- z*~{?wGN>T^wsH-A^&#yo;*-xMHBdm>Z1`{Y4fdBp2Vl}_T{#Ix*w>4lQ!*3H`dv5x zwEX>}Sm#uG*~54bOC3IR9}+bpB4Xb=3u}Sn_~ZYuK2F!?|t^jh6p!{&UdDCv6nv>K8HKhJ`brI z?^0A{SLD~fCPIAZa>B_`)xm2-Pz7i@vI!?2c&m#C?qw-OU;(fsAdueYgrjfKVmJ;^ zbe4?&KELJ)@T*2w8J_RJ77*m83g9RphbQ8N1|Tw+oe06xGJ`cNQ3+HmOkn!9;3ggI zK{x(igXSxI{nIY*LC$R+zECl^3gWZ)JiggBjdje0f&w5h5mAa{oZ6ew&+?RUvi&ms zMJz(hBU$Gvaj8950yH7d3_HCWzqvfjF(-cnmRDvbW>t0kWKd6m?5ZBd>?&Gf4lmI5MZQa4)yC-90mg)M&`7RWlVTUYE0|&@#r3U{U%X^rTq{eU!cAioA_V;42rb!It|?9z``{jH2tvti|U; zU@M+^s+-Puim4fFA&cz+Co635yBiG?&xU8Jf_vlGbz*ql1W5fn(_OOqJ3&Gd<7r`8 zo46YGvIH9!OT2jcAB5>=+p46EnBZB?WqNEyTl1lcH7XHddPUcJH5ANKNe*&$kC&?Q zs_>;P8!I7vY0!HiRfQ#-iyFjZoK#17KQHp_A!c@VkfM1JvXT%+sYs0F@N4s-qFZ5p zW5zAUvHHsH?>w^09@q0$g%ixblDLyv5EZF32g%t5)Ooo@f2TYMFT1)7xT_gcf4NA8 zN!^yiKaS(vQf{$ss?k=YP`mbQ1DdHC|5}&>ci^8Ml)XOL-!whfIhs#9bCC6(L!}9O z?!UGk4>X^y8z65+tJ&B7P`e)pSTd9}pO3!WG>5GFYXx&H4VhyV_tsnxf*@?vdrqzxTEG6qt2lay$**=oXeACk)%1kD=bmP z=BCPpSGG5QAE!3K_uahCyVGOqCv}?jk$)Lu-o{7`$arSh4hNLtKnR#=?P|xQ9lW;P zb3ld@7`{I^e#$0R3%2|UoMpTYeaq3aF}84`i1Ye6W7UXcc!M$h&bH~>HX_i2^niSD zpK9kPw$<(az56E4I(U0)XmgIjeM_71Bczek$Ul>?raI{-m>;UhNtSn3=AHhDygmdJ zP3vO;DJ(SYGC9pNI1h=HF~zuO2DADf-d6%{apzHI#3SAJ^-@EGqP@tF{Tp>Pu-ZEd zXg`{9v_eXg@F{42tF9?H|8Gd;p%e!ASo^}d^UI$rlftB$z~@Vir5h3TPRR4P$4puF zo$);{lC{iU)RpCYi^(nyG?wk{aVEd!U4JfKmXSe;wWQ({{G|GJ&2BWQXV{kPFP>Eg zV3uT2?SZ}ao^XxFk6B>Ua?q^fB%iiBd5#UX3O?-y6y|S#S=W-uE-rTN|J#^WcNj59fl>8h=7mh0t4Py`b52& zvYWsjz3Q?>AW?X%zLyA=L2x%`r9q0CqAa2xhR@3csHw~}NjmpLOZ4KB&=w2tb>ueq zrdKGYzM8V?h4vQRfBPZ^Vf$^{5)xrOyPBo1jZsU=+}~0PgthKs4js_J?@2;Nl3nYA zak023u&!)K)Xz!t$lk0e{48($)Zs5wZ0fx6j6fXqqhrX$P&|Xl*>FfGoVExThrs2| z4M=={(_cYp(=UrO=-@Vw)ogED%BX&E=2it@PHdH5fR%u0NdzN#8)s;k;QCOO_Hu**9G& zX@8|PWHh*jamOICabjQSmbhv#GLFP$!noq5^#Rl zG=^bC;)+6iZvqo_u_8>EycB2(93eh3O2{q_;aP~=-JnLUqPz*>@Fll2aOYGpFuxg@ zOGc>a_=B+r9WoRdpd8CHd4EhZhBJ>;Q66Aw9pxoNVD?4XC)!t>=$?A4&A zdh0nFdgT&i|L3-d?(vJlhfWU@kw)gbxV#}=F5(htnnH3NaF)@$3)oxZ2a;T73)DWf z6;&22#2PLEKQ!-`HisRIh_CE;NLc6A{l$!o`PeC`tUE(;Fc6X-_ghs-gkX5+kEUrM zOI9}3>}W^@&CBiBgGdiWOH$XS#>imDt-7dayzA~}YCRuTq4LL)6|go!7)IXvWq#0W z!@}Tw9!yly#>DaA?x&c(QhEu+y-@F~nV9Vw2w(2;Hp57jWrIO2`g*>r?MywmWW<4j zVd&c0KD&X1?=k`*z&Lp_Ex*(P8ZyWlD4HJu6m{<&gj@&jYp}5+x;{s?1E^h4R`8Q7 z)^fw(+6mK+@Sw-N*lr}tf!rTs|7T``MFSq}aqot>PcM>iI#w6&dzJ?Q>d}lq#)|>m z@emFCpDu&Io_8lx`;4foB_kV4HY54+gx;UGOGckn2Nrwyw4-1GU2Kq=JKbojm#xI-JkFO*{f3`HgGk|y!B z-{E6>3-mz4pHpIG(8G>SPBPEzJp`vV`OtWr>Pxvk5oksGU6a;1uY`ZP1gOHd6H=L! zO+@-n>Y~4iXV)V6X5~k69@-3FFL4KY5GY$2lEkh1dB&1tS3F#F)c~aDhy-x*ps%@P$Zb!jYhlY@i9wh^J zjnsIqEJ6h{F0gp{RW%);hi7$22=!)lAf|2$I8*gG5|{(EHS8!8I{mBYR-n8##PS~M z`t1v54FMR`v!fYv?QjdVvg?A-do6Gx6e?rmeGJu$CFD5trUoue`W%dL&B76x$R7KZ$aKgzEOfcuEPT2X5{h*(noH9rg zw}YxphST4S(vVhTY*m)hhyN?c&C}XeNnZaT#KoO7A!XHEEudxgJP?X8iHOUWQV)qKHf4ttO6y!NE&ON?-$M|vGXS$j1`)zE zARJocePr|Zvu?(A?Q3^+R5-yGp8D58UZtFnz=p?;&7xKMFl|#8xr^OrlXYm*mm5u` zeDJ;ZbNG67JtMXk;@3i`}&UU|wu%Vph4bhV$qO04zS$Vd{igY6EvD6=u@@>}}{(i^>bj#J|QoCP@KLC)`(W zvbcQvSn;AaI@j-Is4VeNI4ZAdKHWQ@51)@G&1|h2gv_tE@JO7yJB7f5mh5)5{Hd5%r!xBhX2(pOlEPJYh8&#DP zyxcps(>Wl0>Z+x^U5)0!^9pjaNP|d{;2y3je%OKqq@~WX z+nrpbM9yfImG_AAdjp0UUVqMMCk8>H?FK)}+-lx8lsm$f5IzM_<+Cr(kRK0$)g$^CEy60Yv)pjD{vVijkK5hxm zv%LNkXBLFeIdI^0ym*$gu8bNXeOmx`-F1C&UAPgTYk&otquHOap0MDBt|LzmxJ5X} z90EeFa{?@CSYg0wOAPVV6x(Q~U#}Ym=|ii$=?!|`-!N}TMcNfEI~okkn~6mL-Gp!c zJeO^>hFeBTKYQPY4yOOSG<*OfrXyh?K@x=;&>*eJJ;-1H_vAN_%gv78_|VSw1p%)? zdbV}Ha6n=|sTH5!$5R6=PNkf>S;oU`8xe7{!_=Ws-U@fmoFftZr2(A3SUbz*zozx< z@&UgPEQoQoXZ3ijf3e&_dX_}Zk`JATir8Ft=>)#CQyDo)z>?3O7DyZZM0vZ&y?bJM z9cTf3swIncflN5<{n9@UKPP7WN%SIm9MloxNX~wCEP@4dPks6>oDL|sQ}kW3Rx!2^ zt=j@HGIZ2Vl|~A(37uGb$pJK?K!^1V)tT1ss)b@}9@S(vGIf(n&6H`AssAXXm z`djfz0Vs+b{OL)-*>7rOXt11{)_5=j)NpVElD-6b{JoeCSe`p4@U9TEv%EBr!7tR` zNRkD?db`Jy6u@$Ab!S=bU0tWA5luftZCW!te{x}}_D;Gc-)6~92$N?k%egtJJuA6@ z+YzNYAiYV_S|8eOUz-RG!XcgpKKuI@$`8Utw_ml(ZR2shzYl4(&$GiSs*2oITeN*# z!knApYAScyo#*F1jA-(P<$X$y>BX?A7fI`M^pK8C8$)HgO{2>wYDj{b_F^Nr9e}(U zxwF3mw(wb+MB@N~dH9e`C-2uCLro&6>vM$xM_N7Z;w@61Yl>fP`n)rv2V!tx7WN+~ zL7!}>L#hKQOd~Im;!1kwprVrUv1Y44)vMJ5p`H%*{cWu9z{w@0yQ6)tbCJhWPXG%CXfOUAz+7_#t1gkv)N*6{!O`hsDewiU)`NBaB=7j_SkcSDp6D(|!eQK}(WiiwjMlb`6=&-h}T>h7By;-pq|Pz3QL^e#}O4`2_@8>Y={wiaIIW zi{^_9vr40qr0igJ)w5`@MB;UR;5Z?$=_&F<{xsPV34m1f0R4c9Ypu8~jb^qF#&M4! zI^n0P&{C5BfgE6Mbp?Kt$Ob0D>HaCe1Jk=5_pONICWW!w{O+&u^ps3{z8HXbm9Zc# zjWCrt72*6z`a<-k`jt}uh^fYa;)u7T+2-vU=H(e3%S`wwizqXW{Eix7OeW|n(~v&G z2xcyXFSkqWIA`DSz)@`Y~W!R7dQr+Q6Ts$N_^Pj8q2vWPpVsOcGMT82|<#+UZC{H!7c0?P>9R&J&~1YR_Fz8 zam8;FYNBWKruN-RPPr55wfk=CV}Lsff5)1~>Pf7sr{}$d zr6|3(`*TB@SjyX?X;)`b$N(70$6ZvoGGEF%>Q$_WyUL5PbvB>}WA}3KUtJVNasd0i zZ*Y1`9%&}|p}yqeRppP3)JDFTi(|9$kvyytl$CoP#;J^zg5B^D9F#d zq{5+H7LC44!qw9)hGVj0KoIqzb#iXQ+Gc%KDGa^)t}O#GVn(paais=-J0HbfI7<&^ z1ojT*w}O6@v?~THzXw_1wB59UF}hz^Opqhm6?jM#$cmIinHQFGQW%u@xi9wlbFW|G zfCPs_t$d0>hg8^e;_QkL(-+r!mFLV5H`3LNzXtv;&Fu0jE?6MQWlMYUl%~QWOKYSx z!D#u?hmX&tYTFn5<<8fx-l`q-UcgIY++I9WGQ45=+Q9wP&bYV`oPNZ@&S?X9rT*UerA9N)O>FQNS{wi-jSXA6Wp9Ji|3oL|=xUvC&6(S3qSGP>+x#)S} zow!%$hmRs$YN`|MdWm`&w*lptU6w63Xd48s`PGR23ZId-KsZR>Pw!6P+Q>S%xxVTN zZz{d*?mqUTtJqY3%%<&IVhkUS@(Q%BDqy1Z+#W`?@U zhu(UJshiNl8>^kX5P;r9IB@EZxLC!bx%pZb45}eEIAn|fpMK8Y%8_XGWQDv*SgOIh zKvR&! zy{2=|$o1Dd3$rup6mzxnEhuB2_d;Hsk7T3s0hUpAxd- z*0#B{s8#y3pOONjuZhn^Bve+!DNg_-(>AsUk?{cu!AXnLzm+`}e6F71>rbLRL}6QE zc7n5YR)OO=JgASx16Y5)Vljb!M9Z(qu9Cm2kb!t<#*`Z<)bVercIqraBA$)M*k)0zbS)?~vbXn2K*SUi< zGQlucFU?1t-z&XT`j-_UWP+uGbjmZ>`p>r~ys<#~%N))l8s!|C>}*&u7wnJ3gGfAr z5q7=ewbj*M=_=aYgf#^lu;)M^Fr_J0km{3zH&TAWSqKeeCIau13R1RA5Dy0putn4F z0Y1~B;06^-<^GQME8(ush2mo)mY)+zFX0C}(%hqs&UHIrDGw$SEOs)>0Z4xr+wWbg zc$MS3cQpByH&{Oj@+m3!h~}I1*!A{PKc7awEXg=aFh+>jAx*DSab9)z=x|!fzU;fj z1v#5<{-&PYcgutUxdx&~6L2dJ&d%e6@@WfD74)^$auC?BMANl-KjuDj1?vAqNl`{pG4tQT6 zGO_H<$*kc!6}V?muo^)l0u|cS{E?3GDTR!fe zQSj0l0;}hP0QKSDm*6K7{&{*m?#e{jG;1DPImS!eIG5H~f>w4|q&`~H-^3ONfn0Mh zGFv6E7|8y*nHlCMjr8^2w-zfrT@uApLORVqyhYt6NRtlJKNlpn8fMgz%b3o&;9KX= zdZR9loKAS}@5Bh0uWgRZ3Z5wFbUtF8Tz(JM2?vc*p1B*PZ0Fqtc1n2sjT?*hW-D-= zIVl+~StP{()jAoTT4x08mh!pE7}X z)Q;_fjnejW1`orJN?=#oTXjnQU4lCK@Xf~9cwV_~O0NlRd%V5&yrm&!bdTbwN$Upn z$jc69;B5SJ8?o^O7#3*?HE_Kdx#Q_)B1)V`BA*0`-s`E80ZH9qGm8AkKrunyvjfoa zaEnaVVjO|$jJw1)Vca$+WI~K2nVxehxo^{YdB;6Q(sbXUW$L2@~Gyr^`IcXeAU{(UT-%aU)O{3*7Wg2CdiCZdOhVe3ndNNa!dUX54 zwX#W@>zJDTMISEKsU@=YIo#F48yyenEXEx7qS?>^?LKQHmu>l8vIyiB5m)iUKVvU_B!RbGW%HOJtFE|Z9p+UA{Kq{-G!=&;R06=-fg zWBMz$&mLX05Tos6*MQ+_)+zghYx%yDM}Nd4#X~37Nk0DVHP%(n+!q)LBH=Y~XZ@!= z{V%f`Kza3tEbkLQrr@9ocTAB12evI^9gkZ@TcR`vnsa0YR(Z@|YyL)gVjT zJy|}$g;*`f?)Srxc@i#h0DdjKZ#-5!npf|frZbHmlIy~1je_sx7iRbM%?a0mpDBr~mw7U6&pqILk znOfMlC7;ixxuV6sb_%XI2&&WGe*NMCmXTwfGH(GOxyL z9B`!JVk9Jg>Q@q3yG3(u6F$gW-uG#5wg=9{9w*{;ZcAj<5#4Wp(^uIr+62G3v+^yrB5@?iYi)A_xH_Kc%~Ui4SN*bUIgCmW|jAA z59001pR@j^%E-S&N2UoEx$>z;7ski<3kI`qU?Nvs8{K-G5l!5CcRJsB{4cO~$*1v1 zX4$+0QQ4@#?&+BY^PoAVbK8|W*ZQT;;l4?W`b#Cjb<|rNPs)E13IL7KNygAk) z?)GDi#aC!!c43ZsW1~y^_c~=4@(9g!SVsd1^FTr@?GwHnFJ9xE$%uO?E2&2gh=YUWU}eFg_yT z{_oq=k^Zk~iv0BwQeo}2N$!DJZhcHoPl_Gpy2`OkU>2~oOf7_t#mrgE$jlRDH*7d| z#zI7CKjH!&yWkJ)p@3vmZ{eO1WJH!@vST=-IWHt}gO@l@~PGX(K>#|>ZaKFPmlD^SSm1*B4CI>xZVf`g>?9lY#_Yh(MW=v^yjk|s;vB3W8|}& z?`N3cfk4p<^ll4j^M(%|A|+yqABT@Q9m?8@VwIfxFz8h#e#=*HmNm&^%oNhpynSdz zFC7B3sh7A6$5Uo=L>yEMbzEh{!|eGJAxlq2{dnIoycjxfYhL8$d%BwwUCqW(+uau( zKP?z>*a&#NSp<%`uCUcfd{}mSD`^?1V@B_06?W^!|61cHv2_T$^9|{WdOsL>S5=$}eoiO91ii?{yh_O4p zOzog#niczgHg|PxEIG%sQ{)lg{2De*f$CY>6Q2-*w*>9f$j7m0yvct^~WO~|e56=b(-_qDy{ijIM zS2%QvS#&9!OOVIpS+c1awI)+jp2fzA{s8(sGPkd;#Ip9n$Oo4H;sP6P^VvT8!a1Mr|B4DeOCUEt|4pbI<-iRvIvX<>ENW{ju=x_cvbF>J=Ai&k zlJ>7M(ll5?KRFvX=Vw^~kg{x54=_n$_^fvpRg-*t{PE#UjP3DOLAewnTU+{>K!49X zJ0q-f%03gz-zoB#s~TSG<1WIznbu{MKi=yNMz~XRJ8Z1;F>GUfLYkCl$(&TJpIyHb zC|y{66w!#}F8|hx?!%9sk6EW$b0*e>nhW0e!WMZI$E3H(GB%k`b0)AfI(aEk@9@Nt z9;6fcoNLs1#@=BM6|yxv9M^rzI-U@Y#EIt)++?ir-qYK+UGkH@oezBM`!}%B;sv(O zr|N{jvItK!6ie&(hw$e#a|?T9+xZ;x`#$at_|x&~efgxdxi82*{}#KJJV*dcAkBme z!m!{{69?%l*sr7NoMsA-p>{#zlkDdGj>l*8OQSL8GWVxrsFR{#)Z}#i#cBEou<2vZ zk1!&OSTx~0qi?dFIlY?HY@EmG*e?`f(0I0ch&FJbBaJ;W z=SxOeDi94yV8?|{#r3Te*T?GK?g1x64|&1e10y$Tv*|C#u3Y*AYjey5=C*lj1vGZla*w1NGpjnLB_XMuoNRQ3`Ds8)m9Qz zlis!0CaBx1L24P^fAHel3-Y{afF((;{!yiU*deJ~hYtU?hgd3rcnh-tv>eaoe82SH z7V|t4_=qLqbs&>_+y6(I;=jY{|0-HQ2HF9jbE_o8kWr0&xc3IS-i?DpQ3X97cR5N# zEkj`Wywzf>@(AynRA=HV(yC%l|?Qz0vhe|IL9O zO-OnwBfO*TAsUML0BaaMt~*SYWtv@5Sk4}_r}C9{$daGPluVyjuwu^r5%1OR7By=3 z579|DAV~WK;hrr0YG!vi9i{&ZX$>P4R(M*mX6+`hO zglPyJ?PGZpYK??asSvK9PIZXb5DIw$E}35(&qLvabVvcmcm(@u;%Lca5NCXI^zvL3 zque4pMkISHLF^z=qy(aUUYSSapvoN`Aoglz`?LIa)oPG53+KXj3|k95b@JnD5*4O0 z=}epFL&kQN+?s@zHt(BIRp>R>iOWFi~=4C#RM+ys?e^*x*x#TOrA-(1; z3lYR-Klgpnw@`0U=r!){a)XliN7eHiem@Mp>*L0pAjGbBsn~-lyu)1535WNlcxO$G zPLDn8!)0=JaCjl4yt{J0LZA9!Wddc#rzEIpBfX?;%cG#fWl@aPoxlUaPbK-IbFR`-wv1#^;meS$B;!3qVdZ@2(dU z4^nzqqlH64&caX49;Ow%3tN|gy;kOjK?x)!31(5ehJA8eL_EX(D=DZa#9O999Ghno zZ4(x4?&u-4*1y)4q2sFa=eL(7%U2>qTTnqUn4PP|_xbrVYt2s7L750BBeF#{5x9=u z2~_0ox>f=izVn0>;1N1G|Jv4jIm*LyCM+%m7) zGLt{~Qgxe&=9CZA{5tN~T8lh#T5elduD`0zH#x%nglXU!P4SuGMKLyp3W&h3msVCH zU+De((Ik5+TKnon9w(PUsq)q!;2LA5R!s^$WiUro6+U6Ywg6OrtUrOnC2VYKkGFR5 zlp)jY;nWh)%MchqwA`eZ;SFmprC!nKiaPwe_@v%xaire*!dRzeC*TgHDWH?`dWg?I z8US2`>t3U*lBvPJ5qsnh(U0>!=)XN23F7Ozx$@=N>k3?p=dzG8xkY(5*apJe9WjD7 zJ_26fN#E;yc2E69NT%DA|Ic^+k6I2q#Qjd!z6ZwcoC+25F`rJc^N!6FKc4Zog%_?WJ%(mDpGTDw) zLjaSbTTQ;A|aw#2~CR=-7}lZU3OW{+3fy_YkYNz z7fi%CRZ5tP)(N9@HM)aE-xg*=P04!GtJFo`s8agQnmY&~jM!U=-{^C=;4rbLCQ!0}F1LET+<#`G)GM@%{of zQ;E1eUo{1WlyaA@^}eGCGR^!%bv`#jya}a8W3AgFVG;qF!yt(~ppqNXQ4YFwnwMRG zFg3e?oy9y090432V=}sYND5+xspqlJcc-+@(YH;|&w(tx3YH??cU-_duE2P2N%cmU zYG=rs0jUG6VEgwvBw+^D>nAn2na@)5iwS#7T2nRx-%O(vJMdiTtRQXvYJYbx6fE^k zDbs6~UH=`iouK16Os9N26QtZM7PgQtfxpbtiCU}W_H&hKAl%!`>x`;w07CY|@s3^UI`;ejt^6{1TorH@)=Su%9=#~`o%fq(t#QvN<=1{% zy5{SAZjo;@2BQTc#Y9}%!L7VSEO0}-#i+W0<3`$2ME-R|^GeQPzNZuw&PI#ar{r>~ zTl4o>`z9Xc$ZT*V4k+7DTD;|guB35ueut(0^Q_5_brIzWqzdB=PnAt(M+4~2_!d7}{ble6%^KQJ)PHuO{`+?SBg9jt zhT_;&PNacHZ$O12%ZZ?i`~yaM)I_H`pc`lA)Cj4HK7U0O9xmV&qR$m0WK$tT51w{9 zUp}Yi3)4e|S6?Y>QuudO=iR3A;i0zdbSB!Sa`tmuXb+jHqaYU5jDPJfA;GV=L}TAm z+@-=*S9Z@78kl4*1jpMQluRntvx?=?f#0-sShq9XO4!vtDltJ&iSy$QMTQATfp7=u z5r5oFde6*2-?UGE^|w0r<5(SwoM9Z#5E$AI$O1&k9~lf-9dznFU;3AcHiAes$k={$3q;Q_(cJ8V;tOmwct6D{Oz zZ>g^QHpq_o`s`&^>*yctmKiF)BgMNyVapX~MhA9Z@&;Y}9F z(nL?r&f?dA#0jJu8!RuV_9Q=AH;?{Zc#jiEah-|=9q7_~i)OY0X(*0&g}=3Lfs=E2 zM~~ureh{wg^GH}BM%&WFD>-ZtP&iwvW1zufanq(zQNwdzE~_+r2spMPH@$SS>cuvg8+gb3F9 z%e!kPF}LE}xFAkiyAzqdT{F3?{t&3|bBxM=Jnh#7kN0Q)nxNG8uAFxDxA-ogka+8D zC1Cfgu<^vZXf1Im%D_58H|I|=Mt62 z^3++^GA)e~=MV_vT9CLw>K)q4`jdP%g}Z1a%`A%Z*zEKuY5Mu1fqZ}_1rfk#CE!L- zjzs!oW&%J0KB;tovE97rc0zibXfO`Z2(ntd8GYAjupHShBSX3FAb;r!kRS8@v-&Lb z$M-8rH?e%Mq0@o=i04$hD0k%+T{x=y=~NVqPfzL4MqMhaAxl&$QxeQ$pY6xpi|gjs zBh#f#k$$BPcX?%83tAJ5Eh8QaBoaX?0f5Vhg9ta6bs8gTNg?2J6>A;9}A8F45X={P;Fud|e0 z0`XJ`mD)_cE;#1ZCy=RDQ$Y%ao5Umhfw-{NVxdmQ5I~arcyw4PnarAdHSIi>7@>M5 zuA*{e{Fa=Q?>NqT${?J9>&$kf^B0P@qPY1)Y@}Q~t{!zk;do!YL5YPoALTsmF4GyFFe5#n{Ssj>0I(#k>QxfZImrUw<5sYmA3?>2{U zP=F1W<@;w_r|J>q#$d*D!3YeG6#=43|YQaQ(kk<?r&SapJ`FxLaxp$0=`_o25py!ba9r9lvF_(Z zY0gSnZ~;A(O>%Z=-#Sw_1|yaU(didwVum&*|M?FjnOw1dh;g!3&Qf$8a45PmM0GB)%uvv>aQ4UNCV#ny-qf3e^O&4y;dZ` zj4zXq*fxA1Sc6ec3YsWH8Cznw=mh2f7FfIlF?abpnWBXuaImK3P|1Zf(UabfGYK)H zjkwXFbd=J&(|-$ie$}w12Y+;-=H#{6IVv|>HO_~cND(`3cT6&`Y zmdIJI)KthhO{>i49?KDgi`)NcpH;~T&WBh_Iu-yc+NhI0zey8?%bH@rG@x-qT$pcQ zsdr=hYlZK-r{8^;%OO)rmop7h5A14a@cY5I2%cl4kl)bNJ1W2H?D9H;;_Lg4CBV-+ zFTCn&<0jlnBY^(qzRLE1ajRSY!M$nZ0(5H$W&m;gZ!ac2L{<(~n8lF|q&X=(Ue3VQ zl>#b$)qny(RQ1X_mjfpoycl`-@z2l@Ytz&T5(f1GH`tDZUZZFafo+FF9xD_rc_NN4 z+&8f+^yfQvHVyex)mYkghO`6ZFnpe2UL0M*KJ~!$N$r$P~-U(i6 zUnZ`zATh?nmVPPKpEHglnpPiwnOha+9gA&v>wh`FibK}8=aahprIDc7%R+;85E7@s zLOz)JAd1u5uuE_=aw*B6TDa@b!v_0Ir8Df!wmc(JD4R*sICdkJO%8D_dY^`*R2SwK zod|+Tl5veI{6;HShJk982F{=x8o@vSCe}#8H4q;(4s&0LCGe{XPrfUj8NYz8R3rEs zfi78&PI-EM&F&fDJu_z$^9x6K!ILJjh#>xFr``swY0zWHcF|}RBi4SoL|$ivVYF)OA^Cvv3Tz1uh=czO~(CewmFAFmh;vL z-iAH4=T`||?nw$bQR17F` zq~rvQq)NsUnew{Nv=>DK6G~&EPtu{H&58*??>GciS@leAtJ%iH>@BLOXtQW-K3N*V z-&Y{xs~)EI6V}>I!I6{6Q|X{mFBe~Pc-DomM_2qh7&I+4)6!nl7rm&)~-MNHlflZ!5?KM#?^nx?^_CQ{?m z5cg1rzo^8nN1T|?#h3c}n3vhPA2cozjY-0qA1OF*ddU5)p2mw=BO{F3mK?(M*LBcq zX>9C_&Tz@BEcXLDro0qZg^xBZzBI?gW}js+%QG{EPv}`02%1=vG3Cp-qw)-`EZ<<` z%Sgl^+a3Uf^O8U2trAXX67I8{iNhc%yBLUIS}Hiic*c$HQr{1RkVTC1&w?9HSN`N{ zsASXEU2*+}a4z2MC%+~+_$ph6{Z`1A-ty^h$x%2r^@}CcNu@PI=@n7|i8C?+1)2V~mE^PJGtScSf9jd+%?s`?iK3VRq}a z$5wc>OhVNCYkddf2CRQMa2`W6$)n&jku z-r!OFobkrQUPjb*dX7_aK>K5edeCCXd(b4LQ|4Wa5SM-YRN~vRV@mGjw{j=10)&^{ za}i`|fs4Ry&AaZI<+=UeJWC)Kon@ivCD7i+(ggg#zIEF9oTbXLK z-8SDV{I9mJBf{K@YT676Y;%QJ87KS>`6I(gDXBcS zNQtAhvS5<-y!Lzr4tn1W70)pP zZToSVm#Y57FL2JLPFhUGMseJs2JKNn+jdV;$_|$l;!FB$9cdx30@{H!AGWD!bVfVz zxCiwT8`)$lY!fS#PPFquotj*I3G5XlzC!zk2Rd4MyzqYgh>Pb_yln*_{5XQbP$_Pf zP|}{dYFaq9Nr3WWHMP@O%l6`=F>->Fz-eg5RJ5EWp`>i(gblrwbd2bXG`Yb@_&vT9 z4!4Fp`N(rwKy86E_YaYOllJ`=B51>#*V415X{_IA167+FX#d9iUO#9CJFVDlXF5WKoXmK$`BdBlLuWBt2G>rFV;#xO4I{;g;#2g6Om9*!oKBk zxsIBphq%jMEVprv2H8`yx-i8LM%*(RKCF3wzD4;QR2U*YqyIm;-YLG)Zrl2;I2GHh z*qA}Zwr#6o+qP}nc2coz+qRRFcYojB=j^rC`OS-YH!q$!o-z7py|sU*Z~_<;w5mc| zX3=#$|LQpA{yXk0f3e!B(PX)TRbMFFN)IvWm)*fCJkzDA-k6j!h)7PW`|3`cKhWikG{uv2&M8alYqcDN6D}Kz87USH_$`x^*pTZ z{A%}&vx3@OZEn|x;@gdg-0T5r*Mn!K2(9oK8#etv0IS3Vl>8c@=0nAe-^pg<9cqn( z^u+$5M#@MqfK-)#vD^GlYg3mW5+#JE5tKr96DN0@fe5y&26!O_7)u2E0BIMblY4KE z7pln2*L|Zh(d4)!+=iDbhRXMcVqh6 zDBeNaS#|PCy$Qr@bSn`n4(2qRm{Q=m5B2;B5rSq9@se!g`E}-%myA{G!4P9e?7u8W_x``y)U4&K@i0Y>@^$zbU&ng2X(51V`f7=Zy;ytPKlc2Q(L|~Q zNv{uVZMv_|Qtv5aG-GZW9?&WWy*SBsoL^U>W*tXkfprME>i}VF3PZJo4aTRRAS}Y1 zS5E(a9sQ@ZC`}Ive3Q)OIW)7Enm$G(HaNe2TD&p)FD{hYARpPol!Ze4LDfYcZymR9>31m zL4T`@f64WER9mBzD-lF8q&&>Uht!441!avy zVuAGSI7j|q5vE+la6L?a60SQ7yP+yYN!nzLYou5Vyo@OAgW8jKd>sPE4f<)B5^ajgZ38A^-!bu7X|>iv>z9Se}=(b{|-MUO5TMs34;2335?2jfA%d0x%(de{^K?q>*-M&efJFnOU=vPMu zrqJYn-GkTC(KCBwS_=Ej;l~KT? zchLKNar24Qph(P?_xn(B$ zAi8$W{>p0O***l%v+w!(OUbHqCcBjOL)lg`iA2(H*T>tzV)i;^^VX-tfUn@V&ig?6 zK3Vf-*fZH!>rqC&M67k!3);)dly}u5=Xg4+jJDT;(seC{D$KAyJU8)@wsYqF!#6xZ zW&8@L^)d*%;OrWaq$L4k&KyyAGJh9D%@brWTFs@c7M$IM%GWIFND{eDwivrG+J>~J z$g=aZCuMKu&Cg0U0S88j^Jq4}tr&;*Q*DE}Q>xFnW5d$Oq$Wy@I2f$;k^JW0ed>p@|IqFEuXPd;$$KEb z6*uwB@=-E@*71S+Mdm_$rw9LJsER}y5YQ9MegDaCcqhtENRKN8OuwE+q&c;q+|@oh=(c?X;E%p6Z+miUAMl!)GL z-0tC@N%kCZUAfu~RbT!c{~L*A-Shs!XnrX9a$?zBx^<-einG$9m(O{b3JTpUhl=BUVqK4q^M{+7HZn`0QTLt-nc{hN!j)y=3>4qNIpfOx-KlgG~C?W z_Q?p|jVCh*tN*rxi*0_qPIAOC7y3I%XoqIUP+E)wL@`ZR+qPH7*C{< zc;78~gYnnMm{2_WgL(qly&mBH1>UPn+e-gJzkLgtWLH3f+!Lh@o+LO}KI40>z22lm z7VzbrwVF`4QRJQRe=CwU@x2{~Kjx47!vJY{5{*w3=1;~U+`bI+Z6xYeHPO$&tbJn4#?p(w`GkD)W_>qHDZq`~O`T*uD&*JZ`%n z@5kw0+dsP`NfQ*NKPhEi#ZwexlP?-!m3_Pu3m_c}HReT_2yAnx{g3N5;l0VXnD##* z@M7@&r=d$JQIR^za-_9iXOsWD3E;oi+&>s7W6!od6!Rz{4Twev1jFs%`r;?zSuFO* z7H2wPaTinG6c66~MKq=S-3+zvp4RQFzvUM!s3O8Y)rnJHm-Xk$omATQ z*mb6RMHVc(0`NT4-cbh`5=pdjd9jAZ-rhVRy*i@SGTHCfMfl*iV2|ip4zY1r_+QW6 zzK}2+XkQmwpOGEgU{fl)GXCEt)xPNAqt82@hYcI&%@=dmrLB)lYON+1z#Cq|mfMMS z*(wD0wO5Sy2Rp{3`2IN??G(+S3K@LQQg-(Z?67rdg;qUy6B{rN=?HiFL9uF5Rl61} z2f#&L#kzqna7i)ZTV5ejNu*qqVEHfFMi{$c28p<(r3iqf&g))IvfEd* zLE4SvWVo=a43@|kn-R{=EP&fyDs+_E1|h;L;*vSmEbaJ+`SbgLpuBQI8&%6`$)?#j^I5J>xhWx(SNm2*~7<;zoiT?cc^GGD9muZbn%i0M-L1+pX>j=Y3x zf`CF48N?p$=u9RM)jk9*b)${ht?ifVe3ZfLZrG=J6D~}vcKnI8*y_@1d86BlxyHQ2 zhxE<=yxeGaRHIIxXS2EHmHsRtE#ymOPI5e39JAzkOLcH`JaY$c#YqyByUwA!&Hj4O z$pv0pTtp*TN}|=Eyz*LVSKQ<-)tbt%9mWh|-Lebsz}s`%a^IplTdYdP-+Dz>`+yu4 zOmMwBI(dOzz9+OWlOu~SmQ=#Vf=*_)XHm1pAFOT_Uk^+f z%Um-%Y({ti+ojtiv00j)hV-1g-Q((~aNEHfy(9`^s^KS#cIDF%1q$n!l1y;}lR%n%94MBSbsn39jQJujHMjl6WV|Ra4@}G0HKb5SiKYM)d zvE=Al9)z1p&(y9L=AVjPZyQ%sOL$LN7Djh%X>E~} zkrxm_9GAP(#ZM17K}~t7U$IZnHx**wGrh(=Gl@ytfO7EaSn4oOA6ZZR5qb%b-D{Q+ zD}k`wv@MApZMloTyF%WafpWFcuhilwant$8oj|>_+TU;Ep1jn39KkpJd6mKz;|;oa zyNjS~p=Ox*4KZG#iLUMW7s*G}=llYJ58ECRn{7mhP=pPtA9PgYZNvAFp58d|*?bq2 zs=@*Cx58LB0(R^HlT)2D5@TYd2 z+EM${c`V0O2Nm|2gtkXu*U;0VhIM@1M;h~)A@--ilov!%TPld+B>S19T8l1_@yr+b z+Z63*@n~sr*016$ySi_)9?TQ-u!)TgJ@dkn(|9VEhLK2H)b>UP{4NgxJeq@Ym1d|C zaPjbc)JYxcSL@?l_80KiN(d@AIr?5AFH6@%$`$q|1=TEf+C~R4Sqh3h^+yn3Z7LhotMJi{eQVDD;#(3F!4< zP->4evqh<<&I~4D-{);(F&?&$#YTtH87I?CW*}^V&Bh1Pjy+xfp9sKouHOPIUA#bM@|EzxL6;{R=kHs@(I6j{B+UVAS$? zQJ&)O18?J^+^g7xC40Gfl=Tn=lm@lHUkgxM(5leEe%yQNzL7<~PP7vrfM%Z8zJPm> z(ho>uPkB7<27p9)u8e^o&*9`Gnme$`oh0(W7{9!16#$N>G{emx=_hu?$qed0-r14x zzbGB?Pb*Vi#!1^o$y_SltX}(HANijqNN+6Gn{kNV?<)c;gzwtKHztp5eVkr&(^=SB zp63Q%Wjw`-PqM|Q#(c7DXXA4ZsCdnv_beoj&m31%pXc9~`^gN+iwyh8q$%$mteqlt zQ?{%1dZUxsLbIh1=Zmgm*6$&PKAUMJ&IgHfea6~HWk0>ME7TkLX+0wYWyT-BEN zEm_o0aZ7A|E;f&zEI;>-&dk6w$k^wZ#4EY&M+B@{y`@_Hz4<;`w52&dm|Q3Avxu%- zpW16ih5+-gTwm8uZJ0y1Mq@R#Lzv$vfugRv=uGGJ8>-BOYvG8!mnrYAZ$7P#&eQ6W zeqVIA(wZ5>F1Gk@Zyx;{(r491O5K~NX2kHhd1oW9JRg+iG+xTq7*{KF5O)TVx z82Ox&^OS?cQ?v|KA|8mfjtTX@Sczs{B{{e1nTprD|42u?B)~jhFBi9;@E)Q~RvSh2 z&q*{I>ZMF!`)KbXTkfAbAMAHl;Kp;dq}zg{;Wu8|ab6rZ_-0q`U%~quSFYLb&tyD_ z-(t|B!`=5!sCIouo;74&0U3X1o?7F)*89)=@n5@dpRT;B`nr|d+ppS0-m)T%y3RE^ z-6A#JEnTLM2L_40Zt3uod0ygG3=Cqa6tk~5-l>x~HT0z4V+i(iCROvZdwOE1YFofn zJN#5Tsv?9kJ?=Dy;o+&#wOo8vy_^}kb+$^c(g2c}bP+5u%^gu#3J1qCw!u9RTys-X zK$^$>=2908DOxolT+<6Y4WUlwwa+Y8cYSXohM1wK4~j z@3`aqb}@y;#Ts7*BG_L4T8Bg-`3~{E2SV6p(gb^#pVm!cG4;tECZ#Z-K>{Jsj6(aE zl?e9}-*jIOnEQD$k$}yvt&v^zd@bI2x)HbiQ!ShZhYfDn3~70_R3rstd-2Nn zsoFv53w}QAWy`8n_Hk^zIM$w$1Dx5v8_7f ztXg)2J#+M;OtTyYrNlSCKH+sAwc@+Hqp;ly`eP1-bWWo=_TUVJw>jo|DBywyV)XT{ z2n#+T?cRdCsJnS%7S7rq9Ry%o$OsFFX$Db(&>{XJgHf->Du|T+CSPW7sY%L|+FC6= z!iyL`6T3O+xKpg8*(^sUKtuGF2(+sDarp9`w0F?XbFLqdvM zz3Y*59wC8NaNsLi#XXtQ?5iQU&HbaOA%G@Pt5K_H-tf0>`$0SOdstryjzVX7w_f-4 zZkcGlrhjzc^dXM4oRCSWq>JEhFb6qpeq1{5IGa-cqmWeE;!v9}RxAME->3Q~C;J#3 zPf=2tOyh8(i1muLQU9fO*v25RL6PtbmwVC0AMUPsGqv{k(vUOPuLOaBi*Xc-xW3MA z9HAvZ8$m$@_$#t9)KglP0)OYLV_c1`KREl68K^4a{!qo6D%LX!3o7)n*=C5=m$B8^ zFUG1c&eEY9H6~pzicilnkLHnae4D0(!VWwk*qV7$^LRTQ01?bDDMn z4nr{aM)fMocDj>Ab%5rmh~>FL{(JiyZnCYcM5En+{WQ|69!0NN?-a>-Ki$_;8Rd<$ z2}63v3Kwri=~P)6ec@vgqv{R9yu7wre{5>Y`IjyN4hSe7;ARNtJ{SKBflTgE=j%a8 zZugQrKL28=%gfTLvOs1N<{V}9+(byyjnDp*MY;0q_(sw%6YPgg~zZ-UVe^lR0`LEdzpuUOd|K z8u=g^xVg4DK((oIoLP(#B%_itKV4MgyhF!=pGrKcrU^#S@7Vh}+1jcbfpdPBHkPN~ zWbq*3Ky}JJ?D1~@MbCf%eRd0f>UsjXO|16PVzF4x@jrxdKR#Qp|B$e&v^k+4`Kx}=^&O7Jwt7!;qSI(ooHAbu zO!Y$7LNTV5|LwiW`7L}7Rds!=-0CPj`u~frVgrMS@#U=-ji~q&igUPHqgk5!eka=J z4<&caoth2_i7QQWY8R!TPASb9G3_-&+0Zc0r-2r9`%5tUGYUXo=c2c(&Z|souBnWW zE0J2Vns^ao!4Pfz^&F-(3fqO8Qw~oWgEeH5R|E5tlL()7WF8QL)ltk4E^#iO0qt5G zQs7A1Bhiy-DVCD>>gSBQ#we?e9%=3AWW4KS32il<>v`M^uq^3w%H`$djN=T6-GnIo zcHG{!+(qRbF|oKgjNfOPF|eFVl<^60K&_S6M_SIw3yl+nBjIQ?v#*Cz8uuPYna*SOw5@_I z_E&XA5=LKLAax!Cj2G=UgVv`j@c$y0|GnYePC@iGwad6+g7FhD$t=XJh}YF41Y(Sm zf2-Yc%j0>5Md}ZhxY9jZ>k-3ldXp8utoXlDRJgV8^Qk+*b#>=I9GR_J-n^rp6b7@dOHA#@|rqlrFO^ zg)vJ=qn4QmA}Xqu5wsUii=Q=&tf2*vre&_8!7=wUKR^#|{>Fp6m&zt{r|pm@weFH( zSN=M83HVK!4H920F^AZJ);l(b11(`U{@x9ddZ^0*j0b20kz&`=i2SWD+-eREl+jx;y0RdGGC= z+xMwX`=M?t>H8X5Qhj-8)q0b@rHll40Q7H>kqZbsZaJA&Fa1l_#W$2t*7>m&ebHk+ zE2Ug>4e#+K`s_QrC0c?sC>p!&0L=V6hbg@9LHUA#j}tLSZl1R8SJ&M}9Wi_#b~Hcw zYaXK-GcB!g&OXhjwWM|U>@@Vs?noKmmN_ab=teHW7gx;rA; zQIbbSD^<+#SSVzl&xslQNL0147RWhmY73)rI>#DbggsPcP1w6QNnpzRQ4yZy^R_U+OGMK1cn#0f*+uhgFf0k53ExK4CZa!Eh0OjoMW( zGLJE@&UxxmRi*HUBJIrTxSG8UoEKJlZ(LX0s2uCl#YSZEsWVRF$J~ZZOQ{f^$J~*T z4b*0+@GrkDf%OVqiOuU;@^dY z?jl>Ue3NVloPCfu{5{?t1Jz);lmhNP9__P_v#GSVt*nS$>2z;qWP%!)c;z=WR%3N0)KGQzQnNPUt_%7KXE?b;@=vX5FcwsT@r210kAdx3w8k~^iux(8Uj z1dZ3<1lSr*Q|qqQ(Rp?X@Q2oJt}AB&?xhVE>fRkeS6|ErMmEoK283VbFaUg_f*j@==Qp@!AO!^D3~gbew+ga7w6MJCCwK(aFKQG?5X z1xe#f;+@`%d8$!bR%T{1(5DWwvI}&dL%n)I@bRfBcG5u>+OJJZGc?8Y*l{Gm)LV1aefc`|}xx zkhoBiaM~*+y-dQb6xDHEQv`1z8qplw6)bxduWP~p)jH$tU}P8e{MYz-E%lMz9f5lx zpsPHg-zagDobh@&0J~SDeMSOL#+)9Kf*?CgvqbKM;VDM2tSXIszUo$cdKrc}D4U_p z9O5QxFN}9-7f_gcR1@a~!(@4J@yb@kH+0gm7rPdK|L=IIfBZ4|L^kUo-JBMxaK9s* z7i^RjNf2YrquP!4A*X~bt}SkDIk2jKm4?cN9mb{P#aG1bWW9$L^rbjp;| z^05N8(>UH^TJ|~KgyXt$5TgPy{WE^{I)5?K!-Gx?j*QEG8xjif2Gy2)m1dNNX1o_I zds9RbAWYApF@x|zZkNc_y$>s#0?TlaM3U3gGST^zeDZ0(8lwngqUD&M_55ARV^}Cd zzIVa1A#C4~^s8k5Vjh)8?mh3}agIK?Leuey?g!S{)>D19vurO`$Q1@>%C90Sgc zwP!gM&$k?fA2W`r(L!6FDd%nbPlYCvc51E@YlYT>z$=e=tfQ^?uTl$YAI12|MSbpu zHnR>VY2Ib8rff9=${r`Uby;ju+10hhRqX;v-WObEeIR#S9Wd>UzpUnVJnQyf;YUz9 z#$p0nllNZh^aBU~wK(|Jdr|m(&e-woM@n%P??bunOf9q6sKUmG#)K$=Zz}em=)rCf&{}S?g4f*98|AjRu!aDB-#3Fnn9lg z<89+X`>0hagYI%!6kzbgL!ucgj>=%#V}H`);+t;3egbG?m3k5Se}RAk{}froq-U$I zvOG59%mBDQ6H-QSR4~vui7L$nb`HvO4Kskm3KDFwm849oTlS^g52uhfuzIX4uB-Bi zC3}{7uhMr++Q77-WxqQ18&x3f$3-&i<-x4HQ=GST4vmZES=RJ83-_N@XbKhcce!sCAJ_*sOWcECoe#`au>9$)> zMwG^=a7|K)j@3~81c}E6cS=`(XE%))UB^5Lel`#5o}plxj&HsEUS<)3%Y4N-No`a# z-m=Agf0zH@zAyTU+c{)Oy}PRx9s9hPZWRP4otj?8*12)Ea~S|*54Zh{=7#N5Ub%L^ zLho9uQP#Y;{?`)yzao%?piyHH-5H>xu>?T8Y+{HNjWD3nn_NybL?Gg2q%x54iUz+D zdITNBN&`yeji}^lN$c%VYRx%G7$g=#2}de4Gj#T=YxBnlW757e|-q%c{8yQG%cWbWaKnh8oR zzgyPJZ8QxgZ^#AfrH`4yqG($nX>0K9Iz$T{UxyXe^(1Wo?4M@4?jTPWQjcKD&*??{ zL{FjD(MQJ-f`^L9MKMeRF3W`$fx0hhzZSpr-s2@vWjn5(ZEYlC?6Stu* z$N@^GoqG2CdB=P+?G|~uX{owytA3J9H`!-qyq>U@O}uMx zQ#p6vxz`=#QSnV{VZU#?+m4!i0R!F_&C;*XIBg!G53b|t>sOpRbYwoKnuiN;%gqO? zt}c4d`?g|VbAcB0GLk^n4(?^Tgx3I9uSuNGhvtS?FLa5n&0atNSURB47Up!IVN5@4 z@1u>nuZk^%)4B+SXTj#-Hb+8z>5JcG%Yt&&q?LCni+mSRm+^gSI_tv3}4;d$v#z%Q$CE2T&F1qhWm#+P1__e~BYuyki2Hnt z#pQ|^Q-9LtB;AW}>-v-sE`VQL_4f~T$v z;SUS16%A8Tk!vdfs=ZM2Hn0ES=h_|#`D>ecqhg+e8Zc&K`_tH1%EHC5tmA+%^0fG@IkYp^T-3Wg`9Ga#sJ0@}Y3^7W(ZAKDTeY;Y zE35VQZ6jKl&6NU$P_4OWAsc)u_Qu&J^VZxqt(85Gwp@^RkhI3Ns!AuH?rZ0to($PN zShv5Cn;FUN!1i--4U#J^DvO+pwt%63B%}W^A^u;?%C;@PZf}1!*LgAggK&YYvE!jN zdnq+8`bb<^x>pQysl1sSqHq?<8{xz2JqTN`RP~`BJ@h3#tiwc+z??54)zpT6~uG=89CM34%Gb){hLokH`C}psV6H8LTmnTiK<36O8SViTkZDO z%HlW@*`11T*(mF4#%Wfw_16yF6d4%PE;f-&IYk~j2V4=4a|UO`8(&ZkVGX5Hfyv;g z_m~s@aMLX>$nJt?h)ksfuTB6h@mu0lmM>?LU@uohR&mOv6b>^AL93|9!uTW7sznkM zo`nFKkTQg8P>|{seu@Rv3d7onwt6rqDgd%s>m1jx%jMY!#fq$#+V-i^sEAkJQTj%p zjTe&IWQ->@3==VuXdW3#+f*9gUqAfuL$gf$VU{s%W*5O znTX@pdCT$}gHH($&N5GVoLc7ZZ+vZZEp?p86RNx9h+yKX%M@r&x0wcNf+4@S!{MgE zrWm(DJ|$b@bVsgWNrAp7--LX8=zK@ZS#lKYV9MN{6k&0tD0~(eSc_oC@DP?XQh(?XN8D~X|3%uNMns1PVWdV2-pS<7n=lg_$@-Lv&(@}>@A#5JyO}TIdhAf zzJ=XWvm1`B#7=M49dd3aG_gUOeSrmSN14=bQyyInds^PK8dNB4bSu&uO8(N?<i3>*z0j+bx(^}i=_d@@mqQ-B zsp-qLe>bK04#E1S_2UCdgu}>9^Bjg|4lqjM){{WPtq6RByAO@ei$a{#<-a52#q7$} z$JGe3bMN(l%5?Pj!nVcaEQL;TR=HDl=GwNC1vB%_R%HD_=iR_m1?GrjWYP|9NA@*n z6WXT&H_ie)HV6G|t!O)GG~tVd@~-SDr|QDYwn#T$7*IY)zuDV)Sc(cAgFx_3)1HxC z6Go?kR#mO3MaV;;fpzqY2|6~mNa5XBww$R|wik3iG&@}^IUQH7?P%Yb+Fgn8n)}o+ zzT~V@eY?Brn?FCeu-VfWpd3pF;lnc<^)g4)?1eeTZ}+4}#({vnpbFitx63Lt=y6mw zNy6pQ0uhyFu!)i>(P-JZA(@;nllsOcmp1H}fxAHFuDZb_47^LFtbA^c3%v>4X}wy# zuo%LvZU@^7O)f|I`9E;&9aXfU&giLJCM$KuJxYFEDqY@=ZFsAtJzd2pWq+AhuI1{B zoYz_rVcm{tH-f(0et9KVyu^DiW_q=*(McdDF-^TLz@{n*tyc_D{oA{<4av!jP{Q%H z4qeWTi)q`d7o(}WHaVpKhghhE4ie~;%GnELClO5=e&=lSI_yK zykiM_FVa9BSAY`^AasWJeTT~-C_1zBr)GqU z`43;SejTHle&-N`5gKBQ4~7LO8px101mk;VrWj4L>84npnM9cTr?J1h-Aqg@y$})e za@WdT8M##V6w0Yqa7nN9NBJ4`?umUl^)81nE#Tv_jK8QY_7NdD5Bp%bW*N=CW2QzK zV|zs@OAvpl9)n2sPCrI<=lQfNhZEi3+nhn+3JTyEq%+E$0v;xd&r!LaDWu9p{*Eos5{I5XIUG|IX z?t|d_h9aOcC%QkBGhtmeA#|ue=8PrgVm%2UqA%XwXFbXm*t)8~ibwY+p3qq!N{ikc zVo#os{YSdmqiuEnTXvZVPygTPkBnnTrsgc-Ipa*)c#b4-1@qtrsorjem+{{{c~f(# zQXXgn_9ik*R+z_J#3FE3aRToDj5r2KU7Tx`XV{B|2lc?%#&`cs@Z-Pf0lq<^>+P>LI<&io`oJdAOIvKRAMa@^&r;wa@ib3suk)m7J*m~PX9AkC!Lqg? zN%SMeq0vqN^P{4@QT!FC36*d?QmvN-s^rpn%!3f*n*+r{+{Z+iA&|@IVS8(T-b1lu zX<-J+_PYe|TZ}j8>1@Doul`uQRIYoG^P%V%F&{pw@XGdEOom;&Wa6{44DKE`z^6 z=LR0vtHeoei-d_@FJ>fU=@Y3YMf?`@d+ld{#5S@EQ&O&l+)7n1pCYA_==j&4TC;~# znoQD%0(C@M)P#pwCzh0oIQ1a64!y*`d6o@Fp~|q&j7&_ze$f1xh$)-vJ>htLkh!37 zQpr2J7MyazKj7{>z3wMvejDlFvE*BS{NfupUpY*!`&nQ23h{c66(6CW#A%18v0RHz z^SOXC&Byi`;ITXjeW8!mI&G%rR`Q2y)0cr~lATFDO6<04k6M<7Dc63uv})`{HM&(b zq<1CG7s#Z{Y%|6d8A%_#7u-)~Zbl9O`sP=#T`ladSFubxw76JLNkE!(Z|7>wWvsi} zDA0h>s4G{9c#FwV&Xi7RmG?(+oe}U#DZ=#SWbDn{IUcH#r4Km|e=lx-w3(*11n;BR z{~wSz87Yts`R^Ud$PctN=Vk^_Bi-2Jt$QuYB7ZhUPv zV%4#9F9*>5!!F6Mt6=pJ3-H$9+Vce{$**-Gh*s=jbl~ImL!fQb?Qe9 z*4qdnte4Z<1oD3NA&FCECxCu*t_=5TfV+P6JqWaJTg>==m4>|c(?13@2@oop*{SlVt z=9dE5q?CL{iz!TGqLvi-06&M~N$|@lGH=vpCEc zX(+Q+5N3L-Y<;j4FI#f(a&D!BC-jRdLYCU8;bDcxOAg%wY{~NsqDuwjvP|;m)zOUW zV_}y_aJt4f68C?qI-5KqdV@`{y8Q?haRqzqti5!Gp28M0YtCo#lVAwT4}mUXX(o+E zhcHc#M+Y_fVkMsYMo*P$FE7`vZ;F2{a&+;28MqNbd~y?~L*@C}i@E0_p3Hi2oHUUs z9JlV8KW~}`^-Lw_Tg2%$Q$t^8n29kAXhO+GsJoNyMia#{jW zU&gNvWd_>n*vtJfEjPk?bNpc{b{LYD9xY#Sf=PaQk_}zv-@kK~bS{vvaUmm9LN*b4 zkk{D#Y41yfu1nBXi;N+M>%;0m>oQ=8k4S zjVS*?0XvMFJyyQLl)Qmi+C-{CtUjhOEsR30{RguDe{V4VpRcT0NSmUqxUcNaryng1 zWs@II^r*(ixZo+dFr8xYMGm0QP-coKs3@|6`L#vs#GC8pVwWG-k!j0zQuD-ED5$d3 zC_ts+-x+*u@9Wo&MWRCj*E0m6x*xRs}0M>&P}_?w~WT8%~x2{(fJcsw`#h4 z<}ALIH-@XOA6~Bp@S&-|uW&pr#;Xo}sDmL;2sTR>%3`b=Hh8SZ@Q)HJ@KALVc$jSuk!z0NF(%1l>l5d0-*04!x1FAo)rj1|K+vGco(-NHW3Oxy*ln-mIm ze!iK1;&2D z1clk`6!wA#!R12L%M=pUG3E zqU6@XDiXS6x6wLcCna|d%MoUk$y47`Umi*L@hmQ?PKRc#3+tmyoj8_F7X$apX!f*| zx#Hqzk7ohXZ;R#mSltj_d$DuZM@f-)rsJa6btG$Ko_PnO&hR~5z>QVsgYwA~_r0&L z)$29{PfXLgez-4_KRd+9vd3h`{SMFDHo@a+GFMGc5Ma*ht*fJ$$H{FZ%5=@L`DCSe zt*X7CaZ$7HRr_UBV0I_CyNPTAUw`k;^Ml&l8@3HS3;wJ7E>onC>(S-pj_?&;{V)O( zFuQ8rJhlykJ??T6Jd*F7U~ZnThE4fwFpifeFyQ^&63T8_G<)5<{@a$0lai#Pr_?!R zP6Y2As*~q?M{5Bj2mUH0b;V;Qt?qStOz^AWdR)^aO%JsK(DG?qt^P|xdsq^LYxjq| zxfj{r>7R%{?0($S%&%HiC<))sr98Qsk9aJuP}D9oI21~cB}psmT-N$yON@f8gJ@z( zlqAV(1Abg!QN;`*^Gc7YWnqurOzkr{prnP($XaX6Z~V|^5o6v{#6>Ae_`?uQJm$HQ z0=^bE;Wek0%aD+sQra9(#`a_Q5Z?m`p$gW zpH=k>I-)akPgQZAhg&e9t8BPGfZ>?hrkm%5u-$*xM-wHfi=oPL$#Pu>ANqDat&VBa zKW;o3ozyIKuy@|!T1#X<_lwM#l~=ON%05S^niitYp&We7j#5=7C~LctoE_R91U%s- zN3ov{d+mF!iOeh{w;sD(n8QnOoY!d0-1bt_mfz4$92-OCXc;9cfrqJDE-2m0*S_cUlgNO!wK&gJ#crTR0 zNnu;G&3vc%|#WsEiXzfi@$KWdmnS}>KVU{eX zuD|bZ64_bnd48sppjPtg{6!x)ppauOFJN=e(5=Ep1jF#Shd)nZ_Q2}){#Ir2qddAnVd1oss^s6=>7TbJ(F$R}o)5<1sDvZ6QsV?!kYVPUWRSuti4}qKyZ({Jyw2yg?U{YSD8e>TDjVHK27b9Rl zqD$?OC$$asD2tUtltF0UE(K{2uZcW0*E&PUdwA)IrXmfq;Y!TSanNYt?L*~v&E?W zp+(Yn3}m(FJA0X~@zQoyWxZ;a>$V-e0aBdt8sAWqr|asBK@yqVrE%zXR+-L{)+pzE z_xF{{c`M!PCLAzpP1k8buyMD*7B*3DvNW}NH1?H0s%3OxY4N1Za;sX_@7{e0;nU4l zuRMFdNdghIBQyxx%vI|ABxZWh*dz_V;d&{b`oymvWm7jus=fW9Qj}Hw{%a>!z#-du zw?>ru+ELylVxZqq^rB>%tEk5%&0pFqo?IleL-ALhG&EKfcVG;*E1xn;;(=cQ#cZ_x zTR8t5hl2~45rvvj2E0({(OfAARz)N8X4(mv-XvkUK`3+*Fx0za;kROop%7wcq_J<0QBVCm6 z3`#Wo+RK+@GP-tv!t$Q*>9B>e=atW}lRj!q`ou8V-=iOyS|EpkyxJL(Q>Bu6;C=WT zz6s)E$GYyK&~`goK8t1kGT(h7rzn$&*eIo$@}xYVdF7V z!OeNY@#ub90KU*9%a#42V@?|Pb4BmXa&9l0CpOEg4R{APsx*Ks~^t5b(_wR0cC#Wj)`t~$U%m7U7IU(?S=a%0WZ*t(P`D( zQhDWmEu)>dkWr_^5XR{8QT0NpYHHh@yyEG{Q0)!qqgkBR!NI3aF?>ryQocGK< zlRdLPWG0h)uf5j2e%G}g3*>QY>&3EuP4@eAgY>WqXI4n`_IQ8yI^gcW*XgkTNe;BA zPD0hBg$&4ci`x#9@NB;eaQqwMt+ytVbF~8c2&MI90lDk~5^>)~+k0x#be>nXO{v{t zLoZG^;zh95Yy2*OR;@TR6VxTpuT)e!NAe>y#ykZG_m9Iyxa09TFe`5N0}-!!Cl3|0 zVMIWxB(2NQC5s)M*PQ^u9qb^&_FY~gH{yf5KYiI_X*urNQ0HJjHCZ(OwX;ispk2HF>sYF*xhQGuAIL%(B-w@G>Inpl4M*i}E z<#>DU^6>Tzw86~$z%mV547$=)o#;%DJ?+5ETpx7C`yVOSrw%1KW=V~6pR^XfAsv-A z<eS`m3EZsl@hN%{qPvCF}96i znT_%yCmZ z*vSQigWO^V!<;_mz?<5)G!cGq>@o2pJ+LUuNOu($ch-~Y#k}M?$c#{FoyCu2AmETf z&RI?Q?Bsxeiypt~$AF7PK9F(EotwROVuP{dc~tw(oCg}w^-?a}1iWhr3sPg1mAy#N zFFGXY)XaD#x}1ORJEbP48ZU!PPjt^Y1dECWl{o};VUcS442(zC<0*+ur_pvwe@ZJi!cE+cD+bcJu{y!kKmh%&GLd<5Q%tuNeQ4)v+1*D4i!SU0jh9j{6sdr}C}kg;C{GIO6Rn`$-s zmFBniom>EzMkxkZ>WTx7f5>#ZAlnKkXKATU?BT6OI14&T#I{Zo+J(h< zPl4J`BQAahp=$>&l1oT|+$wx!lxzp38~oW;?wM zDu6tP!04RN4A^<^=^gd4H{az7$=gPs{rJK50r?_LWU@*+YMn4xq0xM9a)$OViHmfM zY0xQE#fb{u8i11jDG|#@<5%1e&(DVMZEF9rnv0in#y>uR6wt)BuYH+OjaXDtP`nll zuD<`8XT~LfBu9H|Ea0bUNZt$KJO!8s`_KTITQ|kJL}|+I@}*0-+k`iZ>X~y?G##}vJ1x32Iklp4{h)Xw z3&#NN_G1}(*JXud-u)==%NhM9M#vUbzzLSnu+eKmU499lyJwpfjNL&OE3_i#u*C?` zs=(ra`!9>Xt+e|foHAQS(*mcicg*eJH2`0HJR>CXzj}3xEL_RVeGq{vWCdj&wcXqz$xlhsjQ$5Pp;LLMof`7vJ!H%Yc>fwb1b%#SZM@u(DbfeV|BLnC zeVI)Q%n9izmBkfLWAvn zzDEyKM;L!>UEX;~*?m4#c)#(nrR+idMx6b~Sd%Ku-cjxvfmk;c?NEZL6j6FqbRo1? z5^TnDt#^=-gP?lRlV;`Z@f_PaP9*&VTH=gBIGc-IG9 zryd(`mRz+Osr}qFGq7`l=DK=kga<{DH^NjO_*7U%i!LH?tO3R(uP8%{^@e+TOQM#v zf}la8lgHH#dtzNJBBq`*qFy)yszi~!^T^{?mw^2&%Ir>g)YCk8wY$VWtc~)81cl#! zky84kI}~}dgO03+<1l-Rh#%`YfBnLiy@#$Q$h7NsXacb_59M0 zn2HU0@t9XpR|PlA0Z&5uT(6K`5wN+ru(0Jt{|(c*VLR;(rCJC;6$RF>X1fO^%}$+L z++vZ3ex^)1t`@P2&Ea+|Ugq9VD&M$=U&_Drf7H)h1{C;notngn?3x`QVP$4Ms_XM8 z-T;A|5>|4(S$9`T?A4T@Q~R)ETPFdI+o421*RPyO^-~?_zZh=x5#j`x-gjv>>|7D- z*h>jFx@F6Xl@B)qHC#}hTc7-*!Z@;c91qlmj+K7fJ|!CHBa9}{^N-9zblj$jm1HoLyT}9OI>%>+sy7sL;@U8)7J{2M3@ z?JF_vT9sP8`R)rXS`*SyQF??8?^3h<3-+ch2}B${%cxn)Z1SY5m`GsaWdF zq?d>NNt~c`F^PRN))567ZAqDq4h{i`5{T%eDtEo!yXR=T z%=KS5rhXBcPv--(K76f?qL=4$`#tTTXodprzmH#7*ybxM9DYWu`F7#V$M{JHv$?n( z&*FjfKT;_%^mhwg=)9ApeQ2Uq^;pI0AS(0Tcjy;;o6j~ktgLU6#?xN3CeS@Udb&4q zS7X}`6cp+DZ&r`TiJw;=96>y!*o$}l^zmK=6xgVy5@pp9IhdE#4TJNgAtQ{%kvh{wG3p^;Sw zaqTdv`QNVVu^?@+W&h|zlY(8YAZOINs&C72)qY;+{g;?qM6@|@J6gnazY4bpf#&-@ zZ(VaYR|Rlj4x3zBueY=4JhvP;2&PXTe?6~gn!Bh}&}}!%9}=FDyXm`axFh#(=Wbpk z>%J^EbK+GDyPG39L20l?B4Bx(X7!ElO(gf!e*Cwbj#ZCPI|aB)dzyKm^+M2X0RN|L zzguhoM;AUBfwsl@lqk6>KGPhsv}*3cZr(=yK@fi>dDyX)YW(n{ckp${ZcDl>vYCBm z?k1$Z_kxbE^*$@EsbG#B3(>}TKBRMXlQ+s^n5zmnG#}&cl0?A}Ra-&q#6e(&AxlX{ z1=F8`{%g^i7c7%OfRJF);9u=8iL@*q?6{Vs9eiecb-0WuDY@l4Rr&5kLg4$KWR`-> zB9kxDZrUYiNA5ss+&axPSN1HC%J70JF-(z&@Thj<71XLJoILr74?ZhJZ@R`TBHb&b!BF$Saua#uq(VczQs8i3lK>3jc+BbkPmV7 zXnVMI+2-gLe~9a7pDmC(JNH;V`n@~PPpm;?2Kc=Jy4Abz@@Djc)ARtH7S0e3@GF>& zVYuy%i~}Ueu+D~)-D&XG)tW`!7;w^dREhMc7sG@VC!v1B{sp58!uj#Ke|yJvUrwGH ztHNqO;ps#iaDStv>Mc!ZE(a&`h}n|cc?Idie%tpK@q^nRFF8md)zN~TbFx|E()$P0 zP+_v^+i`Ck6g`ffX+dVMxW~&(1+AQ#%52=PMM7?{x3DD@N8-QnjEWOfwGzpf=yK*N z!Rt{3YF_$ag;MHdZ3lN6Jtlr-8Snbn_Jl<+z`oU3uJ=TGM}@e1-4X(S&xNdLKxQIr z0>WrB#=JwI4?S;RtI>bpWJ(i1U8(rnW=~AUUsEoiJV3wMOSm@CUa&fU{?0^*opzupQ&heuoGK3?x^TFspj^nc^BlmDyC(g9jHAB;%ZY4I& z5Ix>Jikv!u{_|j%_roJ%92(6ZEvyXN9kgr8)K6H0#qEjY8w8nvuA(C33T_RCrojNH z%U!mwwE@q=63OD^JlfMvPrJE}9c)uY?rCxzW?XKiRRDr7Q0kLkZoF{he;#rBP}47) z9V`lk)dD|IeW1E={RVis8ZL*fF=M1JQeh2H46@=V4)a+bU~+a;J!;<&;7yx+qG_vd z8KB9{zMNz}&U0>ZM6xiUvR4uvq10Js;<}Zh^_!#Cd8$4u!vBk8RBxZJ+Gf1{dyNdv z*ISMqcZ6h`q{gya0$Yut#u>9rk;iWnt1aOHNVUZmpS}*n&{ar)eMrYd^_#MI^V0st zmto&`oxVy*hnRzl0uBm;Yz`Dv6Cy_UNO5-Dw9arWQiu327mzX;h#4>RC(?x5_<98g zUZh0YCl{p`m?D*Yu$M5Mi=m>6M5>^dnSA(SNDk8H;qj6##qFPfP7ojnFra-$e9PL0 zTN7>_#jc~M;X+AWLT#yZbNOD0^pM@6z+8j^T7S?MBEBx=eigwW72K8M?Hj4-w`c`f zrZn(dALh>b-OO8QS0#6Im%0^cwC|Blo5vc9;+^{POB2`_$eyN(|IU{gLoaE8KTKyQ zHo6K0?atAkI<$)W~ zxYKRy(c@r{TI&kHZsfxXs2)|vT}d#G$dybhIuYxJ@jy!OeGXxJ?mJm~V~nMVVfgB@ zgCRjK*VeSFCOjvR2;g2BX}8rnXP74hgMQTaR{rrC(jc+h8I6&VC0}h(W|NU)FYlPm z+#tn`4ko$U!<6Z_gfs0^rMn{Ep-{9(k5{y%DO)Q;!TO!EnGS~MJSfj$xm}6(Q4K_=b3G8Gj~P%0N2~%l@&D~+s3q!e#8-Ghm#$d z%JsBwrJwTwletEz;K@!fsNjY;6%e?l4Pd!$RF$Vb+AFB3yAyC)OSOxti4PbJ9H!`< znQ5H2ai7|`EJGB^%q}YscioJ^e7QC|XeVuTxwIQfnI4e*iAipC+!zTB@SzbFGYJkX zE`Owcw{w-C%ze$8Re|Bm(Ri2kPERDYM~Q&n!qMF*Eol1mv3dD-iL+EUli~@oUnz+y z`C~j&d*Jgl(m4_rq(lX7Ipx1M!%_qeI9nx{vJYpa0sw#j-)ngv#0esJ(ht zt>?RkV@ZUeSd_cv@$+nL>>ILu5`yL)mmMV_CVgTy*EQscL|V5YbQ} z(*^x2iVQRrDh&RcYyhlgdvBjr(Ny~z$S&?%Y(@N=U^_dghXhf3i#E%Y@k_0+pNnqP zXOi#3A1XMmJ{9Z*(B3|mC;~9uw5gB8=JZu|yjZjjVY6E6yD@?rV{LN|tj>t`9wGd*p|& zw2sJA?>=&gI;R$%Y`sR!B$42A$9PT6+ksmQc*T0B1l76I>|D$FXHb+D8J=*u1nW8X z-)`brKd1}34dS0lzPt|)oK6I4rj>RTK3i#GpUM?F*Meo-T=!v+Nnp-XYy9a-Gg^?P6^><-6!e>Hx zf3qJ}4EOFC!h5=(c38}j5dvbSD(}ITEiueS>yAW}_!?Q|ldJR8tg%xHZe0+!6bu4n zq(alwbwQUj_~UrRL`GvfyRn#~&g;`bRtKm|uh>2!%^qW|^NO&j*ATdH^K%yPoM;*l z9zZ=e%-Sm9eLr^q9W-6YtlM5$UYM;k`8zr1mvC7db+e|Rxn!({q)$ejyIN(C|DCTg z=lKy4;;hoiV_FL@y`=BT0LIXwX`VOW7quZg-+^1Mr376+0+J_((}*vux(JedX?m26 z{Sr((qz_{CUjeYY$7veQ5~TAxvR}I&8IN4@WZ1;ucgiE*4Y(HnoH&;?%dei6qqKwi zi`8Ql^SFFL&BNa;|E;f7CpxQgzpwNk=c?^jwjt$F)!mW^*$QnS-?BHnL%ElW$T~{! z(%QJntu$J2L%Pg+uF|xNjAeGwXV2bzNb0jj=I-j}>9sao7?a4yV<`macB>4y9SdAy z!#Bz;VlK1h0L2yb~o@UK$6tJ44ED*$`UbnoS1s(ljq zHVT*D#t>A0$}VFy;6bEw&C*k^G8Jkh7gZnIsjs|_;n*Sj8jySu49-t9Fc!K|F;fPv z!4(jsri0IbZjtt#3h|(blj3-fEcuPoBFi0b>DoNgq@A~=97oq_2k-ph3_ZUg@!_mU zcOZU}9W#y#9ckN(e_LnOI|3}At@{;L(1VQ|3aPZhCGw|bPlUG~p?Dyz&MOL+24rV4 zzUBmvWc76yF~tffQ)vv0H}E22hjfH&)tFXSjw7XhlHO;@*fCQV4ETe5Py8}iT30_K zY{6yzN0Rrn+pbwA#`mG=&F}j9NV~(jdKqoQde;4mq@&66tk}xl zuKIpk?Uti`9$*@%;qCfJ;D0Y@MEK#T|ANb&@b^%Tq&@Pe1x5x~?3obJGv48rQmb&8cV=QsFxmLz*l$jh zU}U^Kg1vamzoX!rWu7s~-S(O_kmhGd0O@bn!w3eDLTJabxxwmV&K@bBvt$v?VAhtA zL=*PgN4!Abcb;ojFJ0$>Kd;)ewcXCi*#0OX32XV zzeKImhsY1C&@Tl;kSY>;dbykE{zai1K3H+n;CNz#;x^GhrN}_M0=*BfK-#~!TIsOr z|EU7-uk~-MjrgkPjPJF!q=(LMwaz03yDeLtR z0>AFu8VmZAH^!Cam>uW4XzY{*H@m36g!T((F?=-ZrjpoX<8PGFmAdLM199p?Awgcs z9B~W~r^flIU`g<3&4Xhy*{`2Ik-eoCgZpsffq%ia)(22-HN1DGRKr*7fX#V0?gC5i zggoiHuXx(Wv0)*E=5KIcp8_jvSQB{8^7!p6#;d#6(=$O0EB>Zbg#io&%|^il6O6} zoRYqr-L#!mj>Qe!wvgQ7=WS#~urDerr{G0TZM<1C49qBe`La{0ZiHuF<**JiQolBM z-yRPaftwumm?L8?l+`r)l~@uZ9hZ91(Mwe24^-K|od3eNjQEbZsk;7()R8x==zB+% zE(8a56j-$(M$pyg##3?cSuU@qwCPdOOhwgr3#{<2Sul|3>uo>CVfNQ78B=Qd>v4~N zSk$6EBwK%x3!hi7TVzQ>ypj0URIn!edOT>p<0`Ij#Rj&9KWjZOTQ#yd{0RJx&?=PO zZ@mti$yo3?Y=CXsUufUQo`T^4gOxKT#x6eRSqFwg?!h@0K7mXABNa$&rr%FW2?PCv zoy*B%e?Rl{<|aUmVW@MJ4652M`uyTF9-DFcQqyPI6IN@B79ea}@$U7*{9|+(tZl9e zNBAF{4m#@c%35W7Z+(V%z}RLCF+HR|S8$lE2y9vqB0e$% z5r>`^KE#_%vP0O%pF$0+7_mG+@1WT@SX!uTR`_xoc0f~V|Ln|g&~~OOXc_lTdtdmB$mBfICeh|$$J1rg(PT0j)Ree_h%7#$nn)bxwpUi(5B5IFgJyiH`M zQ)AJo&8hYKJM5A+sE>&Aqw&!$ba?YEwYkM8IMvZEk~}jjETUX3s&c`V3?70Hcfd)q zfipzL93nQ~x_d~T6YxB?i9q~QHFKE6?kAX0F4x@-0u~bNmcEHVwd-wte>Oj!E5THl z$`7sh?jsrU`5Wh6nfh#{96daBP6>+aP-b{R_ z&2p@*sd$dcmWR4>Q#$6~ob<8cc$WQc0}Qn(Mg_^TdJ6=1qtBzsJOh2qb>z1~sod&@ zysl@?wqwF6P?gM&gK1UpGyI;Hx13vGwJZY@bFzu#L=W%w4pQ3bIrb8M8`gAOWs}#} zVwQ~?V3BAqhm!r?W;2ibyOBxI{ZM}JPM$*%gVl=?$v4!{f! zDdU5nSsSCj@hsRLZ4vWn&BjR!GBYo~QTN>j*^s>1vi&%^18OGqnq7Juw!k2 z30l##?CemgFcKej;R3XMpy}=t*>ODMaVx zkl6fqz5c?;sI)PPjCQsK-7h#^U0U7q;F{TcC8HD5@yoH~vB=cX7fZ0q|^r-y7-VO7LKc9=sK z!6tYAT(31gC~OnN(a^WCZ|0XSy3tqVf4Kh~tg=z^o?dYj7l{cSl4aM5$IshB8RJWB zM@EHvQXEYKEaC8b2|sQ#KV`ZknEr7HMRcZlR-`G*Z8Wilho%FU+m`D7%e>~UG*n$5 zA^jh3&-*H;&xwQMK0)+71I2BnyRL}l#Ibn)hWI-}DzkYzx(Gp_ z+}c9Wp=H(VQJo;vC5#jjOp;FAGF7N)I}eVMW5sQWOjR5 z=Lg50@Kcl9TCgPEk6i`q-M$R^rC5nuZ0cP07pUHsl%qYBW{=|YZ+dC&u&h4MvpMGL z%<6vp*Bb`tm~R$UV%D_^a=+Cj2}9Oj%C{^Q^xd315a;$!&zm zsi>Ql>$EHiw9Pe~cVnr*g4pveiiQkZ0L=Dk|7@hHwn1yY`MYdxmSWzex?@aj2>Zgd zWsC>B1Lfde^egkyl%Q4{jiaI{mqD5irsux3-WcY_xIf7?147NfM-Zc}o$eY7U>Gk`0RW277u<~6t)MZEC0Mz9pi1gSKlw? zSMS}PsZw|)TX~6@1+{bzub#ky&c%=fDKz01M^^9(bLA!{^hoc_Jr^u02;=RN^uE*J zm8Z8FEw}wogz$wzi@R?fOEVn15>z7gV(N%{VQf1_7&016mSqiiZ@<7v^&E##ur7V1 z8;(0*9a(t8&6AXK)rC9yW%Tf7_JT5iE%+NB{U2-y3S=iG6VeM0*pWdOpc|BL?sB)Q z&;*u&wS&;Y+a7_BCD$YR8XOh}85!G}IpH5aTa7xa(k~Xw4gMR%Gl)UftWORz9F)E> zT_*gR0tKyGA+3Mdb2GyQ z!?ofylLf2Kge5eI>pU|3F%fVsdBb0>xo0D7X-VZ1<@NG=7T<{y%7#O$!Rmp`!}<<2 zNwSewGB*=MnX(gFTL!7MW#xMz47FtIK9k2QPpS^JrBBlfjQk^`PR|6$eRF@FQXFx| z+ge|n?5V)2av(DA{acPyR4_cP5xsE?U3ehQ`rTldvjvzz&}qmPsf|=$Xty5Z^ z4mrK&zJ-PheKKxZo^%PE*g0T>pGu7S>~RwrVsGBSc_j0AAHXc+K(#!WyHOwbyg%~$ zw2jQk?fD#S7i<0Hc2KP$a;w^eKlShEGs70v&!f6;ax5RB;i6-C=Tc_I%08Vj?C#Tk zd1-uYTx3hPg|Z-D(~{6}>n^{LhwcrEtmCu zBe$uzkSXMx_V+X>Sjppc|Ui?n+UgEObN?Ml*Q$ms*v6Su(H^#=qYBDbTKB- z$cWEJKl{9k(|aZQ-c?q;-6Wx@fm@xq)tH~`M?Xsa9yjK*6$&q{@+Y?35h)-~WCmLF zq++sAknLCgv}^zXg99~;GbG%>jUc(_HTlDMUe2M5_{@PqY_r_3ZmH3~ zZ*a~~*apvW*HG2qi7)jok8DR{KPwE2(S!fEUWC-`DJb((t&?xxe!#zfDsneZF`US^ zQF^OOXPhVe=$Wq^6;IEHIO4(XBA1)rqXm+q&StcKWIJKy_I@|*F`)LRl+Kv!>m;(k zL`b-KtIeWE;{K(>O=(GvjhoyF4)u6U=vZ=LHtM=}rz=l&%vRK9czb>F8^z0C-=JV$ zDMbg7K&fu%tlRTNYZ+%&F)3M5_vd~gg$o{vWVaSh|0+K3`q|&31B;h6l-B7IZ|5(3 z=AfOYKKb4&sVnO=TRl;hbse`k+*>~>&` zLD*__wb=6N%8GPDgKr+5W9}nDW;4E;4m8gTuNGY{1OzHbM^!3x)4AcF!(-GZ8sCw2 zkpHH~h`@Dfk#tmhAkt%>Y1{VvOj;r;PF z?9}g_LYM*RDYA{h#;IOMQu{5#gd89LSo0g;v8o2hI{bkAA+t2a1=D3GlZcl`JPa9# zGom#VLcW5V(m)m++b+`|drj~~V_K(YOj))}yw5#g;n!_NtV;0ebK$5MGm(u`&YRHO z`9AcBkV;FM=A?=&iySGOjVW{+mH6P&8)|)<*|>B`O#YWKp0YiB(fHY1$VznNRhGEU z@zy={R_xIrw4~F+(szGt5j+NDqj$p^v#>g7iC zUfE(j7t4D*`5NxE*Eac0p!2E;k?jr<*7$j+9!#{K3!a zoK#O{zZhCwijE%9=@}?Q6S5ZWhA1I0_o{4sNAQHTg9VFapCg@CD{f&QT1Cu5YZS8u zBs`b~DW#-3%xwwg&W(v@c4<&)W5{CRLlc;KkK6SxH-vy#J;{)SgKe@$x<5cKzHsQP zXz9hPdmjm)W(%G){&+IZs}qddaoC$|6xVKBBXH<`mgLCyus7mF>u99&MCetjG|SZm zRm;tv{?-71d(3k`hWw;Gw>Pb#jJAeuClkh!@jcqSXlk-SU_yq z!yOH~MY&krO?4$_YAbJEk3!R6MG%f%;euA8A5AXh(QENq_TXBaz*5b6l(1v$UwrB~ zF`l7j)o@#R+*U&`9mG%keW|iEOYX+<*uEA5+J4dEyLx@z&4DsabiO(4+GDQ!cFGbj zxpH|~>BwYA8zCGidQ`%gfRdB*wn2}|nP&?$U-WpOutQa0i~qC>Dmuj)2i_3tp3- zR&_;~QPJi%@9P3k;dC_3Aolx)Z$pGZ#U5-@^`}j}F?6H)Vk;hnhpK}{(xktKeQp-q zQax%a`+asmRib*%KrZ;`Gx7u{0T2hb$>rB}BfGkh=+Fm74qvyTTK|m~WOFvF4*#po z7aLA`%XDk!&Z|)v$>M%z@iX_Z_=in@@wCmakcc?*r=eWn+q1V6^(Ih(9@u&x=>iRT zb2wuG`($^rrQ`u9(o55Eu4d_(yhc1uIArBx%wWUSXZx67625K7)HeG&;iGOV4 zk*qwh_$>n}Xj6cey^S|lJ-+RZq`Xqugb&K%COvvc7#0K*gH41LO_7l`w~QojQsA*{( zqXB7O3uB52TlTu^3osCx;J`%x7NlpgQGkPTaCIUMNIv7d>5#;J#B0sMWo_MW-1dym z_pMEQwmw#__`gWtA&T>6Xye2W`oTW;dV56d_V=@Io!hHe@?gBK)f!tf$l|~tqi(Yc z6Hd~6Gfu-a@TtNuIfbEwtRa2>O(xiF=xMm!pNkO@Cp4|`qx5%vZT77$6m7x&$zgMk z_BOuP%#V$F*)S(6@v>*fv8Yde>J`eqk7|lC%xdU=>TJ;F6AMSYR+*UW_gstiQGcI0 z=1CC2utVKxM*2!jjqdF!gaJo&zy0EPmx4Io zus-D+KL5a#bXm$xH_IOk9KSv<`V&>b@=eD#n00Dy!lIb20ptHa+w1?W(S5rbqH@$G zZR$JA4GlAHe^Jq~mb>9AR)^9eI*+*e<<{XL*<2EEciQ5(vc1a-5X9%wPnz)n+J`dD zJZi-aW-g0EE;LKVvL>1V}sl(1?sY^3_o0s+F5< zxk&*(Su?}`==uNm;R?B3MIO_$JPA{6^r-Fv&7VR zD2bk@AsVTwb1Cbkhh00hbL0|0U;(j=0rV zP#e}inp1hkn8#W>Mw&byYzpbNy6O=Ro!X-Kr4z@bwYS?8EstKjyiFCBug_Q~8~%;7 zZq+&)u$#t>PbHT^r#>i^6XN&M%dhxoc6qFn2U*t+H2pbsTh=v)IEh) zT(0LfM0`JWzEJR3(AAbp(UQ0nF|MLG=?$hJ;FEIbqXc7e%S2DUg&`*% zzv=n4^vwe_Ta~2*>+tb z_00^}W|>n=?k>X+gTtJUU9|>DGSr57p!mFRY~0A3v~z2BWI%3@qu=KwJWi^Y{qoh< z(H4$R4-@!ikKC1+nde0k=|7g3Gd~HQeiIc$aJA+7x8)_yjI30Q<+O$K$zv5Ry%`n@ zE{L{fQ~GL**A0VHYBU4rg!i62Skpn7=~gt?45uuU8lyHl+0^tjeEnJ-YFlnc6Li4R z`E?BnNy~iE0`jSK)d?%1NhU`*$_F(}qI zwW7F-#-qrlbDlxWw@qtvL`I(ABF~N()^_{eE~9OxjDw!R1E_TopeFCW0;# z@_Iv!{D-bqP@T4khC<7Zvc`EbOjnl4B%X%tIqu|rrPW|L^aCR$+0Z8F8Kqz7nBs5S1e_}nc7 zo<`?RN&YAbrIHpm^|}0rNHunzOkR(k;x+fN^M&}mdj2x{f4uFG=)nM$%ZaJs=N@ zT!eWkc3w6b2l$G7`WmQz#sw&Dl)8}oIvq15F6Cg_8};YZCZGfGn{8`*yO@re0T3-z zt3_wkeT?VI$p8vuzV=BSgvXhmJ*G{bzIt6!amy_f9Kd39pc5F=S4ruHCHI9X6|u2d zx!!-qm^me;LvNV%_lLauRSWyTSQ zx;W}gpz-m(72mHCzhc|4IK?7_^=J)*7uau%9nQ(8BzAHge9||r*W2@z)EAwbV$mI* z=nDj?NzMHgaF%nXmh5#ng1y3;?2(m4HcyFzB%ATyuJc{*qWL;8Ex9Q$izC=lmxbVa za`!+`sqku_j*G%td{|fB=T1%!LHtr!@&e z%jfH+@Know+oKUGv>aE8ljdV1iAsWuuLYiNCwhV{&3Ph88kQEn7~2JXC1 zc9g3^MkLTatNq7|;fsBast*0#m(T=t| z>@7`#YoXu@3m=cGma{uD-H^Fr+F)wm0!Al|PZ8&g?T;RDt#iEnH%HvZerIM?H{vlN zZrbOee3&5RJLh!cNbAxB=drOCh01x7Ra@@T1`gsM5|#{&e;mgSpT?_c$T)^bdQ2T= zzE;SH)`HQ&1`7P+4PBlJUvUKO_Fy!vv$vHS>Dn6yG9AR!xnl3!h*32BXZ7%ZUneR@ zA>*Z;h2k7$n;ZNxXFA`~5(ZqO`$aQ$_SEKD0Ep5jc2(&yoqo*EB^gT5G z3hrO1CR!~tv=W38WqJ~^KZVQF;vvpq1$w%OvSi8lDGq(Ppf8OHZ|{|(l;b|phUz8$ zR*3faEXnVSfUHt-Lm>Bm^o8pS)n=Vh`#;T| z*ZCAbau=Z(I%I@4Jb>wvm2M7P4e4w$er%L22}?U2^x?B6CUZIoJGS?Z3@l=})dc*d z7dU`|jn&>sct5W>^llraX!E|AK*HYtk3{7^nacln;e{)!ypIQrz2yRf9FAd9_1FOJ zPPjZFpni+assB6Ln()`1yduYvNlOxWelmK1jWP)?L1{CkSelefqMbHxiU6S%yb3;D$bix0H|sj5Z)_QjI)mRErvyG`%)B~YpA-LmK%WkE7N;?bwl4=u z*Ll9ATbEpL?{70!ZmO$zGrK&CmV_og!~F^QPh z0Yb5}jIXqRSucOh>`F1rI0plzAV~^UX?3!m;bs?}+&jC@%*J99f>pXh5 zKG6hzk-BH5Ee*p!;g6y*ih_rlFQPP!1;m*-93HgRMA~;Hx9CZ2W`w2YzJH$oAyOaDl~%G2bE>_4!LC9wIz>sPhe@8>O;`XM#l;=dpPDOG zt1^q8#k;!`FB{k8A0OsNxRJgow||X3eO@BE|BGgxZup@7->1p!FKnbvu~oH0abXk> zfliFkAwm;-RMgrJobJYsB)u^n&oAMTV8IWZCtxMTJL#F?+Vp?3iI zt(#1^l87EvoPS)$0?H2c!`BZT;-%S;D;^RHjL`A`P-EWN!phVH_H6zvI*7z@Qsqhx zU%5%3?FLh4<4y!+)RQa&li>u~PLeHUHAnAFl7*S*=Rh>uZzk$dmh;B{zcx<)6^?z< ztKH^oEbqM2d@urwVQQmTPUF7&)P-GU!)wGrGvNho56@Or6af!AKBqVVHDNT=zwYJH zt>$VXNGwKxp5GY-`pd_#r0$z%2B5#q>|&l3&t=(Wn6n8{y3!f@<9wvlrJz5tRm8V3 zx|1IsTdw1>6und%Vg?Jr?#hBE9^wfq*1;t8SwO z9W$?5Kh9)ir1>XCtX*&ox5VeV36kBT!=NiZa|xk;+bJvx~fPP8?)x@5uHxA z1-L2ri99>e#XjD1^J?|IVW$wi?i-g>%L;+}a!t3dSg}Y}XQ+k5!PVf!1ROA&fH5V^ zzm!rLDfvAUDH$|EgDpV}n_#>&Ewc{l*F<5Yo-k(MBJ}~=nFcI7=+{$;mM+}}u`tce ztJwY0Q?Wm_ovnY3vHpp}vG6RBMT0EQGp*yG&udG~cmhiFTmH)%dvQg~2r&9XTrJ|kh1 z9oH)I|M2zB!I6I5+HiMlOw_S$+qONiHJRA9ZQHh!2`0Afi6;|HoG;J&*7Mf+o$s8d zx~g}r`>(Fu`(C)#+Sg?(W<}q&I*>3zkPOLm5FRyVMe-q+@W_TKB&(|!_veWDM-(FV zo`W6*B^JL8ZQ>qD!dRwjrAgX&41(NzpZPfL!x4ugRvbEXKizoM99pgwPUv%E$t1a$ zR9s18b`}VrDr?e&P>b9rF-q*%AC(P}Z>4XHK*4yjc#0qaTLrFJ+YJnhl9EreOg1lE znG2*sf6SBKHH188h*~zh`!Z{j!~Y9L0Q#d{!w%1^Ooxk5jBma9j_-|=%dS5r!DI7@ zr>G+YL$?570Qh5a6oi9KugBVcq8dBnuZL>?f0O(!RuV#t z5cANAR0AAMB)s8yRt}Msqwv12n)YZw!jEcndEg-;{a_{R043QSD!WzmkZEOU&&qv3 zHmfI>UIA@ppapX*m4l}HC@-APW8|g~@yTB2=1AG6MyLWyiP1=H00z{Vj&5he8}h2> z{{)ZzY2^@D2J~HFJ>1B5C;iml_3FuXONgleW2IYscJ`-2$~XOTiuBzEA&K1(4=}Rt zV0W?CIApQFt3Cn9l$TrrAbb_(BxPZm8jmKJ4F{)XPtT$(LFp1`9OURynr zOcJ9&X@kI=qg~ag<@H^KmY>xR5}Ax zS}~#zLbo6&J6@IE)OM=$wKJE%T#TY{TdMwS68>)=!*FQ4$EddRQ6rj(4jjhA1mpz% zR^3sseuS=@FC|L}BPXgsEkGfq^mt6VbjIx`eA^;501jeWz1%V@0INa{vL0j?o!`#+ z`<%3y62YXEJE-m_REj@^lZu9j8&^!Jl$mZTY=8KlMj*@sU?e?84Az`z*4Ey%JsvYU z5e(6Ud#2O2=2k4WE0cnhUmdbIEG3%4=4I6yme4N`q-duu?hbvp3~Fw zd+NU02vSz=WV0!G60NV$Hf$7E9KF!5`LD1hSxiRCty?o~0nXYK%~0+Ggl0C*Iae02 z%-qgI$THf79T*G6ut_afyQZ1+MvQaWj}a~~^k$ykj4p_Fs{Uce@f+fU*bfwpA@=;5 z2Fo$Eu=Cu?suOt&t6P{{*l0PgSUuxYkJT&ZF}~|?8ERW#GBOPFQ8aCzqGoHvtMDpl z+RN0?df#0?N%oHad6@rcz46aVyxx~l@BD&Rx<3aK`m^F1>ks_I%}lbG<(lz5yPjAe zP_(Bbjx%2-7xrgRRkv&p%E3*w(DO}Abj5JNjMHn(Yqfc`tT|y@ak$EmM3oIW$x}UQ z?x9^01Jp~`&~>wdD9AyuOiBD1V_)$l|5hpC(iY9@_N+Uw6;nRv)Kj{v!i4+UGzMMF zs;Rt=61ILa;Q&Y%r=K0QO{SZc@XhIzOX@2^Lc39MJ906tbZ8fRo>8Zyb)AZnh>hMnlLAATbiJxZ&6Ao$DH*j%{jgTk*m$rUNo;J#9c-d|Mc3!5xi zr;NgEuWf)n=FzMoc`3xCrbpAYbhN5fH4aoqQMtM&{%#U@4L^r|ZH|m_j|ehHk2c-S z+AJv%<3!nBIOMrD;Of@3(h0=D-7AFzp452!52^CMljnXWfriJTYs?w+&^o>T6|M{1ZIT>9->5p8~R%pV4lZw#oa~IttUKw3A>!CLUB5U0f$hW z_9XD_nbS5X1j*&v%&BJUE*UZB4ape&%VFFv7Ny}*gnULZgEc?yLDCP)q(TH59*qMY zK$(=Q^Dm4avI~<;_huVk#dX7I*Bi6HtOC7R0C21ba-^E#eEz-{B(htD04H9O3De%G zhtx}rX>)D2B=Cqg!ATu86X_ z?Y5%Vbey{4GMKINS=7ZCph#qmkWxM`@#^BS=8ffNbf$wJPDJ+1S+W8^&mzi)qbC_G z!UyGY=;g#qr87VA{muWb5+QoM#L72M%%!Sb@J`af4n z{_n+-|NcEn0D^tg<*~naU(!Td@Bu=V()V?X6Ju*E1}LAH8Js83qlAkF?{<4QrL7_W zh-HC^QfosI6Vxn|$M2Q!T!SAjq6qxe1}wZH@wPDdQ1w!oLDt{kQML0GUcux42;?nW zyW%`TCn=YY?InZOwGO)bineSmb#XR-W`0#!wG={^e>Q=!-85Prldw$hw8OP7UwDQH z*S2OUn^^WVz|&J-{{WJM2VbGq_D#Ofg_HSmULpdBDSzliPRSoO;<^tk1nRq zfvAmmVDjo(m)@u_UEZOmteX2|#azXnl5y+LXM3pt>9MdRk8y8Ig=k0rKfxOReinTd zU~OMzXg_~3#pGVc*a&*m}r1G&Q%GbAfCJCL*Jj6b}}aTEmDH1feo2Du&p~ACduYS zS(u;>zJY{9@#MHQHT~HISk_S&&E-q1I4BNSKf?P1h|x{b$i_-Tz$Ov2RB^k&z;Up5 z55Qs=u;ewE3oQwfIDbvN&ROWVwI&%U(b+|_0PuHnmtbEP1f7&~3vIi>RsnC}LhKuZ zI56C(WFxdfw)152Mo3BvUOchKXicR>9TmxMS7BVVh!Gf*ekTdOSCCDC;FLUB=y*oP zi?U5cQ%)APr=szWBhV<7%t$x}-<`+pY@$P3*tR~t658$Ls|d32YC@X0^_)}=|4$j% zzn=*ZFzv>r{nlq(ep|;6U`j7Qwji{#hB5>u8wG(2A^C#|)kr7b$5CfOy~Bh9v>GiN z-}gfw>aViorywHgh0o%ZVfzLBtA1hHG(iVdY=#zy5TAr;K{&bjDO-4(IcESFBAJ}x zWfH6#XZ)#zXjpk(cwQnaM!AWmCgZu*4w4IcHDmpeo zJuG9|S7BF#1#8kRLZg@XHd%h{Wv1H_)#s%_!n2vBS@O9SUNWW92oe1Ha*(|vOxeah z?s|nGW_97AG8pXnRbU_nj;Z_?idv8cDd1m~D`un%+Q$`RO1 zgRVouXhbDBoF)<}K{{)Nn><`ud}cD4Y}&kg;|RQrH}L&=;QmpI`m3B0Y8#q~A#pLA zBUiqxyKy}Ib?>%kb>X&hHytq%=gFbD6-$zC?(9o zmc$yX>X3h*$p2|I+XsTb?;myP8uvXsZ1oa~(^C5rM|DpC(h9y{R|htNXTvV`i$#Os zH+S;LfU&Kf416j?3PZ;)$mOwd4GReh5hMaZXTKrjPhi7CZ@!SN1(sch0O_&)9i@%3 z6hcB@@K7z670C*5!ViVbH>m;@8(PA&pxXfN==D#2)nBENf|-rKOK;rmh5|3*O)kWY^!S zf!ZmATC=95GNhNC=+zTm8@3eR*^Xa4i!E2GUaYHj*_Xs4p`5I48`9LcRx9P$=!o0g z%b}ADEDRs|)Uqchg*C_?(0VohcA)>$diS@#c#m=Q!0Qc)j)_RrR*p1#NXG_Xvt|G0 zGsN-QxF!Vm2eN*_4`kw13U`;q2HcfQM@9()Ca-c0tc0*K{qRSG zmZH$YF1o{#64ypTBO46O#K-N0kPafb`Li-5l9VY~+KAhfY3vLRYXgs^NAl^QRM%0#CB-zxIN|H@9F* z?Kq*dg5!v|zn7~YF9qkF3!1crHpvlT%daJOy)YY08wM0p1emnq=1%@%$pK>#^obt$ zFs`f<*MPfdvQ&H8dBp9|06AHf9M^85G}@6_52D-N(&cgLEHX(*$W{oXFXcx!zN}wr z&`zbkj!$Bk%@NQun+J^5dHV2cidCx)+V z09@2frweP!~+>clb{oc720-n>&V|D zWT)TrJW_SD_7m8!neB5xKn>UU7P*>Iv@y2I^JCgrml>abEiHVjPx2F^5s*wKGna<- z<6sz1+;z=TTgsWXxkQEML8G5#5%BbOg5u;%ixJLwo>`6GdZgMgB6|`Ne8@yJgEq5W zZeiA5@Q65M*9Y5)q2;g#c%r3aU5{3 zb75C~6vTup2}zNt@TyKodPPrIUSn*LeKomp_7zGvCCxxQ{N71d`myd_?xjlmGyQe; zgvQdc2}X(3f!uu!g9M9LE=LsJP4EXR2WNuNS`k}?RF);6&z0;V zhUtJsC!KK0AKFOJ3*`8Oeh`7?kzlOX!yS;tEx6%a^h^;Sx1B*C4XExt!rf?`Nq8DD zY@Bi5(Twm(walhBV6Rs4*Q=lA2N-%3qVub!fS8d2s}@VZPmx*&QqZ?|lPb#wEbw|D zVf&G`Efrl05eel1y91Jj$JQt9T~N|XhYLTIBd`>Cn7e?Ni|2xg8tIXHlw+-5a6~B0 zjseK1974rb;;Izl%2>oW&SCd;1?>FeN$mjPae%?I7FY|}Hn+jFpmqj81eiM2kZfRx znnxrQbU4v%TS&V65FIjP<;R7TIk6kcKuJ5qyMg?0cIN9sW+%KAS?7bdXDXN%enUqEd5zX@Iwv{pW_4+4qg0$9Ey@mntDOBGK7ev{H%XWa>>UGz)GEONz}#24qn;8m8krSZ}gt7_Jb zQ_uJV*yYKKj>C=7#@kb5YAC}DUwc?x;&8`9smm0=aXW);o4)u(K`50R^n__dfJ|c8 zo3;aoIFFdE9ZiP4o_#W@HA;``H!uJ1=1D_L46!G`Yu5g`Qa@JD-ywm2#C&E~Z6ysy zh+pW(dgBA>uXsm7?8fgU`zca}F$+&@gJLO|KQC6#P!x==XQh6HfnTR#nY9-Pnz9|8 z)VCVhkYZ&fH%R*m<8|f+s}y${JCY5pq#t=!FbuhD@}FwEFCK=$?CBoAK1Pi5pF{X*WOU?MZ42a8Zbin!=k zA?zaA&4*bAfp1Dg*`YTfjTq9SP%*a(k9BfG^M29WOKS+-?tF8jO3CZ9@~tm2~|;~h!(|c3=*@ek-UC(Gl2e& zURPvyLOOo z>Ce-aF{NRdfKXf(bqc>uY_A@G{gF39;K(BS$i#QJ6|#%6y|id8rU}E2=nE4x-VLoi zU^EEpV&+Bv--mPltA9uM+wUJPxIOLFlk$thOzbOg6#@+P_ifM9Gw#8hls_cWG6Ywn z6s{l&z6J%jU9b+s_dTL;Hn#$z8v23DMqm*p{9}fpvIRgKU@LQC-i?49Og6##WQ_v@ z#Xjy>fM7A+s8=gWJqp*cYgxBM!Myb<~ z6hckJrJq=jY=ufL-We@`4IGul?x1^f^|3_cf3^Ar@&$HIGz7@p+>Sq`b2&tc?+T+O z_zQe$@{C}KlI+g1N(7t%dq@C0>r6b%ou;amhT zu{d-{Ta6!5heEn9E&%9FI%Ry;RYZt3N&2~fBmiN5(o#Xi2nZ(PLil*f3pgV1xw+*E zs4CX)C_~nORVMySUmoD>C_re3IMpG8>Ce;RDFl}o zu|F2{s2I=yVaO4wV@h^ea0D{}($c~wF^PLaWFa0hq&8l5yIhp$qbq~O;VPF8%g%k|#AOTtJU)t`G#Qczcz`{O0Jy{-C8;zsc@i-5Z;FVU8Py@U4)- zA+qEms+>iD7uq_U!=@iO;p7&FY)|yI^w80dy%#n$mJcGT4a52@(i&P)+abp~AYEo* zRwczz$8LIFW$8b*RH+E4NZ!ZWu5VJh!ay!RyLdYScP4&Ug4&8dgfB-{=D*QfiMvjAI#mnwa z(my?y7qs881P-<0#sU6&gy6p1VLY4yDQpv(p^Avk2RMs_D<~g$CxwVMm+=#ojA1SK=%1L>?Jk;3N5v*BA(raqIl;5unGPsg2Kjg3gOIxO}x zIVILy@GMwrasMnL|7nTxD*^oQ>kjY%q84$c$57B(X|aOSstbZGXgKw9M|c2rPf7p)T$fz2RKE~RFj!_?NkUuws9<` zoOpUvMDoFE16PqRO_M=@w zR|x4)pIMWA9sXm#^=hF$T^yIfE-(luRui(qsj&@pSZwqIQ)uNl??#fx#~{r7X(6?Z z3=r#-l0!vu6w+bKB|tYjC?pCiawI?@FEt9-2)7V}O>mh1^U12sPdnRenL>jmL!qQW z`t3S#y&;agXjlw8XL!tvq&=IEH)DO03zH7zu}y2`kJu6=_ji0x786a(`L4_;YlHV6 z-`gfv8ca8VXt8@Ko$am4dvDgxnw+9Ei@Lf5Rs;?02yEiA#EjuMT|C9^kZ=5%SrpIE ze>j8x!}x|0Khr2UA~5|IUu@$b@~L7`D|)+feuc`1sTo<|wu0 zNboPd2|v}CVY_o{HY0*7gbG&1HECjpj|mu+bnQxEWNiu{1O$2Di-7;$-xMlp%rG&l zRIaaO`XW-YX~AY5&d%NU*TEDf5l-~?;upw<0KMy7N&mVE)zY;mW?;Dr@7P7!d+U`a z;3-uVf^tC{=wXM?7Z7mF2rlAt8!J(e!&b|VmWBM)UVx!FBsMXS<#I1j#lHo&0X}4; z`q)rj{!NBjj;QS6?2#ie4(?Nw0AVJ+ z)tTIu%Xta&f<VRaAJD%Cr=vT1rpG?3nA(HuhCXJZ7Cqzj~$ z^E@m=!`KFF2LOp1k`_)q;%R86k*#yG9(c3m1#|W}wU(0}V>h7|Yf7lCB@eb{QA=2M zF%KGS(W}E+K;@^h!Y$45nho0{A$k?<(wYnVm-wY9HtZ58EQk6)C4Bg3P&Lrvc(J&t4h`#oJ_t%hqp}bxCIM`?Y>+Jle=kKxRbM{dI(NjYr(|ioQB%#{6rA^S`|g1wUO{(5;hxToNUz_hF%5^z8{MAn=OrMdg)a}-A58n}2LH=Q z*S`k6W+%X*Uhh3Iep?oOVceIp;<1XBktT9f#|Ho!=L8dgz*$T_f4YVNsG3g}FZ0OK z8y(YZ(|T>NEJ;3I`&@b0%VIbDPa?PmM2ys=3zk46)-92;AWk|83-r{kxk@gWp*z*m z+|QYDHB;hz6M*O_)AaWM&O1I4uy)v8tOMAb*4BJ~LAvj_lP1~7IOv7RZ|;1w68`tdQoGV_6ldrf95lyj0|`~iWc&* zNd$|wF&lll&)`cqD9Te%7D+q2$-;&R#O9I_g?r!FQ-_JxH+^U&4#uL1f8K!BRt4;> zHmKQ6&OlP7=)33shIzu7y~f@wNJ81c5cCCFs{g5w;riFHT?tdQ-!epdc)t354QccZ zw16ZHMSze#<}c;@3p$;&u+~B(bq^5$Y1c4+gMHa;Zam-2kqH+Ay(%st3Y<)yC?+ zc(?YfS?Ml>R90UEqX0=WA z2Y)?KV3g5f;qsXT>(+uQyBHRJ z=}e{mONY-t>AZc~+lC1nWQqa-gaSao977xvK`~1gQ;m%~&W?|3G}{XHZMAi6w{_Y7 z{Z)KFzATe!201aVQBOu8jqWtfP0Sob1R$9)+<$rhwdwTYst6%GPof3sthrUGTBhLB z_UyXCSyoABWq+a~BC&cp_2sXFS`8)eB5}anhS)%@t^$YhC>0T_kpF?T7?F}`3GiVR zy_=Rh+oh{Q2@eXHY@#XSII>H*RyJTln0f?A4Z zrUy&}?RPMxZO_Vujjn|(SYA^EwZL2aMrqd+GRRXVnH$XT2E8FY-KIP;+ikxa36?A} zQy2HBqpr~;%s)pywe;tZF^vWikrQ1^R8)WnerN0*g>T&0(+k*WU z<%-&;g&Y$GP@an&TOfU1ccJaNV2m+0O{;xS2Np4Sl>4#SUs=tp4a7sMSvGMni1dkn z6)suskW02x!c^9xYXexHA$=uY3s;`Q;`K)pY!ODaUr1q;5Ot#l4aY0L&}Y&&oqa(J zS+*^S-7{ptz@vd1r5Dvkel3>vi8k)5`+Al)@6LR7-2A}6NyzUI*cNzasm!ls zcWw(mF~O#hH6zCGbh~OMuR!^B=;bA`1zPhDJ#xZ_j)6#uhT%w)V6lXuPW+FJOA%ryyy7tDk zpjzm_z6-tmd?%`*svH#NnCA>Q3%JzUPD#^L&!mGoYia4v+o~0l z5>cSG=0^CKP3y-4750TTA9HON z4`PM-A{U3I_$l59LISuupdYy z%6a@7Zg3A}ZUp^T&JpF14V%B{)VjS09Is{lxHKek?E{ zjg^=t;A^GOU^DZ=ho7Tn*_Bg9T!xZ_Fc-sPxmf}Pc&sCwCbMa7FY|A`Ia`%Gb)w#` zsc-C%PxPNLc+~`@{V3z-LwfIF>_4LMC`@-N3YWwCyrz7Zt}RckbY}wUHFo;9Nq|)? zS%J-AAQAQPHS_u3FJnT9T&HE^nQ(INL3B4(eP$~?*uqM5=QXtHqmb3IbnQ zm)e1CBK_l$?<7)GA#aV$$iK-R+E@b-Y(<3bzdE5vL8W+2OHX%WCDeaN(MTz-=_f$; z_ExVlm+I#s(F>}ZOhU}Q;f7s< zxa%g)oB}Bl25@KRaok>o3pEc$T482gkp8!nXcXpx2aMifH&A|xn9E)Le)V;m@{MC5 zteYAluz7bk_E_2%X7GDrWo0!neT#2BP)rI!WiB_d19E&)KJ9qkc{MO zRtp@@ekGlOKoqqpBaxWz7KK+7q^-P5@-;cC_xELL&N}~+V!dr@MC(%IXC&ys-qW&J z{~%If?968KREMfF!Zt6Ei3c_x9@Y}`w|Y5Jy+UgFOiX&H_f>a0kLo8a%SD4m^g|Pe z==Km(K2x!I+zMeu$%*L6XFL;IGN*ju`?+9w>t`OzUdwD6=H3p*B)a@?(Hy$Dz_t!1 zJARRTG2nX1db$zY+S*!CM$ppVI7AgLDp2 z#l1=>iDIh!-%#y5>=zj;kx4xZyJsk9#Q%^BT=pJV=6V|KNyT5nP@kN^cKqm z31rNqGaD8AQvb#xDNERXG{mKu>2z-9p`e#!*^HnR@D+3z zJkgo0w6ip^Ul9Rbnjz8~3^$O=1r7}?ejP4uZOMa|lJ=Q>76o1uV0EP>U%Za-M|;Nq z86ZH&0h;F;?DWTa6f5);*OxaCHuiZciI`hkyv>qn;Y2x)>)YI{_`c)N3zOWks=7bf z28+nlWSpacR2d+ykbEi`*V1JA(wh++rIKXlt!~YmY~9(e!x$7*2PNQA=e>?x%3=90 zD}?>^Q(~CR!q7sld}0mz*y5^L6^UJq;etiVh|#*^6pR!m-l1cmP(=2IY!K-gIbV?6 z30)hmHOIXADOMU3=nhTRM$}J^QXFrwYP9ChHMeIkEN&7#RuIol~@99zDqwx<^~oB1EipzJ{~DFf(bU9qM+ znmA8ph-x|eRqXh9^MZ;PELhFo6)U39j2D1DphpdRNo~btGFg? zinsM;J1qLNz9cdvSQ61_q8uzG@Us@|)M_m{-@c-^S_s8B9nkH~b$zg{Tw>eMTYlNI z>cM(r7Y}XlB3Ef4dYjBb{?b)Jl)6-z&oqzB63=FD4Nhkj`SwwdNRkQoBWVuq4<&dxWe6|?l^+r8}e2K^+c%BeH*r)Wq+e$yjtRcX; zV+5#O(m0-*NQDq#p2=EkqJYK2KrCRp6!yquQ6%rUq5|t(GA9m55GP7^M|B-v+s@=Q zaki(sh2AJKSxECEU$n(aw%cb8dABOwcAN(SF!4NzX`~N^BY2~RNfE=nP1IS`2*qfu z^n+RCJDydSet$7fB(KR^PGzs?)|pYZa5>6=nuBx*k)K+RN4|+gOR$)}nsq$Gv_TU= zF;4PL56jx4HA$IUT1qsZ8mW?>IILkbW-u#9nd;DHgHkJ^b3}r$9-;m_dB3D-rnM~ zw<)`&rf`+sT=*fEJGUz=P-Xr2*-EBkrxyz}|5MDs0n3cz-1yRsN&ma~t=SOku2GtY zELbY4Na4-!>>`s@t|`f-<;i#Q1(obFGksN5|IsBUkz}VFa^9f^1X-JxDbBq<0(LH)73Z$&d5(U)xv^Uz4+V zn&6+-;f-hOB0T1r%SsmK=aA~fd6N@dv6Gmx_$MZ;k2L0v$gTg%s%!V+A7bVJ;4N$)0hg!qhbWrkUhib?8nu zr7*7;e5aq>n9mED=Xh&zaRU6lKBrgfgMLHjK`o+&A&LR#v~1$RwL6>_0c%jC6Y2;f zVukQc2#;?3xL+!m_>j=gyB?{k9(<!|gn&C=d+7;BVaE05wQ z;J5zGnMB<=;3}`JJsavES=k8hIwYCa z2IB8I!o_?n%6bqfD(60WIx1SFLyepl^0=_VXhx01L&UX71><&P0qfzLPG_~C!bpbW z;2Mr_hTHh_84*(}0@_&!zgjZf#)ryLL-Z;DRTlb`U78@QHs1Gz>-uaN28V8^2LOFI zx130{!-;$$2kv7%ArRKA&0%wh`zDw4x?KbdJfdpPS(Os7>)c}q5i>0Kk*NY#DQxC+ zOlZaolfz%(_t0O77N6E`ZCpIaumiU$wQ*zz4%mm`<>;gl6&5Hp}yLdIO1TY zO#dGDrcZK3NECYwv5E`^k||?C$YnuiN$3;_fm%}euUKR|rDlDYYL>F`E=D&YhDl5% zVXIfreO&LM8p7T;7rV%?{QSIPmXV8UI0*GwW?h$_b~~-|KJx(_o(;c<%~)m);y)!| zTJ5S*#T40Z>MR8$Ka=8q8$iJHbgc6+wuP1=^c|g6gRzz|+Z*((O#=&_&Dxy^q! zJ5poYK2-*p?Y26X7|P@_58pct9?jS}cmBooYUvo{{T)R^faQ z!&#E^EGlKfCG(6)&qu`nxGQ=(_fsQzc%f85zAV>Mrt@#_%lv|(pvjXFp%d z109~rNH0)QGc{fepJd5fm@>6D0x~im#`Fdk_2rW(#`l7GTCqkgQ0T}w3 zL-;n@x9`3-j(-xs*tNzwBgfm=+b?i+w&KC7A?Q~AHM~h4JB?mY#Oie`ahVYmyyB-q z9F6$L>(&+F&w-T$HPw=X_opP({enr_e&Gv$_Zo~sHWQ`W4T+RUEh#;<>d596IIJaV zLS$-VX?3{G%UDFcFT{GVfddMf%9&M4mmP(jiw$)bTOe5`S!uRrvEEsU2WO6F)Xsz` z3VJA(kJ`FUiBB8LciaY-WFQ2Dasmg5wEDn+b30BI!PqrDy1KC)iDcK@akyR2$>b-t zJe49AJM3W8U!I*ln@+f*e@0S(@<*nVM1>OT03Z@mQf7E~h+~XmfJZVQn~!-gewL0o zq6~CoE*(WWL=ap%;d0bfBYC2b;<`y`WuTGQ%sjk@TKE(;&cj+CAn-!8zEHU7d3%L2 ziM@)|Tzq@D%ir(aCYERGZ24K5-b;}X^aW>DMN2uvoE_7nemph$rMeWK6Jt$fyU<|K zUyM~z%$9~tEVvYg-J7H=Ty)eq=~sKK3J2xe*UFpeXuqhILT~ksQV&Ge|LAY288I0Cdm(R;GoA}`;F8P0=*$Nbx zYFFnxby>EW>%-lG0(0UC-=A4Nx}?FhOb(wN$np4(9tk~kI$190#<%ZyV^gT zkmj%6UkIgkUf%n(@TCOrM1Mg1Y5M@aXm6Xu@gEQE?1e>!^N{IzZQU=snq*=1{z3c~ ze~YYO-{JhCC1Z@xmC!4`@1xPF-f!=&mWhp-BR60^!5r9as2BH z4fy+sy?*cZeM*vab7fIG&IPUEma?*Bx0-(UoCPGGw2m9k4IUGziI4Cv?gDi>Ei^ff zH)AE<>E==M0qkC8; z_~L<%T@W5?l17;H{>u2iF13xlP@2Vecy@cf66b|1W5%8EUja!&PSjag*vV_3##jc5 zZTH>&Z$oN%-oE}4yOP=v^Gl7Rb;FhcD1WkbrUK`cd?u<+*ra`{lfqw>@~bn+DYXA$ z>iZKP5O}zdba?~UjB*tv@G5+;HM9_!=F1R<=O_@ha=@}^^j%^WgsZ;6X!~8dQh62g zh|9LL(wkAK-<;{V!!i`A_k|hVFbym39xq0c_NB7YVVGDJ3y|WWwSg>9-21OUtQAg) z>7Y6w?SL)3z-bf*U!8ez%NXeP!&Q(@k@H7bE*zX5bL;G0Zh(wdPyA74LI8im;>w0w z*4H^Q56Fj!Ci{)$-o-A};5C4YX&WElv>(&QugZPoBsuUpz><)w{ z2k_svc>0SJ2}m0uu^&Xm;Dwn;dex`moI#TLbasNk zQ-mNB*wtB8U5e&LXZd^K{>S^r+f4I}!0iIG?}yLn<3SqkAFN0sFvgC%#`fmNPq~j4 zP$P2P@DWK+?x%`94>m(8Ui)fzi``9V=t)q#_e9o?so0+G&hznIOWm8QHngIkl;96% zR2iqgnWTjdKH35rffj%Kp8P(#BC_4CxFsZfes%3A#_`>h`#{I2x9NmJZg^n!*~wjke@{7ke%bQ8<{T<-j57^}o-#>1!cyw>ZC@8kU`uaES1 z&(CUw=m?d7FTW~~g2}hz4W541Wni5SOr)0d954Si>+u~Nx${7cv&eSv^n6>hIMpY# z5HmaB`4fCVni0!=Ooa<=sEdgIY_h_;^QZOB4mEP=T4gJ!ayt7TfH4ye*iFTrm`dt? z%QFQ2ynQfWOz8_E;*s((bBM6M5XUu(z|cAF7?>{DTEVC`QpAAPqEx1lo%%UOtC&wz z4TgRBbnfVn`A>ANt@z_j>EeU!6Nl3S!~b>*-t^L$p6HhU7Gbm=Iqm~fk=fJ*u< zSDf;jIHq_N9XB(xX9JX)H!pw}$) z%IE{*hy~3w-(7FU(J0LZ&b@RCSPgG&teD6@@wwZFAlvG0TRgRT6o|7veUiO?GCniq z6ZZhs1ckTEM}+Xn{iae5QxofXN6H0C>~2_j!p_2y}mTaglFwZch1E%DmeW0`L>l>UnlJ zXM=`P2cLoWYjtNZUA;S9_!LRGk^KSBXe;xn-<(#0oMN$Z6$<2+CBBAf*0am|<#G7r z)Uk{stL=fg?fa5*+@eMMXHf+;E7<0608>9aP2V--h+e;W^lUw3TWegl{UDZ?Uf{Gi z)2-Mn`gY_tL$fV+Ah>2-BfzFtw6Z|f@B1FIb+;D7S44y77r%P5QQhY5%+H#sR}}|b zHW*g${ZHR`SI^3N`^~t)h7a*ae&MTyVAo>r#3QN79qvrO^{!Xo&BnLBK|U^OUIl{W zB||Sw&doGyZZdqJ*X*#5F}Axql7?B$#XuN6{1-;BzmK24sO9CZ9~>D+KsJ>jV!sn4 z!uG61pMJt$zWkZ-{MUvyBNXtDPt9>b&@cIexJ9g@+4JkcG_`?tD#%lRi-KR8zSy1; zPc{wKqU?GVMvazD`OjuJH$j>wV)>a5I9;y{I>V#A!hG+hFqbKUcQrkF8c&5ZT3wY^ z6G{yODz%jfCmza((W=zXn;^-S(YW(8dUGZaXcPGg>2HuO@}9c9Dw5TRSZRmrj9es1 zF~&JYTY}kXYE@e}xV*u+qbm}Rm&E&-WqiRJ1ywbFglDa-nmhJ zJ?sieQMtMBBYp4qGnjl87iNrOh>y^G<8vNpt zVah!3LXQ_c*Cz}KF^zL#zkc8g+M2Ip>MX9?0 zFTMCQ!}rY{%=kN@-B)q%k1-Is>Qe3~_$9R5GP-YP1tMrjic5-h-9EHz^~$ zdL;M_4BHY73oYL9V_nEA=4+iY(_AI$k4j$+Lu@(^(EuMJsJ2KX+vCd?R&NP*f3Uf; zhKutg`$^dE)ZJYCmZG$a4#O+h)|XZ5$7J)LaI{EpJ!zmYr>Tjc zpk4AgJ4p(Y>3}rNl{F?kSaavRCig(lJZvFZyYOEqim@83_s@e+@6`3eLQVsIlpebn zTDXvBpcMX=Yhr40tdUS1Z4792a;#vC$)rYBWb zoTP9*3IAUZ6y7*A0bQ`@T+(PC`T zg=pv;MI@Q7pNe$Hzfk}(WF_AD67vo8wq&IO-8QeW)fi22AS!=;9(sO!gB!SkG^#}R1!Hl2TPl5Uq{G3D}f7&1iK zpCoQUv+GFdSb5~fx&0DQrjW@G`^v)P;Bb5*s8;!debt=QTW^VAt$_n;DEz7?y^4H! zsp;|pdz1!#hb4u=At04GEF%@yRUr2U$M0Jyz6bOVFc-pUTs0;^t8^#)^BId5I8O z>>UI*t4?C>AT8azL6X?g(8+j~>uH@pLd-QTi>oLIc%;^grb9R(!SN(_knLv;s|Y0JjN#LX4bB&`UZ?Dq?;0;1fSj$h7jd|(|FH`5Bl$fD ziW&8)n^sIjN9XVYFh95j+Bk<{Cd&oGa|j44tNl4dksLhioHB%c9Ww+wOz_zi z7juOe)s;LU8Hu*zM~#Xx>dZ4bYv*Wj}mCgtn`ZeCKI|E{0oh7$k;xfo=s06(;389pVMr2rL^^)k8+!22P;+B&UOhp!jJMyF^^d|DAo&n*8D-Wit}&h= zs?2mgS&DDcufT-uOsZ@SVw1S9iq0mhOP{$ zA?_2bQzxr&q~2eh^mo*j2wW1!arZ8U{1GXqMjQG21@~nJ=rq5S*<8lI+|P8YTgqU{ zsjNWh%Dul~8YjEV+SJ?8S+nZ3L3n;?h`Cafm$Aid%Mx zs|mwDbr|PsM^_cr15;) zs<%--h51ir3G%syu!`&-7T}h>5r>1PRP;=2yZ+ZF_)n+4z@W{0{e{CD2UlYV0hv?M zwlIp%0^yy=(=SJy_ZHcE1wVymB>HJ?l=>~q`@L9ZIXq!A1fSmQYHG0a7^!v}+al8t zx?2es?D3DDLU{XnMA%3%u!3Be(b9K7W$gZQWX&-XkPaE-^JOub9 zLL`4{Ezqznyqm5t+aQ)M^Ta@nFNIrjOpqL~$}`3+A^B|2*yjW*g=LrW#)&i7BN&7% zg`$zq?s{l!1XMX3H4*_hyp*cdlkf}gODm@8QAIm1Yn&W28B;QtT^(jo?)~1?Q&Ay$ z)xJCSDAWjVD~wa_|04w`4Bz@IR-5vw4QX`^X9`~g(bw5`icHT4fj?0zk{`Vti79R3 z{9mOG{p(oc6a}nbGF5W1Hh>EemFZgvIr4%b1-1K&Vh`LCem$G}G(uGb+=Dl1pjwRM zNJ6Kjv5V|-0E^{frGaY#DQQW129{B26v|o#y0A`>`$3Fje&<^F_C|j5=JOM@XbN8Q zY!XS8pY(<4T0^HNDS9vaJn+0@?g@6vWO>4Q{l4I2r59@!mpWHX`1TV8fxDMsqrJsy z>-P7?yB=BHw*Z+uD!=tAgN8vh6vnvo@aG$%^~sGfX>7PeEfQ#Nb7swhm8uvVPDYNcNBQxmCmk=hTF`LlXy&tLUm-FS1#MV zgFX-c?JW~B#d*Ap3(gR`$=_`0lT=%X7;#z@Nf6ir6xLb}V30}6Qv$xNKust@@aT^S z^&V%{T#6}~9-s14Wph17M{G#sG{y=_D{aK`(4R0#ENXfI%X5nkGGYR^VE3%TCMau(RGp04Z6C>iKA{d(JA_J zC2>W)K%R{4d%puEEsgYHeo~YZC1zSp996B2N&^a^^jhs4cEf6(9z4bejCB1Qi3r;x z?o?`Gok{9UF{?<%i0m>DzOmBwuhUj`FCIDX0dHbQJ(rZRq&ClA+_$85f^N>vle>QA z5=?N9Rkz@p?42>iF7mq>wke8E+Yn|KXCX7Yf1i($2HcQxuyL3+?@HVZI_|>}GyyYtn63Tp5uhG{4(AFA^>1-y!#M4|OUp z5eW|-_a_H9jEGZgQjH_rC#Kofuw|!d{_^{X7NA^!ERZ z+|?oQ@!JFJtfS}T8A#E2dBW|qmmn~wARgWm{J6U0V&FATN6Gwz#yjjQ$sl7UI82XN zQiX3Hw>RXzjQTT&{an~IjKbeOJnb?`T_mOJYN3X78&wPzfgGp-+Y!B;pJPNafazrW zJ?@2(&^e8nO)4-B&LBGMLGt1||IRveQH^7x)x7|4%j*<{ z@fqC+<^DqsV$Szv_JGl;2o%H{P@3q2cJQTh=4j-uordAVlvf-08_sCs$zoS3J z(_hkMbSlWJz~^+`7T!9=z6Gl!^=h!W1WVkWH9;H@lzzj z9bZ>Sl5z^HEo%!xBdJ!AGMJm2w(oV@`2Pf}GPlO@5k>lmbhdT#v6r`xf6OSleAq&b zt{o?eg7I!N5$Jcr(={+=&ITtrA5Pb-pCd zm$+j0=dTpMU;I|j;*OznesvQ{|EJD{8a|d5)N=R=PoX20)^oRXns~T1-pk)f4l?4k zj;faUCxOrHy-(fyPkKfYSiplbQ8Q@ex(JGVueY_dhwDEL&{1M5)h@u{LvxNmuytI8 zqxcS~$pqPl32tj}A_F*CTU{wDQhDp+4>S1DXuIR1`(Vz*Wqj3#Krp+{K#+A^lz8Ha zTDUmLUEZf6pkH7%S7XllSmem$2lYIwFi{xcGV`jj=Vic;E3vhzY@h4y9wj!xpXI)ajqHz%vx@ z)#}tg5Bh}phVwGGDAE5V{=hNxvOxu7KWZid+CnC(b<7xUqGk-LkXvY{|qxD{UU z2s^$h0dn?`|F_HpdZ@Bc);$A{ON!gP@c*=In`TCta9~(Y~*Pq zd^lEK4)b^zjkJc~E1%RHoo$TWl;0lR`}G)=)l7v<{5D_wgcVF}&xQZqV!T7Z4VFxj zAW*>0l1e}D5A8?e`f41s_34@}?&l-dPygZ@HC-7o!GU0>215qx@DCZ~D;=rT-ZQK3 z$zDVw`ZtMgY0{4~Dm>DeY}`D18AX{7g)<3F?y{~k|)9}z2otWq&sXj}ye zoy<%}<&qg!@ey3rbf=NLZDE}n^E}L2ztH&hIDVq4XDSfTiLnw8VU6W#prmLzDkax? z%|xc_6fzZ_44|i@`@h+V+bcYIwlvk}Lc^P`^R+CkOYt`*Qx2Z1so;O*))3-{cjDb| zvVz&6+3xW*zK*7Vb-JEmI{8C`!|)K%9#N&?UdZdJ3Bx1$#HtoO7pG9+)PdDIidk@7 zF>XabxIXX??qC}W{V5bRJwrtAHvdv=p*qm4n=wkC#591?{uQ3ev%%y2laqBpY7SvGz?oh}lGn6CNjP7O zcqh!?=dHcC=&2pgGA*K-5ZKP7W!`A~BQ=H<#wSP7k`Q!#aS?-&3iP9I+eAiP$3SdH z!OUu--Svb1JpTT&e!p$!wRVQvh{Jw5I{aWl98a$QM5F(?w8NLklX}EV`%!C850NU* zFr(w!;`n)@7dreZ^I4kt)5}p$85ASO@Tt&OoYck0xDid+I{L>vnH7N)<^+wJeY8BT z?{sHH#`Z~ErRr!TT9HH5HWq){dLQ?Xb6Y!%wk zoI_H)EX^>x^3&B?2?t4`B=A+g(6O!zv9gj0VUFK`zAwszS3ik-+DeIU16h-gwkTs9 zP%qWptf~*Yb18*G~4tuP}z+)yd_AzD@Q6OAe#}-XnR6oczKn*@8f^ z9Y$FF1vU_|MY?f^Geq7qhr;nb$eAQ6q*oTTy{~4|0e*<+Fib6?4Q`xT48Q-*<~4U3 zKR|nS@vQ-VF0&ia&Rx@$(&aajcGLP)GrnEMW0}@z2g*LKC`Ok5c$@R3 zad9Sp;;rX@0nz_hjl9s^({M`Zo_;KlTLqmLA|U>KZF`}HD1qP?qm+|4Gp@f{N|v7y z+i4OdEsbkL0HCvf|CUuW-%He#uu&#B`b7J+Cu0G1Mu?3h243NCG)djyt9_s~vpKW7 z!%1O+fA7evU0}`mH`5^k502w^O5LH{$)K_oysW%<&k^iMW~F@RhU|{2eBd zPbpPC8%u$x^+zKr#E%CME;~X@QMys$DAZ2aPjRV`&)z*fC1Al)d8?}I11GU^-rbdF z0}}#Tw8wk|dkQyGPs=&#!-8g_DX4#u&*J33L4Nl$U6p*s0V{$_e$O!kmUl6hkc;$=oouKVDcNf!k+P6z9ykmhlYHm!j)sD+)&X%e4-6S$PNL#S2bImWxGMo`kc6dOI zuC_dYuT~vwI%Z9?bP;gPco8Yx@f49q>jNs+jJ6rgv>{$f#<%B26Q?>)J#}NZ6Zl{ zm|1Y}$Z+H8HR)a(t2f;cDp?^H>&286%X1bGX!g#|BBbl0aJ8|&9!tzBrQVWB4Yj5> zaK~V$Rf`u~A?znZ8oMg956$%G94nM|_w-CsyCuA4Iv2lj?`4C26;kWfq&lr$I*YSY z7=Fs6R92>%*U`q+j@t4UF$v`7YRbs>s#1c8NFSbt8@|PT(FVWToyK-)vJ>i=82u#An|$EmZJTKGvo)rPt46z{TK%=Njccgm zuy`jPXMcqLumXDeD$VtclS`Afz7pYo-{JrJ^XtbU@hsyI`CS_U>%UnnEX><_;|M5J z;beWq0U#qRtCvKJ2`SY`NI^}vl0m=vepa6Ko`#)wRzL|gj~WCjccC+MXve@`|2ySb z*;SgH5%Y-y_H7#Nf%e0WX8$lH<*&pcNHu>Hm<#><;i9}F5#K-jmbM&wAxlBtn8P5L z!2`8L5in;_nqJA@S{&l`u8dRrD?~Cuv)>PNpX#;22+aYWwyfQHY+_>AJS^uK3(`Ia zc?+O~DfjfOKKZS-&H&iE)BGN{2@m_w_|?H_Ur(gvKYvKBtyU;ekbat>z4ZHio8iqE ziFq@sz)|!!*$%@+U?i0hP1#BQ)F`;>6LEQz6!E8aYM9sQMqs>SI5POa?+fuBD>?-9 z6z`5mfJbo9Q76@;xRA^Yuf8p-t4=}T!L;-_AD3%Kz+&so!wx+W^Y&74{ghVoKMUY~ zQX^X71>?_i#_D?)pYKNCzm_CKcGw#Kg3qglh^(i9N7hI{kE%$5_BvH4)uPdhMdEng zv;D_%=z&hZqoT|wXJnm(;&(FNUk{{m5z3lYL6nm*VBz`X3$_;cJ_Z#WnsfOaH^Qd1 zk~}y*(^U!`s=TZ$Q4$7LCRkY-(`0q{Zc5ZbT3?c9#i_`UT)&SPx{QVWah#E)I6XaW zr&JLY1vM8E+ljpw;AG-bgpP`g^AN;%y?+-2bm-4`zbxiS_~T7tI-{l@O7e#!AwE6~ z6B|In=Z>iPH|nPotO5QTzCen(%M5_6EP`9DlOxUN>U zcQ1H%CW`+qga%n#)DG!Z4)8%pz6H3rIN@V)VFXlp?LG+d|4-8p>DL5Yzt`d7`=@+G z#6w#$$i?$olIZh4U(=b%phzg;ge2F!0WBPP&_ou*H(b%0FyRwMEg#~d;WWs*{QT&~ zOLkNqALFTWp-1q(hMs((xQvUi;ILHt&XT=XY$t?X6R$TS?RLA!zJ1!^f!4%$T7Gkk z{Y3A_>m3DR0~-RHFQ`_s#?)-U32T{O*t&+#wi#_^si)AjVPSBum8%waP5}8U1jYSP zL&H_C>47i9JQVw!Xz7LUM+`C-K-r4cA;uc1@a#eV&lVyp9NHKhp#Tx)xVqEls(>5* zs>AKKlYU);#>2YT(CPMUTf`23Y6id^G5=U?Ta>m+4*J<=yI zAe$Mz-9Gi@NK>UNy^24oObeZpl1-TqMfRboiT_3EkaSBOTIw}h!_t)DYxHbhGn&za zx}7`^0;yyF5~FbCWbszbrOh>v zD6}YBbiKZ8Wi~tgj*Mc?IPw2Br^%J0L5fIj_jS-dV{}YQx@n>3nu-!&eq$(Ev%Rf>rG%Ij?AV zoR29Lj`?ni7u3B=PL+(9^`n>AauaM-oG@p&DDm>$`%E%taZy!OJ?&bGP<5S^v8&Fi z8-hlHvcd5KUFyrKzHVxsc1^`d(DUTjcNX~M{Z&v`&UGeA&I#()%jya6cQ*K557%3q z#R^ap3q_~Bhhe9i-KvwWk-vp!us`HJ8$1X!mL~xman8++m$5NS&8!y$xt=IPYyMEu zg69iNipQDpc)VA<$>!>1v%wNg_!j2oA3?QE;-ah+ncj&N-XzyIy$@v3g5; z{LazkHUUo~4Kg=8MZ8ltg{beFscY>e<%K>=+O7JY`>d(E{oU{KT9P)JTRniy)(qL0 z6VY%oPxy(A$9d=9M}NnHw!RAz2my;co?=5nXR>YgNT%-fv#KKJaD&gJzW( z{V%2c>ezVkkjxCjx!6-_hqcsGhsh0p9L(F%H|o}UKqVIn7dhAB;vl+nLqkJC{-V>h z9$trtk7E`KKi=k_dn9THb`R>(!Ff;=td8S{yMO&mt%B14WFU@!%V}yE7E#g-GJ3XT zbSEtrfAWEXp-<%1{JT|+zcK?_%t}6vdAj@Nh|kFV532GlepH100B&0q^*4|;ac}!I z_AIfVu$4F5F0p5j!K{y?pk<~6&HcoJZdm8?!H@vf#5&M5qZpFwzjN8>FtVK#zPj5}`(Yr4xBjTLueeB%I}AUV+0Q4?P3U>v zpxDV@uK_n$XQ0MNY#r_6)tR5UvXI|pa^s^$c;WUo_`v6#pvO*vnsF7NeJH#;{;jFy z2tqd4g!m*|Xw^}f7Mi=16KlxFK*5xF1Wc>Jk0?XJAV{TJP1zqOafP)R*%os=U!)^% z3ue5%tpNpUhx7~Y$Fs8^_X0}BmC}qmXx1+;7TW{ZQzMc^Am-->HEw}4w~&R+Ic*s} zJnFTOyG*_!LHOkN>)8!j&0}f1khgFSGyUw;kyI<$jTnL)(=9V zqZV{H_q7Q5BhH&n2pUeGsA%9-mX*VaMg|wDlpD2b&a5j8eEKOp`{o1Uv>4JPC6Sl@ zi~{aGXvwZ9F-EWOwTo|ELSQ#HKI(-nKtJ=d6cd$NDs==>g@-y zP2gL%Wj!vJUfYsR0^f2hXtvD@^j(|H$q8@-8iFjfS80E>Ig~P}X3u0ngw2&QSS&jo zw9MX3M|2HivowcM*$xwpbIz*Qakw8C(pz+ouI9a>;Z4GNGzT{tnLevwGgLqayB2qu z8Cok#4>DQ_oehj8MUYeT{$$Sa>T=5!n@hyCrUh3Oi;{*G}+?=zlvBHp7O2fEu*Hql^ z4t55VXaC04sFCd=v@-qZ{Tnyghke&CYRPz!VAg%Er|Ltm;do1?Y-09G6|4)Wbon!H zM+wY6U3F5~P`0BKpHpbcH3e-DAZJs{x7>JvB~jctlg|RZoc#O14fx)~ljkbhjjSGF z!#oPxWJ6pqQIJ zI-GUCA#Vo<7W&P#sqDK^7oo`%Zp7v2qX&}x0X(HZeh6uKU1 z&6;OdPM1ZGOAzKd{|<=-m;8!W(!U>Ck?&S3s)1(BZ$}v2yzKF>~=K~x{Eh>@eE`KuR5q!Xtcv|NLCSo zS1pr2%c1er{z>ZreL*Ilm82W?KpU1pG?B^oZpz1i=3fe$?{Ff&+dG{r5^4tg`gXH< z(#z*mkl!owcAV?~24P~LWh`T!aZ@x2 zQzr6YXTv%V?}wSV;M5#EQW6oJaq$>z5?$c#TkF#zn?Y7KG4pNOiSMWog{f|$+Xdl@ zZ%Is?zioRdl3a89^(5&j@IB3=xvmfc!j`;00>T*bM6GH6Ko6U5t}Akh>lTwI(@@t) zY2oy=Q*935@-;IBBN@nN)h`4v*tz)MQ-7k-S$LewoX50-Bmc;;t7E&SvcJQ@va~4n z43KhTpVv{fgd^~rrQ^5sHkjeHJX-}|ai$vJeOY{)a1;T^^$xeD7oq!gq%0mUN}JqX z+*labWhI$W4PSxetY^fE*ekUk%&dBB+;ZF$1>emyIK&Rus(1OCRT-%}Jdr1erqt^8 zZ|McKHYak6+*jp_myG|u`MPNs55Y%3N z!fPUK94P1!@ww~||L)UoXYYEnPV}3OclyP!tx<~R!q$u_KZ9ob$Yt*-&{4B0c)z3R zlfM6?NRWT;+N^ZU=T153?Pb%toXUNWkF3p#&6shfVIy%CHsI`W#`t(T|;q~4fi_mzfMm-5FQALKKjk@T9 z9!&`*HbX+PkWfoRQL|&87}BtVTklhlv$IkI7MzqrM8cu?FzFWV)DB zUy-y)y5`{qNktd+6?~gfdZ86ZP}U01>b%4ZzS4cedMc#wLq%5J8nYsW`+wN8EQGwe zo@s98t1|AJQ!mVXyQ#MknEQAa*3=E!@A!)xE@>_P{Joo>qh}dAUXZul1xq|O){*nd z@2RP&sRT~Uu4Hr$QpXbLQmT0mbyOqs+>zjQ>ODv9rw8EG8RNaOJX%M~!6iOw8&P0K zTuNRrH4OxWMG@4JHMhMtpjAT9Q>V{8;B$XQ%mOx_;rq`>`a0 zeIc#oT18VQQ8io1RnT&esUNO>bw`KACdi4ZmQ1F$ieP3QdC^~TG6;r;8~dk3=>n+o z+_s7H<>rmG@Rc#Cs{`&_Ryws|d$&<1^(HrkCWg-FAIBV5IIybxHdSZ2wthEyJH>TA z?M9URk@Oldt+WJn?|~_3KCe>CIpFkgR|RQqe)dbV_B?kHSKn3{b;I_egI_! zT-RnZn_Z6--$2f%@pf$ia2HjN3vCk-WK^3?4Z|i6(1U6*rG)ek-1l^!$#+o+94yXh!o(Z5r*H?-Isx z(fYWpOSjU6S|nWk`CY>mvKx$nJ35${X$!ypbw7t_Aiu!9v{;dyi}no)pXK})9?OHo z!$p|5M%uGshu>N(hi(S}iEYqG_vCB@dow}-O8cfW#U#Snps_%+r64!B|d$H+}S4T_ZHud#?xG53K znH0KytG#|_B4`S1drXlv&kfvnNGWLs%_4hj1|F2C2R_o_)53d|2D!cUvBm?0_q#Q_ zDmaa?cg;#BU+dRy-sSe0EIhlh)p%EBICEDtD|T=^Bk|;yurhVZapSd>`%;;|-b#S9 zv%1}U`unX*tpy|4`&#bwejnJrJ)&ELMZGTeM7fUKB>mLFZcri3jxwt~b;~Gnw2b=M z3{b5)r==;<4cQzTsZ3EnRao17{R67aoA=@5xAFxgh1?9u?pqx{Plq_(CZQVYr^Vwh zu}#N;g6{(vL~1R8M?g6Fb?=KYrjES+j~uXCmqE38hs1`}9l)fs?vJ)4!=E%2e+Y*5CqSFUAl3H_ zLHz3tg6r^UBD(TkJP4t68}C>KhmckCMLB>$s=8_hf${{5HUgaPoxEW>-xOajf@9Py zP{w6?o6!(3ja;+!whc|G2}d#vvA*d#J0rH9r8oM~X@zPEe9`7f2CU!=T9YN=*vAJw z2#ggZF!az;?vcuWVI}+Y`s^1JTT2~mDUx(hWK9HNZcg6*gwvGc^U z`PZF7Ady#W^>CAm(ejXbKe@}B!x0KLhX|~4z}@d#p#?qcp4Y3e+A=-mZQ$I#>MAf# z_UCXA%=xHGAI8;KmL9O3$8Z+!7vMp2OOo2T+89RlyIRK<{S}^1$iUIo>`8yO;t}Sl zXentTwP=XhL*I655jTL8!h5gDi`30wU65;3vop6GO>9Ccd8@}D%X%RCW zo42tyC#y~145w-!o5V*)D!Yj+gA;^IXRe#yo58{DSECiP3rohrj@c1JA8CvmY`xoI zXTT~9{PDQw-}1BEQ(~E2cLN;ipC&4#&Ne~kzAvMRm6R=Pv(<7+ePt+#)RrCfh;TGbeI1NV=x&75vKN?Ka>oq07Wy30HU)pSb0Ua7<<-vJT> zuy?h%#+Ey^*;?-_DEPXxpfvrBdZrvV*E69h!BtHcFDhPf=-AJO#?>bMRHs;%)Y%ByS?*1B-pH?O?Uiu5Epc7 z?7!9qB%>tXaz8I1{II|n2s^Vmo*l58;FQ8ojF*-X5ZOiT)=#4}Y%(D+YJdzP8h7f9D`s+yxQewkggQn}Eq1#2DWa%n$!q!v4ow<=VCB*X6z++al+Fwp;fubq|KmZj$TT8t*_ zez}yqZzhm9n`9uW)?h5oSA1GxFDSE@cIu+C(Hy1CE8#|}p^i4~-{h5dUk$#u{PyjJ zg*Lh;qmMe_=GisQ+|~r$9(x^__;%B;n>E_!cjY=7rCfmSuXD{Z7OSl)5=1{dzQ{CY zO@R}n?s)f(r(iF@FsossM)0_mo7J;e_wC}EwwYPCDh>(v|L+BmuwSzn1UFj7j9r-O z?f#D0HW3U&CSvoyANoC8q&yc%STW1s&j=z%IN#sA&xYD>)~kZYo-cH&{H_)}{4N9U z`nq$)t`e||x}W}R4%6iC7k;Ji6aRhy-$5cK<(ylmSmRV3pH0Y7{JT(SqR?GY)5U1w z3y;~)bB7q%70;;)%Th+k7Ym=0KLxhv1>BjvM@BRZ`;nah*YG)c&=duu_Wn+%`?!YI5lN+D(T9seV5U zuzX4@Y3~~$RYJEecEE=0CS5W4Id3l!8$U%vOCIP}XnYq1uuv6LY{bP|R&}&l)$BcD~Pu<5%RKH!!jW= z9T3$K6@L56*7ad!f$XMW7Fg@kH_7AeXk_`O9nGjQ88T|bSNKLP+p49kJ@{AI%vzt& z_)b1=oRa}`-fL8I4&R!#AH2deu7X{?sw>G<1e@P%Vs%e7S!-;}=o9$`XC$kLCSIZI zjlzKr{75tA2ex}phXHye)kcri`1``*pb0$QmGZN{{ci9>NMBW_6}2~(DJLOu%&CV( z>YWgVw@}?q9LE)P8G2OO-cnI1nQ)i30+jCGTO|b3nn2frGqBvisvjtgN-h^OGn(YL z3T@Rcb=DG#QT(H0Wf>gjeVmjt&oraFwn3;Uo%C)lmRWN64pYrsNB&#2U9Oq)<5cHA(u5>qZm|lw9A$$5#1q7rYHNl8g(pgKDT8M#Pc+b3L!Oq ztf}9bR<1iQ6dbX#(V> z-@+V5LP|ckJH@ZA?n@?PPp-bL)tZkr2d!0L3tr_RvQ{B9n7}%!W-JJzpvOE{%*i6H z9vu%Fjmy(%YiH1IABmehT;b@Oh|$Gx!?Jmxp|T3ilK{v!0a9dSLMfGxq`1341cQjy z6!lo}ALT4*?Q%Siar^kYl!iW_JI8-r?)*nCmaZDFZmCnw7kF(qRlEtD6MGlU!X{|$ zk-;Xs=!xjs#F-pJ^zIH{flR;PfM&k&ZTja$cka2Vnv{-~)bU>==i-)h^Syq1e;_@! zfuyzAxx+#LyGRmw9a2Lh#v+&=w6F-~TY}_mb` z>kfb!McqM1RlpTMivgub9_Whk;RglQiu zGC3(*4oxW@Kgj5tW|fKSF9;IBfsk8}Q-+vl4g|86nq#)aAqZX)pN=%&C>>aKT@3nS zVq$4R$X~|hz<#m)WPuHjkHi zFyn_y^&rFjzh$2vj@23%%KgMS9W1b^UrZUT53kG~xkSrtB)>V#6&G#7*P+EV0ecl! z{uf0QCoWK2!oD7qpvu9ex*tZJgLXgnH3q@`>z(h9GTGZTfcvbq=T%`; zK?3lTgEakaEX|Hakn;*xU~tP=D(sU_85l*{S!{1NX)cjLdA2CcG)K3_G-(5t9%1r&mEHAb=vW&42i}V+G@S9k zt-ew{_zIh+xw$a-Zgk1HrmF=6ui6tpaeGn_w7E*|@6S13Svzl~gYOXQ9YGN`d;9wI zNqCgFe@x9&8ol|>CLmIN35zm&8twn7lFcwhAx7s%!)Y7*!qzv;faazA;{(%vH$m*+ zA+FwC*L-BUp_`Z*-Ld%$hZbeJwhLza9F^@?jo{r-!7rHh4&E@7Wc!o{`oznhGo+bR z!*lmo^FF4!FluzhKn(JJ29|AH?en8|^l48`o_Vb|@h|(uJXke#f5?rIjUrlwpyWQU zJ!>cOMx#6TMP0`VpEYtq2lw?{37U7lTUnN$)V_)F!(@tvxO5S;WEw)F2~|OtH@LchpyEG zn5MkOSGaKYlMv8V>@FSjo%_e+#!tqyKfp{1YsX?Ja9jALhdA|b`c0L#J&2Km(+M8_ z3TMD&$j&`eZluM!gyoKqfDa(G&0CSbFM95{VzL_(+%+8;qkgME-|T{eyDO_WyzRTT z`q2`xdv_zgaqjG%(NO3i>>_jXv02oNP1~(N6v#q#oKAFW7Uf<6fmkgLks^>E)pa0H z99|K7nvj3yse8#5Xm?pXc2mbF>Q-N2xxm#3IPdl=l_C?TEa&hVY#NjJRcE#yA+M%P z1zbYR#yG~_ByPSbAv;@j=4WfH8^1QsM(%K)+4YJy?YE%ghgJ);@xN#8y8i9b4t7k_ zV>v|(V@=IL5}MNjg_o#(6)Jyy6)Wsju12z`%(vr{xjQvSl!H0Z?EaJ1dbRvhiKG|#Gxf8Iz`E*t| z{{s$mnKfRI(wZFAur|3#q*eO9Fh+_SueN!L!fFFD99p6MZZ>wW!6AGuM2Bxatys-T z*%O*mOak5Xfgfg-!|&o3Ea-da3`~)PynVIC^193oQ#hhN9X3*!I^)grViUMcjSSFW z?c{O1KcA!gmYrnOls0b7@;VH0DLf?#m6|_S8$d%>qBiumQAZrnXnYKNHplQ&ewE?4 z8E0#CmsG4`VawjRSLBu+*B_2CCysh8!WlW$RIlMA#&49}?nnX@Vj2IHwbp-Br`t3lwGL3tXE92-n5C# znAfs5M4p6Y;PcsEKWT4_y;}+>KcRB2BaA!!6)KwvVeM2(a?crXTQZfyarp+GD;X;; z0+X)-8l4b@=>~4!k z-TL+ROU2+#Cv$5bSrykBE7O;fZ3Pz_MI&3%qP5{!?}-UXSVEki`&dr{A=u&$g_{(< ze^RPJXF_ywVwb2?ycC^v{FBF1Vq*%69cS%h4?Pz2C!D-m5>ISyZTk5AQFG0wYqQ$w zqAvKYQvnb74*TO^@F1BR-U|uJB;ZoEdHfAUyj#3u0)wD(+?+Rf+P>Jfw8;@ z)h|g?{8Id@&i#>!@L?KtqXt&aVe&nSJwV!0 zDyS+P$JzWI4|!Vw0shAc&Bn`RwNntZ9diBspyYOF&X$g~qY=6Q+=Q!Dh$V=9S_8aIteGgk>{j3ME%OM|p^_{@o`=T^ ziizIuazl(Wxq-S5eNzEikh^awur9qmzpR=m*?=5X#XU@z!0>iIzPduox=$v2W;>h? zOZ|C!^SMmy8kJ$8?k*x60=aH&&G2hHVBJ$1e;Pzc zupbMeRp!A!4uRq5$yu00yq$Y==)JIz1G|1IooQP$z&jqP_)!SQ9JGEg-4Z3hqw?D%3 z`T?gDnOe7v#*mD^gcbvT*L}VW@irLEl3qn-{^4W+oo0c4wMPF#W>~$Gs+(`&g5(7` zv%b^Ti~O)H#a+x-vf1_7^~IibPMsob_}fXF7HS^r3swCDbr^x!O(f8#{ifX#y)lp1 zg*Uuuei2>K%Q z?=h0mEDCNj?oVf2f7rv^9)FE`w|B9^XfL~1GH?pdfSC(=v&VfxcpFY-Qovz>j=hpk zV(KB~eyBVw+R()x2u+)sMe2CwYybb~ddsM|x@KLwaS!g&SbzkA1_;3+xCeK);O-tg zxCeK4cL>tBy9alNhK7cZXFvP>_Ss{c^LPDOW30Jm&6-trUAGEo@Ygxd&F8Mem6fk| zi^IM?rGGk%{OJOI0H1zfBGLbziVFKQs!C#HYfz&t_?!3E*w^tGtCfc#rQ@MoIsM(= zrSg0Zo6QBI;+t*k5<0P!MvJ;$sR1&wyjlZp3QP$g+*-cHs_Y-SMouZ$lQh#a@crlF zMun3CJsJidhnnRx{6kLZpK%?`#SLZIA8gzyCIug#T>9U5E|@++gF zaCg*`vz)};Rh_ePw_0v!{HeslwI{QA?P}aAHBTB=?~DKG-Yt^AJ`b5WI#;}VZg~kI zm7a|G_)b=S$^Y3vj^ygvu-^5a1(M?TSR0;6&knet;X zYLBK5k!~oFIbs)R7-x=FKZtFMZ9Q4k(SgV+dc+rMr9R`<_`NK+oqBDNkPlsDn}Uws ze09W3MQ#RIN->sYdQP@8oF=&b*!Dp%lDSt_5e^>VAFE%Eo%a8Ru3=D5Y`+WF8etLV zz|8WvHdk>sbd}||8y5TMx2aFsO)9ioeLB%Z%t_`1xHhmG?gsaJEU(7loEwA&0rVgQ z!VGiTw~oc$fpwm2CIPe-bKBHSWC!X4TAhqTQt9Rs?lvRRD|fgzZ_|J4vuAWHRpCi- z&Ym;UqGaW%Tk@=E{LKxekluVe$2{E-tQbBnemhvcR_trtc;-`tE(*P4*Sy$a8EnVm z8fLuain8i>sKP~A78Lj4lY0dpyiQn${@iV_=7NAm>)A5ACYFd)_UIL+fqR_i>Q#EC zO$G|^L*Iu6)9t$EJ4l8>R-Yu>ZzcsNzrAt1Uezsm^)j)v-4DcDwj=b9dA3a8jqiX%F3wzrpyxw(EA)V{Ra8y~wt?RYsAd=)%$SiXv~d#?9EY@xp;R#=k&Y8y_r zPiJ}T+!=oEb06Fum+~L$mwBYuvK`4)Fy<#5WIXWl7l7U!ytuVauAAKvUb_}tIz|Us zT)biWu&#U~vcQv3kTr~DLR=)__WZj3W~G=)#qV@Wg93j4fO5jGKwPl2A0|N@@`CGK z-Aqmy%~x4c^H1p0MBrAXvu!c7vluCZU^gRUgNm&IR3+}27r&tx@cO_(iv4a}XuA52 zk_3h2qW9(%i0nnf;nzzI$cdD!%&@^X8Z1kCLaaOAO<#1!)_`^MHzhCTFk>g;($^68-CIV4I$ z39+MF9IZA*KT)v7QR1ukhRsi}#%6twKG|H!aW-d%;}eZN<-MpT7q9C3%2ksMhtN+) z?AsW5NNC*Qw{H?P(pk7Vs;^TD68O*GG>KtQaD&xEG~h z@-H+DpxR$HU&|z9>?540$;Wg#Xb~4mz9dqGLPQg35gGdN=knI;L&uhEffH3b z$jpWJ?OTO2yzp0+y|cYnXhy43_LBhL8Nyh^MgX|g$^4C>;beC1a}E_a7{j)ZCb!Cy zv4L4p$#Ig)!CB;bZqUt%ZaHdNW+{R~Qcxalu#0$kJ&;2&lYi#*Q7fK7ZcDk`!p=Nn zt12rAF4YTPcJn?m3e)sp^RNp>FBaS#C0VnV+S!qpgZmeLLqZUdOnu*yxXb1RZSII9Xat8c?Z>ASx)*{iJ+UNkU0{$Tug?X ziK5%K0#jGHDx5=+K<&fqx*mQ_0*hJWvH%shQbcwVK-f;OOUT+Y;3b;R@%Q--`MIeW zxDOJn|D>;VsBd5~0QDW-9x%g5`TLy@gyt?V6|?ZX<$PKTYRQkz_`P_Iw#DM@2Qy@Y zm%7-jzaJ|806!J;Y}Ba(_l)gRM|8<8&9d{&7UO)RL7}T4Co;i&!WkHgPq2Vduti`& zFD4*<&OO6mFNT2<$*Y$UIxIpB@FV52{-sZun;&Dl$(`%qylcwr?~7-MFY%|5!$0}& zqT9o-WX`eVac!fi$uRIAiTmehG9I1P7L}H2zca@579{?$_(C8-z~-~y=F~meD2BZZ zY|A>ykx8k=pS6ovQ%scdiC8YXX*EV^-}X4gHgL=dcSTHqMGM?LY_vnBNwLva$(eeA z$37@=vrvVIIsa8+B?41~gm#@Pi#L*0#G*6u|Ae8SD~TvGId{=Cj2Sx~ zC+FhgByPWa);Y~mw?Kc~Ma==;oh;a~653o3oTCjKgHy_xzOGQ{dR?xqHx!>3xILX& z@&fE|dbGM!^4$m*$>K=Tg(X|=UN@^rM!;EDsV3kRM;u5OtylQ<%d~{VX{?w(9 zD~LKLhCQ>XRqq;8`LZQ^ebN0wTs_4h@xc>w6)jPuon@-ONB{aR!$&Ys8_i(gyx3M} zV6eMm=R0KlwRvtSghieX@kc&@Q?dZKxea9QEBDKl>VW3nou6y6`w>Q}<;}+D8unjj zX{N7rqDmX;#VY{=wa0AYY4$dshaKUjDoWKbp-M<5`-O?EHyw!Jel(0KEdpIpM719= z9b9m5QR;`X&#xy7oM}y(JE)@1M>g#*j)vZ}=uf?sp6$!)H@o5qY&B++Jr}P(3f(3# zB2ds>d@pcGieK12Fu;i2I&Qu^jM5pD73;+Tb;rV3JatUVY(5cg6!F>qcmhoBy}gAN zvb;yQtr23$F+Uc!ttBrj=o~LXIp5>PuzVXzwFC<45(gnI4*RIt7Qsrwpc1EVvdmN? zJvdY^ahmmp(|v+WNIv0g|E z>aVpD{}1G-sNYL{@G7HarZGi{vn`NVmnwulM(SDF!-bBR>M~F10=h}kb=8jvWkj5f zMKlD}Fr+e0+ah}UTc+4Q-|mbhnrA%84Be=YDYi(4tSzOSEbBeZ+! zB;~yatSWp2^6%~KK^At*vglRS9)X5^k**Z%j8!E=-<-yac1$t2d2nn8BMCk^X!P9n zkJAki`+*_}1L`HuhV@@73T|WQTHD?$A0BX>=^|fZ;i#S8>T0XgsP~-fVF#EgL@(cr zqOqRr7p42HMx9MqOtzSgCbt5Ij-o!tM`LPRaiH*{`LdnGji0pHgB_TM&ay$z^{@a^ zf{J1I7Wol+Z5%R%rW4IB_gDU%Q0<-XaDQvM{zRplb5+^C zrm)161Hd)NNDr{?7?wGC8Ci}avi06x_nLN@j6D4b9{l`$_Izztdatv3_NsG24Ux79 zd^qeRSykI-Y)7{s6?t#(!}2~xdY1?rGlfYF4$g5dlsXZ|BAzh5dJ6TJa;tXF!%9`(>e532>o^E1I$l!LC~FnP*%dxIMS&J^z7FkqQrO5lX%^Sab3 ztq3x^ybVQp^P@<5Cf&9<(zX@bRzWrN`iB6Iv26wN8FO$|Uc6+eMzYxQx7R6ntm@Iq zBu1Nf#g=dl8q*qbNUi}c?EQ$R>Qa}>_@_)%`^;o2|g8`vi4HGFN?nirR|K+KKKM4jsOrV*BCH^B{C zo)H0{w&IUI)WJP!$mI2YN;TQRy5NecEv=O@PFl4~$uql|T==b#&ODvJU~kpF+J&L0 zk{m4TU*fl7g43hly2>mw?h7}vPKDcWfMxv6E)NXNv)V-5FtN!NHpV$p`l$%tGmm(X zZqgRvr1Id3H^9TbUS7h?Uush{DqH1@_`&p_ZF%8_F_!QiyJz!2;K|ZS!sqyCxd`X} zW=G(Q>Gj_x7LBRdC5Ihr1)d3L=fVX!As0T-t0z@RYbK80N<4*yHvc>vTm*MYz z7^%|C5Bl^MxCA;)CFG4b-E2N2bW*o14XC2p^0;Hf1^hj>NlX#&^uAW# zy6e`}#Bf0Tws-H?;OhNf_U7jAVFjQU?OX--oh~`8X4@cMgHxiXDzr@pV-T5vi}z3V zH7Ze&{j8#9d{#t8s{0sJ1Jt(Dgrz5>lU&eV)#zq%Rp+2wLgUc};N{)~9o~Eie}6&{ zGVEvtM+TtnS!YR;o)(U$Xx-Fk7|Vt}$fm*)bCidU~u znfS}2Cu|{E5wxQ98gGFx4O*&2(y$%>-F#T|7WEj-U`Mi_IkL<`VqB!@`b_q zlgVuIjGt?|(ZLX}`MD0LE6>{4UyN287#k=+FPCvhp)EK%V&7-_40un4G3Dz(<F_^ZC5T#1Q zpg4Qzj&~8$El%=1`5*q`DK|n&PUE)Qd>~g2W+dO*r&x-)>OgfO}X;yL! z=qcAbJx>En7%S^3{nSX|bQ|aO+1fqU9ef8O!{qKND^OSv4uUo5O!UueN6o;C(LZnhpe%;@LHr04&o0^*MQ|FKgWKWm%)qW)4`4q_q3@aWwmi!6eN@cb ze7DDwr{FK8t#v;tV2~=reub{@tM}TaFtQX`m*1(Q|NWDv{n;-_0In0#CCDsW;}PX{ zmar75>oA5zW%{sMzG@BHXl~@=lQfKQcmVoH%<+SjBD1dFin9kZQpAKn0or$$qF-0r z5(!?&#|#J@hoyl*sr>?veAn&Hf#~edzLg(z48y+4Nl`xshlnpJ*`Nn$G++G5msuyy z=k9IC?bvWTD;~Vdd{Z^7r|=`j`Md2@GccAVUm;%XvWO=_oM2Qrfl=&F*~eJKN8G%} z5aOAz-`nU(pZ%R3bc+zbeqRd`loM3OC?JvKjFo`%CpgXJGW-J{nM_J?+X{w(o%r(C z-EBeByd{{W`?v_`R#84JbII?vX}-o(R&j_7_=7h7ccnj_l9XSn;{nb}0}X|G>MtCz}P&n2shCcqP&YvIa=j&>1Ov>|bjPN3I@hzHZuCzP5Pm z&qx`BKHd;&Jhs4r2A{Us4&al&$lESj_p#})jDKT1xAfGhN(OdAq`_imEMKe^n6B)a zd90RZwtQXs?AEwn&aG_!{!w55qps)L=on1&#aw z$U7R=51@D{65VA_2>N>dyS&;_Vf2^)t?*4sHBiCo5zb2!V?E6F)4SG+YAV>c_C*wL zO-TRP;r^7z6$pduDPlWIm8-DuFqTGtjL_KI^VZ+sT`a4eqyGCx?x*Q}Y#%kaL0MrL zVTtq4`ZL2_R*D@u|5?+LPp*c~y$@VYnwLTDtzhjtwF(`}$uq(Xzbfr6qr&u3E0?J) zVX2_pZ`2>z{h@uBZm;sF9ogR3#7|kf z6oKWowNKWi;DVlP8o>QQqZ_?iC>p`xi?0DSiURKDr4Z>^3lB$IO1_m#P9j5@(tIglu z7`~1R2zYbd2%me~H|rVZebrJZ2iqlK3{{5@W!*$X=8ik?wTi6kz+WJKtFQ8}DGJy(w)61zizhz22J~jb&od{Nvx7{6M-!CbeSKf%2VrJ0%_~U)2)nZ6!qPRTWg9x z-}-Gke8Z6k&WGE-NhHZ400m>WjcJiEG|FnYf`W&vHa&QCWBU`Q%tND;0QbX zONj;jfq@>u9^uX*V`asan76t4LUItcEgU8584>N{uXpctbAxPMtK@cWpD?MbhnXJv zr=&>r_ZL0IH>W(5=Gv(u#XtHAi}>l?Dr2zgpea2$AfbwPowe}H5;JKZ<&W(>DI$#E7Zj*Mp_Ag1Sx#tKMk+J zKo8?hu0e-nSRbs4z;3K@JnB4deaGS8^X*8MIi1fd8?uCY_IeeJ3qp=jd%rgeJ#!5d zit9P`Q*^xJ?xF-PI!>5bLiOGi%k_Hy(*ZWXwv;Oa1GCMFdr4wt(4vQT{KzimWN1$uz!(|xyv8n&2pU$K*o=gvE>0X48><71+!P#eQ&Z>OMMvf z`Q+SMsF?F_x^R)Jp|Wtw3N=5@7p zThx8syxK^q$HzMo3ZOeAB|aGQ*Z?@~4kbAbgE-?0B#M8fofOY`>E*J~?io}f>V{mq zt~>R)Xq|Q`R%AUPVo$~pei`$D^D&%uNrm0smAUBuI&>cS^yB(PvOpVPM?DWWb|Z@M zmg%p@r3UT#2rhDFox-hTzdV11*)0C?x=QouJKvqZmd=y6U5N8#FOsI~dB++hA&kO9 zfc19&6=Dy5yTo2QJ^pX={gUsL?~dk_<(rHjwkV#`N$pUJui`HDYve@?6}sCkz!_E8 z{@sN6=5WqP3?ngEjA|9g6>dEHB<7{y2Hn(7OjNBqZdr3F$8x5{s`es_`m_Mae9J$K7tqp!~m38S@~C#`QIo=UeMhYfkv`oA<<4a z4OG?2y9h*ot5bvsSaD=nzel`#q1`NYIry}St^sQi(SxD9=QqaUney!Y zR%e>VqBZWx(Ygx`){9k;fN|EwgU?r8G_??|tRx%`;{^Hxw+zdvpFCOLXVu_P~5Zi`llMyp**Y&170UrSOlPSbHqv!YAs8csngC@;f7Hb3A) zuM_mAsQMN|7E9XM@~1B(Pg*b5vosz`KV_^cmqc++f;ZnR7ND48%q@B+>=aV$cNmAn zEYwX?^llEVV5Ka2PR4+i9iE4X#Y4*zK;SW)j|4H1g(cRsn;AG0Y#+Iqw%oErSfAh% z)IUEG2`8_la&%0V8j@eBnYb9=9Y%iG8BO3r#2jwnR8ett;~%k?b^0fSo<@?m+sf@D z+^0gHWu7;Pkfxa&bRiRNuVUcMHB6gj+nQx4oi0ZGi8TMg^2euvkfzO-V!trmfL0cB zKey|6x9Q-6bXDyt$oHqvXoqXrlyxNU$NGyJK6IHQQvTj{tZcqhFBP2<;4YKIA}o51 zH+9*CpwE-n`U7G5g>65A{Pj@+-B1`sor|u&ZcLf0Ir`)NrSVE%nU0t6hJByhJ^EC_ zBV$3(uD`WjL4wXAzrEaOv`(#RJ#_0WOcBTJv$Mwn_H$Ni6^ zi+0Q_I^YKHvrWvsifm~cMu#QC(6lbi$b5+?XFo8v{)abh-|bTh@Hx~=S%?QrRKplu zq3|L(CZ>QZ^vq{d8{6skW9vqqzZ>!8Vs2Xd`KoJNzaZt*3ynM7x-gg&Yj3#CM8J%Q zXqCa6KG(<5;H43$3Hy1=suCd~IiuxUmv;8_m%82%e|5m_t~?6D!#g?egl`AJ)DLub zxT9pLbT0VFebXlLx44Wxgv{FnBYDOPmWRxXZ0Kxc{21sA;nFVB%mD3x&f>k+`X0&`WDCZS7sJ` zFbdPcWn=4zk*@W=+(y1|Govo*? zB*XjgvXw9JNqFZe29GFd)-VUr5x7*0A-k*ZO~4*rJWc0r+~3c zvSo+~)~KkqFC9gKOfwS_#qNS)K6?F@_Q>7V(_z3bXPHZG^WOPs$F?zW{I{F?7Czgk zR8ep!%`PLrt`;JseyS0sKt&vR^{KE+ar1E{g+25y4=pg}^!oc=jmLDPPM3=HhV)VK z(!=!?1D$r$*Z^d>2=m|(f_Ya+24Wn7wOs|^V+vkNZqSVx=e9EK`6i}#gyTO#7+lcb zyW%F`x9_9Q6KeZ8(1(w`_J3vgT#Pd9nXx__*3r8A(X{iT>YW!~4>bmACC2alcn)>V zE?dXxnO;y?5WC&PB&>*I97s|yH4~*1~%!NuJMt}ai`iJ(OB&+erP1L!s%oXLvzgtIaWQQI96z_3Mfui9}96EGC3!xQPyTE{i2mr27L)AtH*<&gA~ujZV3Dmr&BoZ9nFV4V{d%m zw~&{ILDor=wDLKjl1McBv6MK-19$*Q81J(sIzUatAs;>jpIBoo1_p8JN&?l%QqAjQ zy^DdGZ&$awKHoINrAG&TOWNaBzWZ>Q$f#Bb*w75?^T3HrPPeiD!U#dXo|F@&O!M{# z?;3s9fNww^GLD89^KkVp%K~B?KdGFgguh#Csh{sY{dQXcYsY`k+v$2XiS!`xdOUwa zjkzg_{R^%pl8utb6JD`G@pijXTYKFKjl2DC-|?D%FLWJ8^M%vOP6!%iIA^r;weeM7 zLL#5kN63!*$Ez09NP-e;5CJ5Mx)|?7#+!lAs?Ji@G=)Cqs2F(t_fmSvR2N%IIUO8s zhc@WSHqmNyzmkCba-CtdU8)Gfv3mQ_L|?}Lv85Q7_8b~dH_~Yz8tAe1bn@i3Z0Dpu z-RotD{uEKA%%hBPYDKb?cSfnkq<=g}#yX*zs7@67R-pFPPxi-Mlj10{QW#Nk=-+H! zsA#m2G2?%1SgY3O7=+dmIUDH9B&G?Q%$4P1j@82YYC7s5<)@e?mmf)x`;$ZwA5h3^vC72-g)EYrKRM)luuvFVCk`xHivg>>D+Ks)7Bm2cIXJq;2rJl$pC5lJuE=N)xkU zP+W@eXyAIb{t6b@viqvY>u+jRe0}XG^`7iHxHTOww^=^Dd@+4(wb`YW)6Qo4OXqv4 z$#x$v^%f{*i9=r~SXlcJNDcfR;3WH|bpme2IwhygOVv#>r;1b8l9}ApudR7p5rU=sdSkY#Zda*=)>P zU6&Z+w7d%EA`L|nDgFoLzp?V4ETVwq0XPM?@THA@zPs3*B&WQb+-Tf$36KCL7v@rE zZD>C3tfv`d0(`H4Ue70dQx9Nmt)%434DF7?sCc1npSwp+<150AlW943kICF(Rw?l! zDUmCx+$|Fy1_cU38^382dip}`W+i@`gwJ2EPI2zEnAH&7aj(0=t^vFZ<;wn_;bvV+ zuMrfHuowhF1oHK)f3*Z3lNm7FZprjZ+$M7;J0FHWcLl|>!A5u^$Wlo<;-KME6(3;4 z9Kz4=OBMllBOge$U2NFsjk>zj6Gjgorua^(Wz;O&<`O3lSN3(Uy|zYM30nJ_em~h2 zwgN~2MV>{!1m})cAFhHQ?|$6-D2rqIcJV9DSMWoY2y2?;U!LlI;Wj^nY>9yvLZ<*t z#3dow-7v9=?tlqM?G<1wJdzqCGGVx%i1oGULwrq9v3vMvrW$)gBc~WQ)h46kl6xNK z5$MA*alq|vC5%`;&ceHfJ=hhS0?3wysVTngaQvsTlf8FoQ|b-JGEXS?N6P1e3Ph(` z_EHNNmxYff>otZxccYR?fO$HYbasT#W<$nnhvB$afY{q-7|WoF-S}Z`SrPyD24k`Z zhSpNYYaW|4E_LpSY46pd!i@b3q6u;as?yQ@{Du7{FHMOlx-chfnAzpL#UN?_d*%O$ zIsg4DJXIjNBhlHcuWadg+?h6K!!Dtde348I;wIYWpYCRafHe<2^g#x+8W6)>V?^3A zv}b8mwl%}4yvWJWCWm$MJjdtlq5QGj3k%v=_9UsuQzFS0H$u&)5m0!KZV%OQY$ zed8=&EViP#1G0Kn@a_*$A6wsO&ezRg|40C(Sq!#fU#jFgxN)5Cpvu^|ch=~;mE2Y< zx{#7J+*wKj(BUn%F)IvoD7L?Wf8-l1eAi%dRy)cd3i%sV3-2s-K9%IRtqMX7?k#T7 z04Bac&Dhx+(%?Pj1Mvf*Hrj4(K90>1Rm=CF%leQ9v;~i^Y+Ct*oVE?CB)@eV1NG+? zM#>Zq1!yUB=86W}3}C9l;Kin}aH`5{b-sc<26vw7yHqHARaskALK$sYQe`9qof{f0 zV!F+)2qlrj%uX_)FH>S7@|n|>Nx~$DG)%tPmOtt^2 z_x@*T|J~*Pu60jWe!wMjME_r(MC1d;l==B={@&k&yn^8cFhDxl)R)nN4? zNQ!0|=i+IYE1PD6EJWeWmY%xZgZ8!ZfFz}XotGl8(tq+MDvoQ8zoVvV=H$v*kfyw6 zzoZ-hNg|HW2AoA0t>!NCh`1ls{)9Ws^{}v_|4cjJP3=JpXIfMr8_EpHmrGcM2jJF!A&z6HwHRdmNQ=pax@!R^3fHw!HpfcJ%3&0j$O~(Z%z%s0LvZGW zA`}GVgPo%9)0x!Hqzu)>(;^hdzmt2NQ&zGiv^RZoJw zw-7Ts7f%HA@$AwwzeUg>?h)4yCDU8jjUx`j{l)PyGBSZ!KZ=5{+8%RDo#f5rI!tbQ@ftKP+){5~7{a))I- z^vo;Y6D*xU`VhIde)q;0pCcvuJB^qxFR!-7#|YP~%j21M*)^HAhugs)Jc98PD^!t? zbEIVg76)0*DxqPkt6r^xgKE<-%$`EiLBYPibVU?+Iq4oq3=m_( zl7Q|sHnKdo7q3(0DWP0LC#HksM5~=pa5aubk>szsLuDs@y97gYmvg2eiG*X`(XZ5L zbB%WwdzV{T_!>_+b`WX3?%XwCP;|d&T-pxa(dZ<7Ax@7QK>{tur3B$&ga=yyT<7oa z8}BbuuC|-j_^CLa-Q;{fw zu!~`Q5noClHu@|cek%~1FNbuib}Ib7TL3V`moqTkqvX$WNNvS!1xpiC7~bs9GC5Su zIR6OU~RpHk($MR(T z4m$w30T40v(7S7=`7`a~%Scc7)R0~KM;hiUP1HWjE`7rkBAkq*{p$RTd}YDODAnt= z5U^OBf=ixz(*}9#2>awCupXJJRnEZph_~I@YyoeDyMH4L=KD(J>PHLM6+#p{FQQ=! zExcd)Cw8n05NaFo$bS{d8aKVfEfctW4hcgZ6$C6U1#K~1@)3D`_E__3xE>&!)`*3bP>9N@WlyRw(e>lebvN>a>`LSheCP* zra=&P87xDniG&Nq-BKrR{*brO$&tSb`=TuJqi0SO6Wo2xcy> zsB5s`cyE7eDXV6HcQB0)&L!ORR|g((fdu6WIf4h#0ZH#|qHDuS?I`3RJufkX-@q@) z0jHQtw&&xVjjC0ZjeUXfH5Z29mpu8?9KDg>L}4$~UlHjtb7tk?RaA=u%~Tc>(a7c~ z{3A@P)6-C&8-AqskEO<6L#`|d3=(4bC54&~SH(x&hqR1tl{|`A%T^od4*RPEEjA2= z>wG!s3h(a?R1aM!ZjF-u(j-&i6@dOxGyapi{vR34|2)W{CmBL{Hs#nVgFGe}PO)=N!W)`N!>)8*saQu}HAB%uUQ77D;52X* zN%EmOh7p28#6Jblen3DQtI?}qg&>=D`C$T*EMMD>Ne~W7%G6lVU<@41?`)gm|Codb zc0ef{$Y4-cS0BoqKRH4hOF9r!Yi)hZ4S(ID@Y@#6^eD8rWjGq`x!=NaW=r3GfNUGBh!<+`-7^P%baDi+NJQ9QqUb74}cdeGkR??BG;-%%=jp*BqAhSRs_!7!4+ z2KXJ)7_h4q$Jop3zTlaGlwB-i1cW$WTs}^+6;LW@2m%~C@z?TR{Yl_1QsbCmOc0|r zY23{pyiNqDL2AebG{;p5E}6TD_&J(LsKXpg?{cL6kk%AqE)?F86O=FD15As5P1(O9 zB%a`D(c7uYEOb{&tVGD?koqjntG6}XbBW;)q=lfRs%oFj!0 zIjA0!^!DTPT?f$J?RchqyYF9INAs1Bw*`j@KJaV2y#E*#d+qIa{LN*iV%q-J!>WXx zCFo-Oq`wWkcf45rULWycmFZ$}FjLnS)btM8*g8mlR#jT7yr&y+D&wr}|JGHn%$3T~ zN`Ud^(s4>Ljp1d2>vSVrX-BYn%0ZzMy9fm-P&6?#JTJ1$P&J-!feIa@rhC+TLNbhuq?*e=!N zww5_2-z5s94{xN>??2AIdHX%x77M103-E7>VqiU=S?NF3RnllU2<-b$dkr<(J3Y)! z@+NIqzFZ`(d5wS>^&jKYS$&_g>Xy&$4>FvR+aI>k+}eFsSpTgLT+m_c!oSG&^tbyy zf2WY5nCL?jIH1ZVBV)P9QoDPh)wE%G>39YKgql~@=)+8XO5?U*;E=wUy#|$@eUgBC z@fHr*_zh9Jqye!#3)=$Fd+;k=eq!!Oz4R`}#OZ+XZoWGVNv!>9W|QR#-$nOiY|N&O zGvlHSDaZ;4&A)afNqYQUF$o`aMjoc7DlVY0oQq_KLgJh`)$WPR?$O5F z>|~xGc5XA9hhd$0)7Rp*c zx!o6uCm7^!ulUzNT*OMk{q)H)2lzj^qZ6{rA3l%&d+2TP7X`e1>!D+x$)4snqtPC@ zH1<}B-=%Y%Eq0p%bs38>im!c^{g;2w{~3germ=hzYney_)fBg3J@D{JSA%6}~ zXJ}XN69tx&pR*>EU0jmd-_&0VZU(_#kfY`0)7cyTIlv@26msvx>B2c^xi7`B)|lNg z7`0~C&A^eL6P;$Ef5;w-*@cw3t;*)dJ;{*-`A{Ab~!Q zQqUALnPm#gYdQ+K%Z$?5v}w;5gF#gN=;F?+&YDXo>{9`=qW699B~bx??>A_ZYwO zL6zaG?8v7H8EKAb;$gNb)p~&5%Y;+Z2<0p+)%1aclm?;Co~1B{)M*)9h`h5rjFJYK zCKot1stqZIPEPGsmfsV#8$$wL8QvgMs0`P2aiAaaQ)$yveoHcwA%S%XAHHI?p{w4S zda;s}Fz}Z;aLMH~W*Ji8Xu2eP7{0Y!ms-s2hhP^rKO0v~E2ZgVTj>}lcxUJDn#N4R zH$Xz~72_%XllJD+APz?J_i%EaydxZ zXQx&BW6ODL~#`ea=Xg+XlWAshakN&*Z<{3oXaxKBnfCAVj~ z=dPbaW~LCsdT$C5Gy09lW7UIUXh(=T@}(VV0Uz=@Jq<=8R1So(F@=PxT{6(CVssOZl%!9B~L++p3n>qki4Q8%CN#roab^2q0Y0j0^c@yRhowiKv&6UC?=`2L zEu%*Yyk3O&UG`f&JUR~Nema>t?zPVwE8lBOg29o2EzE~yvBk?hQH0n!3)6({e>ZbQH-GDwKb{q@+qu{tH=~kjK*<( zMjKv^ReEY;GX&D=y~!Ass3U7xIxgwO3Mnj55| zLry|ZLv7o>b*0WY@2r>RiyY1B_Kv`k6RKgL(5f)uh7+AJ2Q>K&@|}w(~5HeNDH& z2nQ#`#>MS_L()%?a=h6Ge&xy9*hKNZO#`n#h+?|XNSq%u*{&Z`cphSdXa1zrOYPi* zDc0oxN->s%tewgN)e--fzK7Gp?wW-|SHTlZ1hjX|#9(|RZ4slRUy%!z%R zZ~E0}CnR#`*!GJq!S=mT^?n=C5F3JjfUZZT9r)M%{W@%P4&*P0{ut%hP}yRo_!~L*;+a(2wXLI*-orY4KRa@ZW0v)Pv>193xS-z`VVX7>vg81pEr2r6oO4QX77fy zp4ScpI!8VKkk^-$jjZ3d3*sdO_@Kn_?=yfmyE~{BK(!!>Gx3Y=?jr%61ny1ma^9y? z%r?qN0_~+ZhozFh6+Nh1h*83tGWz2yw38)v0%_ zY~Q)(U2nTPi5eg-&Mq@gd;1wDQ4;9L&9uY#1nsiCE_)^N%%i3f1nbOq-vir*pr_{D zHC{-C34*M{;~5_DR|j9;%E#3FIHa>UZ+zPz$YTkZc`V9;s_xi=F z1voXwWvNV7G?)5&sOmRrA>czO&D}2e zv+0dY7O3MW`z0^X{@01<;Nhw0ja7d9FT-=VrM@4B_E3mQTL83Xy9}!*pFM5Na8FHj z{Rr}bK|D!Fi30`i6fw5RNg^HLMiN$hS1ElFc!C(oRqPXvTou4cQB{5V0VLoJn*>Q} zhk;rJ+l5QU`PR;qU+Cr&{(p46Ra9JSx2;{cLxAAHT`Rb|2Tcer1;O3jNpOb%0fGm2 zcXtTxP`FdL70zLOYoGtL_V2x~=3UjrY;(Nh?W6Z+@OJuHlFyT2#S1+pk18!Z7?MiM zw}+HXH8Mv5vC!~f!^Uh=yi8_NFVx7|y*%6NNzfG+5<&uKlmrF21~dZw0>Y=|!NF%K z&Yhj)tiH6q5BEI`iQE=?oS!6y{b~nz5q{B3t^Eyyw1;SQEiJnK-TO}jVL5e^B{?RzMCt#Jm~Uh9o{MgjRh%~jhv z*ZHuD57^*%e=PmX!0%qY-G*#ei-INo4~JOsJ=KDBfJxWT=%KqxejSDTl{-j5vbD-vFjqppi=Invg0x>i6DV- zIP%HiraSWZ0fPiA49nACzrHELa(`bjoH9VlH-EZbYbLzO#QbF7aC{+6%;c^C2!MHh zBnr42$jv{kn^AV$&vb5>o5+0r9Y_J70no!RRF52d_hzP8eq(GOt|dfnIZuquMK(6p zpt%gbB^m@lT^72!rNhxTt4W%AW@4CJ)H3Mq3qDVu7XCOH9F%eqWIgO~S9I=BWt3uE z!2HPcxMYN}nm9npd_jEoCDefaZBz_XQ{ibHZIS5)5I6trCoq?6;B!GMc)8VSGR!gB zdEOIwN)!#$>~VGL#HQXVDXo0@Ri30?I{)kGI}(Nq=>C%6=4rDrcBo+8fA($X{8>OX z65)AuxlyYi6kLn(J1q50D<4y%e6|5s4R@I?vcB8E14~8@w-rLFi;J}(#nWT&&T()c z4o9=p;DRyTvZ7z;aP>&L42Mjqh*-oQAaCW;|9KAB{2d-s`1J{mzjJirJ>kS!^aQdh zoK3pWJ>2QfM04Vmu5GFl^=1PI;fC)}9Oda%)@#(Qnpx?4eI(dR0KyygOboiCHbLmn z&u?g4@fFw=10i*H#OVSq7WaxD;UIH&G~RCb;MkOyN( zA;k4-_n!mmJTAVp4lFM(9}fcV7NEBVsQndc%TSXsm?zqMf|ibr3`K$i0mR8YvY~q9 zb3_K{?2HNtQA?ZZ1`u!_lOYH`nzP57g^7;P?*+EEO`duJa>1dKl!tvp^i7--d`gB; zr`F`b!@;zPBfq^Yl#JH9Tr{xuw67rk&)Uq{*q+rhg#nri_LDGb@DIts)&-EazUYBa z_TvP=z4=saiE+J6T+?O@$pFkNdRsjTej~7hYg@2j9$>os?iKuZ-)5nOt^zCNiOl!+ z`&lGs)jEnQf$m=abSo5dU7)uXG_uo9c!1$Y(q&KPnY2)V|ExDL7Tv+uVL0SuEEZn` zhOo2GgFbD-fv;`H$3_*>6vMH0J~Q=4a$c_TiQXo+_zNXN1?PFQ4x*-1r!ot*SY>5C zXqW-XxA2pkbnM)1H6Pytb&HTQ`dM#tqOL!%ym%SiAXfcBsiGtrdVi=Kx{t1tHFH5RAAVM|>_wsM`dPFySi~7rVmYyoR?lkx+tAi>^yTck&v%v1!5#JiN zLrYkXmcu>WGHv$MrcOHCdAEP4C&UD{i%r7-&azi0?Je=UG!{(z=3Nczt2y4-h`)T=gl^M*tek%L!pcE5n_Zr<6mtvM9r!(FVJbix{ z$IcX2y(%F+2DCmP8X?+Y6sIyLq>cP_r%;2-{PgPdjCODd_8R~BT-0>TJ-Hz@*-P856 zURMKlG0x}{SER)fnY(T%Q#^sl=<&z zc+F3RYF(mHa8ti6SRND>TC=%)9=SnaozPYL!&$Lz*zR>siL`VRU*{5%>`g8D;m21w zq(HiL?l!0Xbi1YL-CJsfCajAx_oHI^)+FY2mp9%h>A+U>8`E>a?~=H6!agpariNp| zKhD)o?jJk!+Y;Ouf4>d!L2{HA*R;|^Wq~O_t<4u)oQH94`}_(|mO)X+G4&SmC`aBk zk6PV2kMQbDy2%gcPc4ua!I$`5f8Pr?EfmK{)`w>Dice+@X*c#AJqC68U*?W7t$4qD9xORV0U%R5;yH8^(d z-w_B`p?!34uYbSEbDi5;&V>dfcR1laUx(g0$BK5&W$@K^>ehDjuioz8II)v%#H7v2 z2Evb&WeJk4Ww*l!t{NfDw-)0*Hhq>Xb=_v;Ofl*zuBL{7n>pL@x)wx4mfIW3rdA*O z5PAJ<+65tZ;uZeusLikMu!R1wO zN@H{3J}+UHb5I#kq0+InlkMX4UZ#H4*qFa>E1g_+azU-)Ad&1XC&3BQo{cNg8ECtJ zYJl|8ank7V$)|QFp|7)-L&^uK`T3EW6;hpa?a|kbgqiV()l#)+UkB` zA@|6D5oKQIBY?M2Q6+22xD|Kj%IY2a&FMqy0-*)MJI^IcNpLQ&JF%AU0nE*5oiTTc z?~|9;@ja{E(vggAiW+88WN!#QudM{=A2`P8y=Ef{^3?)@b>=g}cZn@)MQK2~o@x_0 z=h<7O#x`9Hdk>cC0(pAo53r32HMe=$FVd-zYSB7ZYWJDZr*1C-zba zc3w`)!5P?{cH+^T^!&`*Ng3I#3Ep-xM&pvv>KSD1yrKB;r{4tC&QHDpVB6GS#E8eD zYvaF2^O>sCWqA57ieMhG85hSfh0AKz&u;E$j$KTANdb)@Z5LPkBY-m^Ki&zCu00KD zvWE#1jruO+2U`k@0ZU5Dg$9??j)U;_zwDU6zLc|l&x!w!9`g|Zn6w+ld9C?C{06nT za)t2z($y$H%Unh>$ z(sP^*d-Vk;LJsAcYij6MFIp<*D?C@Kk=EXr$=|-+e6?RP-h66oe5zO>9xE`4&Jc1g zck(TIrVQCMdRWHOO*w^4bVTOGW#ipRFE~zu?Y(Jwwe1|(SG=n2j$_j zW(1~}6UO#*G&g04y(?DHrydC&ufAwjrt;h&q^Fo9>6_0rhUm~eDy0_n6t7i` zr2gW+%44J=0e&BQa?|^gal4V}d}L`C6jZKF(EqWO{^#l-Nj&sqvsMn*UjA0;NIG6Z z&B+ZOd@r#ihe=3wg}8!|=#OB9ZCEPJaxfm-=SGARxg-FJ=ug_=`=;6#M2(%VPFfu; z!yP1BB78IcHzlBCujUun&ul`TRe=V;jt)tHM!n$u!OLmzf?Jbox(>Qj%h!O(8-K0R z4GKIj#{;L@JzH0G*h6K0vjD+wKIAZ}E8re!L3sRIyrxF&jhI*UXPiI-2rtU4mt}go zk6ioXB#|W8f2~a?Kn-z{@0*1E#er?MVW~$fnSre@i(cJKG|}gB0B+J=0XhRT@H>Pw z8}FVUcB?#++P0 zp94Itj|dnPfqezsW#U-Ct9mwBOb8goJ2|IE&3kCYOW14SYvC)GU&xlg=hhKz~viVUBz)tggB9# zEsf~rf!y92H;$_{+Ek|5%!4NV3XN={Y#n{2=JdxA4PGCI@_=5EQ^&w!-G;+W1!v6F zbZcF3>dYuc(QoJxW;3ehFKZ~AioIJqLY42%wUOP*xLaVmEW1%nslHjr+paDHARXayPoQ1S>RJW8yjVK1hwVgTq6ijk~W!Vmso#%ws12 zNH6wxrqwA}K9F|9jP3ILX@Oe z5%B0A%I^KGaIsSKPhkT`AqYO>+KYx1d=LnIV>yRNlxfrfNWW#KTyMq3`An25QbzD% zA-8jUk|0=%bL)Y{-Q4@Ge|ak9YIxCA{U|3z6egfXe3xs-y0 z-e2FlgX!m*9GJL_SrCm}FZI)B>A1O5nE4oGY8_I_@AeE4RxXS6G-@e(|9DM2fL0W3 zMIvk|l^aa>1M)Oq4Gbe`S;DF)_%DYnm+em-Y8mb;vtGdE`j2ka1&+QRIeFQ?6dm&z zoNM&pRrpN{v@f177kHaA0@1Qw!R9r?sF}{4=!S^TwfkDo9s8=`4U<(!Yu4PHr+c5F z>uh^6r++6#msO3(0W5z}r~IQHE$$;jLRHj5cjrqhcq^u=y{qCM5{=Tp4Kzd9C`Mp$ zg*twO);Uh}bK64A($!Zv(WQ)Asl6RSiB_KlIXBT`%aBMWLzFJIfPwPH=d~f&%J!T_ zi9l_@v_mY-=3cAC6i#UH;n1^;mUcyK)eFq^RlXQ*ru^kpup`~guRs07(Auo~pWfc9 z0`7z4XLY{Jop=2cwDJ*qhsG+EGZGosI}a^aMZtBtW7_J8|o6pw8` zdNNvP-Z*Wc&@cM^F*-S?7ChuRISJ$Tl6#u8KO@Vb5dJqdv7w(EIOJlXX?dI^>}3SS z3If;lf-t>&Qyucqcm=aUF|)-CgJO(SxR0JR#rg&pkEmg>%aShZ@=9dHu;rm&VkxCu z!v;ZZjaipK6qCnYQtPoGEQhE%6ZJf8J0o=@LSz8fV?Sc(%{q^^ml5e4UAEo17|Wo* z7)PAj6#`*Jk~+b>-%yntKv}J}vT};dDNlA*44?i;?)!sg%N*)fU_Yf8sXqzArD0No z!-cZ;v}?<7jfV}k+;wT|JTbC6;**DT-a#$97`kRiqfgAlhuS`Hw2X6)cqMptPgi~3ewfKi2M6)K=jTmxCr;0| z;G$z89h%qmCYueRx}7t?BYUu66gKGyE6T6u~~Ksy(nM4JsuPiprUY_)pF)zO5ur8niv6Gca; zs>Gcg<6Oja7}3P`a7Z!9wRV|={cKyFX3C;Z84o>z#YSyw@P)n#P+9bQkh)v>vKZ9Q z7-5fqS>uzesUeJ+3Ky{zfk>H4G^GR4H4$GY(QZ%}3WZ1Tu5`jp?-7$!KvsLWpB@6_`hLQmD0a!A&`KYp0Hcl>C5IGD<_J?lXt z^H^-4v#`DiA--Q$&HUZ?WnRcOc_{5Cxt+{0FIX?Jm-Esqu$ShveV84lDkTlJ^2?!G z%fFqNY6SdW0T!14_s4h z0zEHBG(@RO#t(UFq=0rg7&$4V0H-Ca+)AK57eu1$9#gc=z}Uta;FV6ofz>KgnYaRG=s^Pu(G^>lxbHK(nQ9fsTLVhytFB7K-}C1T)^q0U=wX=Hk~OGjh{m~ zv`nhC>UR18py|PRjlh)nB=V>0(9-JA*x_p@)-k6;b#iN-x)u!G6@=Vkja@|EB~uFK zNrJ|vR9SQvdKC!7O!08rY^>Zhb}T7>+px0Ncn1+(GeC#smC3XjmG6j^LRd9aknM9$ z>`z@+as)0SW;78NgnXFV7d4p;)AkF>&dZ1~od%R*}%AWs_2bBf%Fd-O{+3tL*s>5_r zryDh-=YQ@NnQK22bHat-z0rgn{&SgTW9)aT%zX^ckSKp^V) zMTDLX7SF;exs`n-W=8<(pOyy!XcEwOiYFXIxnXJY{t1R6{)aV1`t6$$#-sK~&9Ni9NMuH4LSK{ac@EWR-$gOcj)%?J{3Jkq*^xrPz)7J>ibUDo!g4729>J$ZeDM zfF3PcODMVLY&5BJ0QEGJ-QRBYYH_y2L^>r0dlsFtl&Lvb63%3Xa}Vvu`;2_yaS_*( z!PS3k7LR#MZute7FPYN@4xI2hnXdChb~!;MilV1lwkcoUW~q-Na_|Sjha!GANvDy^ z6ISzO+7AYn?uA)?C4Lmv4xKHVyr(4oQ0_*D%~HEfW?<`bnht_3v5EJH_BNT{@yCsR zOHh3x-j7Z073#8gXyEed`8573sgwIf!_$fVEcXg-&o9{vYoCJmihudlm@ew4dbf}r zy6=u8Ex*>tZ|G*E^PVAihh(?CC(4h#?eaQj1( zajd$_`geE78`>c_yFnqy@4OA}=xD*#x4Qca?Q`J*>LR@u%2eU2%fjk?OZ2GrI{Z(5 z`A6Y5aXz>J4%WQN@AX8~ZwK(*0U^`r&g4+ufWAhitoUML{UhZs*-*eKQO%3hf}~)! zn;X-vz?j`k;#H;|Xs)G0zDXS9crT0aQ0@X8K~3{UY#B<5IHb@_Kdvdq(ADqkc>X)$ zHJ4s`EYO#6*R&nuxS;2o6cUZi~FPZyBd4y&x?+nYgIR-93wKx#@ZnSRCH3R6@@eY7D zg6v_q|B?X)!<@7R5qPe%U2$Y>;QHqDfmp2I_#{XUK$9J&RpDAiS?C*hBe0G2uvt}^ z0`dT|d4mpPEEf2*zeIY^+Ia!YEO&k^?u!&izE|#KY~7{lyYnq;Wt}fam!Gkjy|8c` zj=2C)pDcLo;%V^&A}ouB|Fn`N<|n@Z7RNK$CrRBsKaQAcpYg0xcF3-=q-UR<&5t4Yp)mpy4{)gpCIL zhC#(=jaZgc_B^Kg6e?q9SS02#D)uI=ALJ%5-2lF&)(Uz2NCEXrXJmYgztY|hQXz9X z_Po!Y-${zdNeWet&dkV!yT+0g*zhy74xS$}xo-^*SRu0?Qwc$R_T9NBrwlOu#~9&g zx6Dp314(X$dzmh+ESS8*sCb?S>2K>D37{xwov0^3HAZ2IJaTF$Z*9T%EWy@E07}#} zYy`+h(&f7iiI4|OZ!s%dm^&JvwTku+G3!8S8cfeJ_7e_tKs$N(#f5JVr)&+(qZ0(A zJrhAp1j=~y<^OIdpfjI!H5`jRw6&Yvx4@WK@Xw*RR!Dr;fAdprlEcZSz#f31SDuNa1!}c1jH`8_fzjk^@n|;QknwfG6IJIh@W!u< z2JhsxFh6Hzpbr03@`kQLTNHrLMZI%L!h4zOKSqf-;R&UDO=jTwjzzuvp;NIwLnUhl zt;!^;>lGGVYtPXs6DwzTd4m7UxeF_w|EvP{JDbGB*-s<1g)a|`Po1QBUKa6Eh!0Yq zCBm6WfmP%WlhUw*${fs$ER|tBqmf*Pln9DOSeA2{s?UV|z`HqTNx8AD0^@vJOR{Xo6|dR5Tnl?tIfS*%{wFRXtLMox`1@&D_YZh{3K;ezv<`)L@Q`OmXG=(icI^wjvJNq_F8OPJ8%P5abdkN%uWKab(yQ;}0^3upz2Qg!3$MPyDL{Rk;Z7|NN$4 zqnSq!uNfpu&$r%}8Wc%hc$Nqxg9&9Ig zR^At>-~k;0IR{u>ac%ue~j_ zA_4Vy$HBKz?q2xN`~>qCj)%wKiWL=~C#Kf*+T_Ioqc*C58IW6UruQ@vtj(LcK8J`t zks&zo=7FiRgV5BCa@%Vi;^|(=KerVe^nsy-Gk+76xvEah-&TINNxd_x3Ju)5lm1?nE!l}2EGE?yN3>6 zqGreVo}MOo(^j;nSgW)?W`h41qANM=9`A}kr{Yg-wZnz4ws>Z`6)!wLb+Z~wt~pb} zTwJ#xcl_Q@ViuFWdC;c3b zz3(Dd))SKSOR1}d+BA2Wa0Bgo;n#fkdZ~B4z*cr604_id{9=~?%OCM&B&>H=2=)3* z0ro)y9P;>KP0u0)UBv56Zc))BYw&#HmCjst176iT{UwghlC20SS`7umV~KuMX^#&{ zdA6sEgR%UESX~)TR~dPR#D&aq{kcg>_Ndm>iW?iDIL88P~CT zzK?m-y{X$NUPPx`#Lmkh;}+rAe7i#*BCC?}kSJJACIA#RZZautcz$|0AM$E`Y-o9L zRX<&hlxcBI*IoUs*+8-(sDF}`SkGj)Pp?9<@v_}ms;^|yZn2P~RMn|5blH`y!c1Ga z*i*n80hmJepg#DD^?qoIsjE`DQ&}wpjZltU)3~s-IMKSQ=5J!4v;J-k;+sPb(f1@C;`PpJLC{xC<<+aoge&X8J)NtG6JK4(_I`{2PRs{;KGm=l!VA z`W-4*@b#e-R1?+;ZyHF~n)Sv{OKqbZS;gQ5n_Q)j<*9Zqx!%vaGg|Ye*fie}v?$je zdOH~?%5)XKtxH<+J0&4*tUa61*JJ;v+Cp=)UZzf`~qv3GL#1 zT%7UtU`vfCzc&n*dhC|bJssAegGpYHO6v;xgAIbPOQbPBj*<5<2f;ae{=EWt9QCCKR=`boA8CW+;~?b{ zi4%Q)H2$PR!mU-Sfj8nBv*EF#cCWtEfFTK7Abk~~BHb;@hjviCp0PDT2VbK`MP2Rt z8@wBq_jevmJ585Q*r)P=YFMJJ{TMSZ4pNI544OK6UT6MRiQd-wk%#Dw>oG$Ji6Rap z9UzY1A?T<_-CXU(?VA9gb3S!nN>Tqo6mn~T-{0X{VyGkkfNwUSA{-Vr#ZvKjmsjSI zfXr>u5C-JBENY+en9)^^g%a?%aV^f{9`L;u^m8=CC3@xZaPYo8fv5N>XK6}Az>k>5 z07w$qcyQ@C5K^xrTgY;*WjO^-8Re)b)6C!d^mvX^WtC`M zsv5t(UMbgGh~Zqw{1L6h%k-_&J{dRw#aL=%$Rnt$>9kmz6VMyuZGpcKt_}0 zRWKIkL}U(}VS7Q*Fu=bOGE`YIH@90++@A7AWXEsDhPv-(@eMurDP(iR{|sk9Crz%` zVk5S|*9ZM2mly6@b(!Gzb-Xa#?77h>xS&Su7EDWnzmpHm$N>1%B~DsR^r8T)Lgz!P zL?wo^39 zLbp6Q-`{eLy6xjWC|K~GDpMiTh6weLK0WzrHHk<&qTICX$l=P&zK+CiyF9^7Hl#gA zZHHCbzu)5aYqHOk+Q>319ZAdBplHh4+l@tWV3%2waMZe@`4ihq0G5l1S?hu_gM)L#+ea}Y zqd%t&lRYX2Ai1JSiT~8MimIIRxLxZAYwHfz=v}jK8Vz}gix&zMaqy&FSF&@}0BP-a(_c*tgXif;8d}j0} znAc0L-CJiNqQf<+UDPf<^1+~@4V6sc&GR6!!k%B?{+fb5*z+vE1~AK0S6GFJe-mud z*XGxzO(jwIDGj5K1s5KbA7(l-sBurrC`TL#Ll+o1ipqu3k+90S#ZWgeH?Z2dc&j`0 z>u;SdDt1}NCf%Dmo~`tNNu-6yqnrhp4zITmJbYC+lo7m+28qXYb#-+HCg2L^erOHN_0D z4GMCtr*U3sT#pwslVkoKYMMYZ2`{r)2!8aT%6Im5*vwSrdY!7fQq>(SSWlDrAnxiH zKvA`etu+)9C}*ezaa_HyZh-k#wi(7NmJt|vLj*2)wz8u`1B4cI=E!}FRi@r(^W?G#Me0}rq3D1aBh`r|>krv$kocQzRFQ>{( zqEzbR6&w~_JpIrJ9UK# z7-%vI3Bzw1L`@&2+0}&~PrXUiESobOO|^{E-BTss3%>=V(ZFfDoQe}xGPcFU^>XF= z5e!pB8{#$*+9xpEcdp?rb5{0%Q-!Nauq^>}rTbP{n{WZx4rm)F0V90r5eMB~Q}i`= zB00tHDKv}#nPnSqnvLo(se(@lLdgxeDv+Y8SKnjHp)o6{tBo$@aJl0xypXkCw8(k& zOws#JnB{bF-pG4VeWA)G4Fma_{mbtsbYYVr_|x=|0|wTQ|6 zd&oSpl(7m$*QdZ>*w-C?i1dcqchqFh0h04kt4)$?sx@%{Hw>~Vk&9(FY}-X7?Sgo) z?FTu*N`+-=V!NuQtu#RxaCv5)D-gTx7XGq+2ssHrXA8?aYJ1iPc<|Km@SM`ZI?|#C z{$(h(*9qJ zysM%M^at0V&vPI1Y@6&aOc@&RKz;!DfjA$c`U~wm-@)T)W@00RrgK+yTFPnt$q2(X!lrT8XXF*#*plYaRV5(qwuHw2*uIMOdPdL8Tu6VvNq~TMd4G3t$f@IA%V>RS_ zuW3SZcd;-w4fJZ7PbntFuTPCmX14KBBw%2j4;WJDe5yXR6&1a(v}JW?g;l90gKzsT z>TCUmcp8}M50qua6&=kzc(4v15s<&BBX5J=K*0;jc2)?oAiQpVqpDbT;3 zUrTxKcF=r>9(6<{fgM>i1P~am5iwY~VvOf09%r+BM5{ZeQqF4%=S+QklQ(D{5);Su zteV+i5rjj!DVqe2NIe;b#Bx6zfC$4aN5-Ns^0$b}Or~3wZ~x#*Jek6nZ$K%+q{`68 zqTzOJ^bwtm~R`UWIi#a!UATj6u;ri-9}NqC1$N%>xk zf%I_aYvFXovih@#b44>$)Aa}*Wr?6y&-K>8vVwo#YoU>Q0BTiH|6?q>fuJ(XrtfpZ zG0ywOGCw)_&g-D0??t7k>R08D^&xTo<&aVu z?NdCi@j#4xltU8@jN zaRQ|%u;t+Y+hapkx+_f7peOon!^1#*;! zSZ6$%G7rVskAQS8)bEI?ANA?>YS_dz>tmzhdDe{0@rb8jhT(>>sUJM=aGG(Me4p#` zLXlZ()ocmzXle$kt%gQ3)29dlU!7jl1{irEi1mj~&?(H21J#;)h0G^er8m(Da;S+r zwwLfE8}fsMp4R7G@|^z=uco}C# zi{Ng5|D~pi9^0c}a#AGF_mE0Ul##hMS_Qk+pp#NlQ|*V)z@-){NF?KHjy&lN9&6G3 z9ze&!O38W3*Zw3L5p(?0p!T0@d?DG9E7e=i(bj zr|6{|pH-@qGD< zH|r@#sA4;c27eWZYy%IF1&@xQnxLIzY{GZAKMJKwj3>`tWMxI|mwEW9WrS+b7$LmE z6>wXKBqD4++6pQZ#>UomNn~~q_G^PWYCHa&$d~@#Ha&`^qK@R(-#R2?oj!JJswuR7 z$>LK7iX0eMP@dU&!u3QIf`%_X?rK0?^G>DkosCFJi)ePk-pLa*3@>d(Vv9n?e6EBE3_Hk zc}-|YoC96@=s3(mYF?*D%tlZ=39xj*COoia>Y)P0oB+gStI zBplf3!c-q#l?uayjYi{*qx?NnbaKT)UsSuao>4fnkobA>Vo*UOGodjh1Bm;Y|HJ$F z&r55wfcMh%wH3@W7})M#H#k0-TU~ouAUr3y_QM5U{;@D;83tXKH*GG+II#~LE5v5F z)4}~l+Sf@cRgAb82NtcS-Irim!rSJ|AWo5B%1YWo4)fYeEVWK7ZP5iKr#_T$jMeZG z)llh2l?ED84sV`!C@-$~|2+F>+pLKmv~2gMfM~|17vrkm$YJJE!Pjs$6etwkc1AOy zmber2XA2h1E}FEa_Bb1mbEHK*M3?lLdbdowEck$un~Eswrr~@rYh?~^NXWK#uCP^a zB|n9={xlLdAD+jF!90@etZvhe?yJ#v{X|)Ge(PXDKcU8Q+z1f`{eKg8GJCKKoUGVk!7V&}9 z`C7oUiHB)&&p1Mxn*2-+<|`**Dv>zdQ?`kzulA4ZaL$RBP&yxz-~RD4Eh19~X$w#j z;s2?s{Zs0cqXRf8>$3=4sOl(WC}2J2FfWbTQHNkf%oDdv{o9XaPL$#ARywhT;kXHI?Wdo_Qx%w-HfAy}?h50i#U=s;$ z;8rhQFJE5(jk)Ekl;-v2(}4h{{(6pir$4jv-*9l2k`OgrtW+OqUy|&wc47xQR(jg_ z-4%+CvbVeGlH8yMwZLSfjG(1Cjn*8dIN@!0#FaC~Hb1Ds*N~tS0Z-jcwEpIooWOJQ z*|q1EJ2PW_ZG}k3T;#|1mMtU6<~Kt`xdG8G`|hF6b@6kepQiB3c?e0K%(kIRrLC_y zf(;bg!H3n|V?anw?b5H^|M|S2z~)1P_rms9(vFOoMibP1p}TPBBz!c&3}XlN>kh2;t0$YsdTb8sCjWM>geXu zdtDjAyOLKPOBYUViu}UB3va3|>OAn9dYBOUXvnz|#~XwTYbUlMlnSzW3|_4EzgtjS zVL%uU!L{D`>}q%j0b+cC(N-r%+C6c4TKsKyoiUBSPAN!kFP36!*flR3WYnnQG}n=d z1wlIqec#LGYnO8GXa`zX3S&mU7h0-lZK|`Nao1gOBd9-VEKd(^cGTiz_x~j;L~_@U z(Q@IF#;E=MZpK}O4C_4bo`U4k7gq6eh(N2osxR5|zHz+02;`+Lm)v*A1D@6#?aLt0 zWb6C;D@pE*lpwf#plm+Pn=Vkv2?w)4B9)tkcK1bZ7}BLDxuKjuagIvtjnv< z9a(k@j_eo(xyzPJBToNYRe2ghwh?=}_;Lz7cguk_k*DUzp7P&x{{ny^UwFsul%vgC zEYKB>a2AXn_I}r_^QJseJ02AGL8*qur3vM*4z}fSN3F;RG46dF!PCWrcEoZ;_2y{F zNS|`JL^Zqh4{uv0xq&b&<{S3hLA5$hyY*>X{y#YRBJbG`WGC1I)=Jini@$Yv^$*E% z(loElgSt>(XBjKxJ)px?4)efZhe7Hf<|@wI;W%R(1@lwa(M`!KQ^>93Tt+s>Ao^L@ zpI#f+GJ(@R?M_x?-mB&y84@S6S{$dl16O&c?-hG>WpDs}dB`!Eu)n1{zA zcbpGRt;VXli8la--&Hz^F~7)JFBG{~9!&m-%3dQdhDy`(w1x~XE^4hJmdi<=S2!b` zk)fLno=opKm+WNi5t>7%_FtOH?oFcax(9`l_2oX(zbm(q%6+g|8{tM2?WRjedH_w? zc>13%<`2I$zt#F#JpLjF=9xR6M)D3Y>e*ecNos%ow?p{9PG%qg<{(PusMAl)2`8tc zOOtVVE4Y0(MDnO~ zLhGayeXa_`EM1jO_;5Qx`+bL{7U>j$bJ@B?>D-N8{eR?>2L=v+P;?TjXinnFThEK}>|z zH!+by@ot4LSlLM^3hPEKdP!>r%__;OwhY*C+p! z)y|SH-MT)(4Tpk8{SRfvclSe2W3!ccW`VzCc#W&N?oZr=7f4&hB3R#QlIz4H+k@XN|-C&LWv?_7{k(Jfiwi729uRi3ORJkW+ZpuKQh1{empH z%7otC&mXAABhhI@t>_5!i7s#9Q%qmSRD`F1H(X((M|qt(cDf4``qLPDWj?f$J0Tv% zV^bpS9B%u#*xO;L9y$@NxBLUw{Po6)UK*01H9DT z%Eg5_uFr&!k_QG}m(-%8oyEo6q0VLmwtCe_*H0gk~)-2eHupW^wcctvWm80(oP1!^9_X0p+hED&cDf%p~v@bc1%h}h^6nBo}raa&A2 zagM+zU#=0xj!}ai+nd!EE99#rFV{D2o8}ecIPZ;#;^uE|?K>U(Q}n1h5BvKmBYitz zke}b*)gGKYo|zSKB7vy!e*VRZX75yQyfJB`!~OvpiiaDsqLnWnH<52rk9<$uuj957 zmPTH8>x15!)~JG2oi@*1R$NhBc11a0{?Cm@)Djtd1>P35R2#Yf|KD#!@sWRr+--CF zuPS&<>}CTFVmUGj6V5Pv#1V#mP+St;{ap)o+V_<`xytJFcW*xKajcD*qbS@GVjsec z9dJrKkO))2lj{?7>@KC3i=Ml@m^f=Bde>>*N0JehH|GSL_9=mHpAn^2`SJ@btgH;^ z#Es*~!;m2R3eMc=sR&;rs4Y^hV6R&Jf0QCM~gn0+Xjv?%Fo@8 zleYMCY6}w#g=QSbayllue~SxTLwvHKHBD!dV*QbPs77tVEbv6#-J+qaC*Nj2@>85D zfzNo-1zGN|sv8JgB+FD1ZD8-@NfI3+zJdtWH?szc4ACDRMF32W6!@avzkNTc9}ZoT zrQcCaxamv7G-$G*zT;n6EB&BWS`{(Alxn~vrPLBDl5en-tGRSEim%PptaK&s+S^~I zCIisl*!2xz#Z!ohmK^$B6~3RaE4d_f{WR>a<6C~-d8BGad&EBJ(yHXOD)Q^s7s$=sy?5t+yy<(f# z`CnUZBZh0NSE{g?RfKs#e&>HB@)jbMrT8eZGi1<)JPv+XJZ_u_;-%K>yzHSN?etiA z?v56Yq#Lx>Kb`qMaj8qEBwfZsGj-Yc{lESgv$`LU930(06S1Mut^cEq{*$-eOQCt= zcl>2x)-tGIPa$h-mpe7@(U}R>pSJ0tBbA-@?)QHeuu{&1+aT0eK9wy}ei0N8Yq+($l_HJnd!Onyynjs5F2_VZ4`!t? zgW@wm-mlH`uUGaf+L#}-nO>n;XNQjbWrO~YKp<~{t-=)5&8hfceOz1JM@jk5pquy`%uBO`xv1>I5nhTg+s+HQJKMBKb~ zYtb>!3QflS5NQpPhIlSX{ikJBW0}}Sd@jUBiyay{MzBz#f~v?%FsLVkPXNFBA+A)R zgg(u6Z(>w#B%Rq4=5|>rWqN_H6@6`>x^)gwfC~S!s5UqAsZ-jb=vS~6K{4K_{ ziIdUxEQ%$w%Y;Wr%U0_;wI6rSkvX%IUz?{dG64bUzmnKhVDlWNm(b&neqmo*<8`d2 z(rrcX-OE@GRS%hI=;=%pfKy(FN#O4`m~4azNm6*Jc$nh!c~60?Xzf0E)ab0U_j2P- zPMz2)$3$wIT^fhoy4}d4QQm)PeciFaGTAgvXIcDbJ<7zq(UP(IopVIODsbAWO<$=| z&2S5lh7`n?{SWfEO#Az|ONVUtBftqQRJ&=n>F|;pAWe*8>r^w4SHh4+?Y!zWvZMD_ zJPO^twXY89uV}E$=4~~}(zbu_-(6A(($$8?p1Y(P?>e`4 z7e*8tcjKn##BwPP!z&hn0%}7AXWY3bEzQHm4|e0u5r{R4B=%=-Yd;^h_=3XOTHm6R zE*JjVYhrw;+QbfUxnEFp2^jnEe7mhF0FYJFd*l(0|_WS`FJi{o*9$DXOb4(VA<&N%|62HC_)>sZ>ZxnQlL6;($@YI4{GztUt-fLti;EJq zq-KN<7##Q$X#>@(JQCLN{q;l#`tW?O4Ycy96M5~g*5e9AvT;F*N|6Jy{-x`Ek0c&X zzlI+ae-|QuMqIZj^%&*ei$0_HI_Fx$g>NQ8{*1b~c2Drq)lGw>VU1RQBX+%SlU|N3PyU9#^!gM*&hH|#@+ zS+xG0fL->tbS}-FeRbjWw~HzhdJLNs1Q0{@LY3nHM1ai3kPY$;p;Hckl`rbQeLLDc z=UfLoFy3$4%|u{GO`QiCn8r>Tk$5Dn>h_^CqMV7;{5fmc9NI30ek3 zMtQD#I^=(Q?Td+K+RGQDXg?i71eE&i$_ccqDcFY;D{reznX%juJd;9f3>7BB+uu0G zR<9YbsA?rYk^Ah+6M#~74hI70&@;nXZ`^dt+2S&}}@ zO`Q|YCFVRgd2|2hk7JlMhREhCj|CA*nmIN4TVKcv!tY809`z9MKR*6$k-MKf-Tq{M zNwVjQoJ$0&FDJVLygEl)_VQRWXHI)zba&7zoj7B9!=Givo_r^i>6XZzWlx9V|Fg!H z{-4Xg7wPR$?aFv{(6>SKLkc>grL<)}36UvMwtfY)1B3o^QLod&O)xVlfrsAL$-ATq zqEi4~ZL?J(LJ6KNU`MO+%ZUF;ldO4ZJX|!VNXV<^-!L;0*FncM$8`YN;oAAX(OsDk zboc9`hf8MgN6JQiDHz~-GN(`<#59@#_$nbfo`r8Aec2gPt-})-zTx5r#mR}L=H};o z$OLXeuH64HxP!cEmGhd3XO0dUJ|&k% zU_+YR0WCpdBl_c@aJ85v(O$(eak6x~+kDESdP|i2z1b-|uBu93AFJnYe(^pcX8~54 zgsanfi-Z1XMp{X&j;mp!{axk$->33{u8e8uo?4r`;o$tX7eOaCzFbX~q6F_vi<9UNo$ z&6CL*GNCSRbGIJ(9#yAo2Ke1d@`+y332r6!9FZ@&!^i7pI7MeBWma+Zwyox+oSXe? z0pmB-$rmu2B_}lj=6_gAzxY0(Y%%JV&bK;ptar>us`5eLn^F;MFFTIhmC#mo_n)*v z2F&wG$dbWF!vuwg!Ij~EVH??UudZZe`74Toos!?gEbm+aV zgZGCU#{M+#HjVD0R3tMnw)fMF8iG8qJBeEwXoKsbJrR{`4)dAQDeFYf7yA(7qUR^zLi$@Z; zx=E5`PzgslbT*PXjS(3Z1c_qM6xjTrKxozn5wPgj_tQ7B4__uiIG|6m12_XB&<6%* z_#q{MR7N#zzU-=|EDc&oUIJb%)|xMi%D~IBpe6WlUFdEMiBp=5Vbt=U^NYsI;u5Np z{5_LfhIl{mgkhUyN9|njN+f1@VclXmwXoR8QIhw;mWJ;ym<+%barmW9G=!Y$^1Nh$ z%e|)NyOC`cnF|vx+lVn+2EaD#1UtdA7L0nUEJ5{$M}f-dpf*&6A8ajWDbvO z)vIgMb8r6(Z01iJdnQN>4Atub96bgFGx7_3okZ9DORsgQ#vQdFlL4|tfA<&3BQVR( z7XlT-lp?1eDZ0tkUxQB1AMzAZHUBT;@&8m;8K|)MJ$gTJmolU0R0#OuzIh97ZS$SO zjoJa|QsIBP*thxbq4r_VE}}aV7nrj5l}6BhQCuuo!ml5q3F-`3uxSEVC~Q?3 zu;>CWiQkWnB;eXwehq9ezgr`8raJ9z-3*BtmH#n!tbY2z5$(HOcxU8LBnQo-O-44^ z;-2*K=k=y;Xa+xR_W2)*UQP~M6-=iTnEWUDidF43=VeqLud|`h{^PI?;?vHs3IbRh zBbXsRhGA)7IotYs{XWaS7nJ(EjG{rM)r7==93M`pGd*~Bwk_!|7IY7e1K#eW!fn{qmOxRUMRr@aa-BC^Gm*Me z*PlgW75o`*xU#up|NFhPL52Hq5+ORdVpG@3<_l>prSqjXC9wMb4~I+aJn}t&HtPFI zN0Y)jMTC0Z%>E#Jx+97yMsh!W< zqy{ANsj(NfQS_-)_xh`^kGC0%nj|0Ei)voA;RP~puM4unDQt#^l3O4+4rHOP_uF%7 zB_(G9o`>G6r%$YxcWUdc(&UT&V|hGQ+Y_%F+n%o^{uv{&XaCrB6nAQ~LXm!W9`29P zSi7yVlYMTK7tz5N`HH*z+tJ{RBLe^7hG1ZL=;93k3WjetK%frnsA%2h&^QFb_Obd*6t>zUFf_O&DnDj zc%=Awl<>2o>bAK{=#tfJFPSCYTMFZGeI05ST1zlDug#xHroKLoHn*@2u7?SFuXDAg zMK!J9^)f9_>jYgW`&)1}k4DXtg8^ebO}os=**uqjYP|$YOFW7OPs+tX6&x9S^D4>n zKYMZwiP{JtJ5C)vK61hjD-C`+$0qjrxs9lY=F(w-Kjj*~BtTS;kge(d0ik-6c6!5H z9GCPO-S^na`h#)Xupss8vW_s@7a>a59#ZZ!bVHeEj-M%90S0e9gI-FwMiKl}(Vod1 zyFdR|L;d~Zc^5kFpBoG7T`ae5g<8}QZnzs>k4N9$)~jFp)M2RVaP6^}@)Yn7h@2 z(A_G=z%YgeY0zTI23yvG0S=)ds{ZIZzNii{Vu4y>sKQYw$dxF`bup7ZM$P^`=;%UC z*|x6>1}Tl0co4J!v?Uj>19OYC#yA{dtltjuoS2*Q?^;+TltkKCe*d=7!wbGrC}e+f zK#<-q?KAat@E8AI#}N4)TO&HI?T(CtR&_PIIbj)dgVw04!AI78M>qDFyS&IZe3Ul_ z$%ySH7jnH(YZdibiSFaHvH!GhOu|202e*TH`X>ku$bH|f`pi1raU@1TI#F{BKrP(l zZ0tMo6SHj{L|8fG=bihLWwqFWBv^T0ge`VgOqMGN?&1^aCoW;%kVL-Cop_xE(rjau zTx2yxo?DVbVW2Em7~H#pm|>jcON64}nPS zjnI;sbBMadvXlO~sP#Q%dZ~6nS>2h-l`OcGh)%CzKT3jmF*ZhDC&acB^cT45KpHGj z%(4-=pE@AbOc&tD%%KWu+w{Y<`-OI4YKY&H!?4_-sukmPd!q#|Il(#OQI;H3q|ApO zTDZ4K%9!3Iyt14&^5}&17_xM2N)<6A!CJBe2m8ieQCgc^2J7m^v;Na7Gc1V|#{r8z z1~<%HedJFaqJo5d)5fO0R2K(gME57f0%7wA`0_btkrjNtPul6<8%W| z6>$uXME-psBS*nmS3N#D^?YFM5=|M*@USiuD_edsm1?Us%Cg?;$Y^Z%{KL&mCJ*`_ zH$nmON9OMZvgkyzA*q^s{dxU^ek81^4VmFw>cuW)c%2=$iV*m}%)-bn14L9BoI#^G z3%_I8iU#mpRf?={e#8V~FZKr;Ap|D=?s{Ea!q>`B%lp5L?|3ih85I<4U^gtU{$CsEqDsr31lR+Xm3#vG@ z;n5XqPm9Kljw@!hm(aG%s(7<~$sb&Lx=9pikF=eMjm_EKF(fKUO0A6!yGvc=usDse zil86Ejht-t#Xn~}7W3NsuhZ3r5;pZ->rNJYwtjI*Y`t$X<&gXu4)Ldan4rrL8#QaT znZMzDnEbjX(OzeU-uTeZt7855#ih5=0sT9=AUvGD4G;)9!z5Jh(Te*Rik~w}`}N-0 z?lOz-6c#9reRG23eR59qd~lQOrFfWaCBknOWVveo58G{fvjP+QHb{-3#=&&Te_t>90)#t*53e~c8c9`unL!C z#k^(>nD|jV4mX6>OKUdrk%&dqriB+;=4g6p>Hq+oR!$@)XBT2Nd>|4bJL<7{<7PL0 z^FJ#}vjdgx`I|;0iTa}Q%UDtw^SH9gd}$QfT*2o__!2`Ti?&VkG_&z?fY!eb2Ce2N zQDktG47Zj%z@eMle!>M8ff=lWWgA%D8xVm&4T7WnWMem7nGL(|_%TQ{EX>|745^*u z_eOH1wHOrbK6JRLHC$-{p>m0`7 zydrF7J&#W)k)<$fv6@jI{oyweFe?!O{nh({-N112i-(0s6BZxfja&X&;>&gA!#gKs zs^)PSj7mX9SGJS8X}205>hX*@lb-_l8OlEk+d-U`FY*F4N?->BJAFj(&j>u!MJG#3 zs9jA&5I6qnReG0+t3O~45#F;@2D&64Vl#~r4PP`_f#TsW|j!wKO5*y$N z8iPGv{1sahMitH>fY06PNxQoEpMW3%X{A+3h3>PPBJIuh);Z#SU(7FYwcf7>%*b(; zoCI?p@IdlH=}Z?BLahFJ=wx#!3GfzVzyMfDL*;PbOo&7*PD)q)t|DREJqxFc!R=1$ zpn4Ep3PBV%liulf_YfCQ#?T%aEXkW|Q<=Fxa#T{-UT+=|TRFbj&g3uYCODiew964h z`gAPdAZ`Cdza9K<PHx>)|hx$5u zEZPx-dK2Qy@w@h+BFGmy+>Os<*+iDS(fB1-6Te*wl!V=tAs*=FCgM zNDyWlmP@GyLAq#dBJOUfbHV(6ZjO6yta!2K0U|E1+}EGQR#$L%XW<78Pf?HOl4y#$i_3{NibVg7=3390jOC4JWuP>DAYYVz4nA=l1Jm6s^a+> z!&Uh9OamuFsO{CTqkYQz=R>RYay#kU?)Ucr7#a<z2zutTbRcU`z+liaj@kF3>EUsURL4P;4n+6XyrV7&EL}ZO&1%8`-ySOBcQWI!gSHOkC6!V;AUjW}^zOjsu3dKbp20C! zRY~^f_qo)^zQKL+!|>+$S{4p#8)|g{ehYu)i@>O0-EKLZk+Q~K?nhR+|2BXo_zx*o z);eE6D+mM9; z547X!Q1YNFZPkzAa@0kC-{fdyOVW`*lbYFdlDDk?Vjw+B@_hcIZ`&$LcFuTM0}nSP zRLey7ohtJTf=zxw%p}y2%?A8n=PyEF1tr_&fYqXZhayQYtsV8OPfSEXXh40z*93TA zny#OZr1fE>v87h~e9Sc@UFK8A$tZ1f<`ZQE{U(H`WLHeQ3-H7E5_3={HIs|cN4FvO z)5%lK6)#BJ1PAX*`H|KQeq+xSOKxMu!O!kl7H*a-Bx!8XSo*jC7ZBAKH|UP9Ks$;? zwbyqhhnd1l6{UsjFR%!VC4xL!IWB#_fAZ>%1hAZ>5;kfEb6KSl;SoKV_h+M+t z9sCZxW*JW#3hRzYM?T!=a>@w)r=>k(L>qFiCH*cMKk5w{%=@I{q?}K_CVjdqc{I*{ z#3dEd)7X|IZ)k8Ub?ecaP5V0nw0g!{f4pkwU%tHX|R$dhZKXmGM|y zDujKQ!q7kB5n-d+lw0D91a3ImC$hdC#nK9KH&$oDDL6mj7};raSTuk^6#qizbg;No zbQe6o=;9Nu;Tx{;HtEzvf1~|CbuW(Hz__QqT`;&rq>0VI-Ce%^9@VV5*y@5$Vd$CH zWalu9KiUTg3BRDK8~CaTrFT-WvS+oC?pe$pgo-*HnhHj1VwV(tf{lNI=`?r~Jr&CA za(MjafqMGa{dn`c9^r=~M6YN^Uq&Dc42<2LnU-5Gq)Im;=NLb5qc|q}L+~j9dM7*A z4>}B+_hyl!vuF|S=1MZ0Ab?s=YBtV8?8g_eh4_(M!y-*h%_((|_&+G7hJpsG!V`&o z%tsj=PmvMQZGc-;j?-y6gr5wSqIQTEK2KVc)43AaDOXx6_og3u3OP>UVz!25I#~#} z|FoDF1_r_;B&a&dlCf8PMk+cGyFN0QNtV&(L;et z+3%M^HbZQ94{5z9d_{JuE$MoJCYu;?49F6XYp?qgPDLj@S7QJwKfCU&#LOgG^ruBp zES}-vVfJ!9WwK3@`4tsVtPo4^iUpc^3Qhe?^^0TWPiw0~mathnWv$=!XShnl%bAYs zX$Xu0@#XX^@(P~7e3GUur6ZcgvOz$?ZySTNMinv0~rkjH?KtD2SfnenVm7SoE5wF#s)lr#3CY7^4%>Ct)jXH8`P;@$Kkkk$aUv3G?J~Cp|!k=l+vxWiSdA ziTkgbH9DRe(zgvcHq^={NYCpR$4JBjrH(FiUsDboulSgf|p(hJr|M))w(pmEs zFV^meZ-Bb$XYY|(?)5^W%~+E31!!|70{>X^QAn+ChcDzJMIZFVb}kh+hXND7+??iz#th7t3p3wuBr`dM+@#J?F&!fb#lXaS(KY69< z8#2fyH|jO)5qnXp)Og)Udz1oL_|+h6=^6}8HY@Jhm}D6hFyHJ8h=Hh6-e~_J! z2sSspI9Il6jxF-3=GQw6cX|*4l2eO<7{*W>gv0Bs>uPmyGtSjK%BRV$Ne~`%1Yd>P zG?EVZ0XbkDt10|%*e(s)`S}5h3ld!JnPhh80){aEvcNs2iVDGsh%th>o97~0U5 zk#RQ*;pVdF$9+vP+!ti&{BIR38?aIS(M!O(kYtKccVL`-EB`HGEVTJM5=(a0BOFdj zZa5~gM>Wa6`n85eZP!=zhx)h8B%D&OoR7vzgjwr`Yh5=l9 z5wehTixe!E?6L~KD77fVDEnVNUI#2^uIi7l7rK%6W7fx~UGpnN#&rp!DcDWRn zU40ezZw0b}nuM8_lILA+ub1fDU!&p^4PIrXpu+>WCb+V}nL2T2_WzFKPnJ0(>*vH* zPNy!_XDj);WD_acg!_*ic^vdI1RgZswSZzeEY?^qAmpu`A~7S`&|WnVX|; zkmFMk&J$eSqAPm56GYB5DXydEVwhhZAKSur3`%KSne}FaZbU9dTJ691vD8$u_Z?uq zh#eFX?SD)^F2HmaD^(HkXqniG)}J7j#SG2@0QRDd_2G^p43xY`j;@teA`E|^H&)Tt z4$47D$Z)FieGYQI8@86$Jd1AFa{2$&A8z`g8bTq!)2uEQC@#uLPqS58cF|`OC%Jmd z!$!wqc2y|xZ83T+piz~}Ng3z2Y2}d#LHQW?uaIL3_!yLnkK@ykSaqWzmtLpU{y%l zObkP_Io6hW2m;}XPkjwmIHMxaDT#OwXbP9XiZXQv^*$bi_|p|VSh9-SEO2hxPrvplE++q%PC`KT zt0w~!h*5cGNriB1$$|P*-xvN_+`=QHzW6UqIT<7_D)ieYl7Y`lbMq;7u?1AiyY>9; zo-SKS4|cm0nAlm@_e%D=;{vVi4qtC(el|nV5|*vj6d5>8YAxsHdJFCtV&Cq2Vc;0H z1>DYDb`3Jz%iZ-{CF<9!TeUqNL?6-wJew@nS+x1Dp=rCk;XL_eDR=yTN>^^^Pt;T% z)rh(4-Oqv-?QV?z8fh-mzxA)XRlA>;@eHXXpws_QPZy|Ef8G2ZG?e}lDrN)Msqc3K zO0&Q0Alo|;B>~4R6pCV1%Z4#=L*o0sp=eUIL{&~s4L5Y~4DFC>sXo$7Q&#sb88&n1 zQl!H;{37m}KO_f8%oQX{4(9!) zq`Xo%P{~z;=}BrDZB@O?&ua3F1RQ5BIpshghfqE~+TDM(JNT7S&Va@KtC9+Js*eZT zQsMUM?svLAaq3R%v(JVf!ggxo0zaXsWgJTwx%73a)s4~9)wz7ZF~65+PXWURF3y~* zH|}hQAfKh<6cKfKm}L!8>_*NYS1pV2@F7tQXq`;b2Wb%)cmM563=>+Z1ovdVs=@)O zv~eoEdF6%s4rLbTX$ZZ1%u^nw)MSWd@QB@>y@cQGJ#fC#CT`((Xz1yfpl$k zzOCK5u&=Mho5NoBmK5Iio4OtvS?v|x6n$ls*L;hmqT$Nq`vOskHp#@^wYa!JZZD%Z zJ6ZBg>#X_RTmD~y^*uKIGEmK$Mvkw7Kyi25qCAZ~?ZD&aN6JvNfwZdES&DOF`1p!r zA@9qxu**}~@;d+Y!RtZsk@p;bR-d6dv9+JO9sRw)`~EPg3s*Cl3=fN)v|Y6-LE^*akyinBvQ_wG z-%d(~pZ(+I1qTrlGiRg4p!${sM~qiIn#9#zRZ+@#uiR6w;r@SF00O$`)|A;J!L)my z^^K}y1IUOaulG(9IZx*p^p{#zNhbfy16&6*7%?Wp#o~*?QUTC^#1l#GzjxT$Nj)6k z*OlL8kNj$jyV@}he~5DX&ccwCk1e`&lrC79HZETDxa#!RFmL7I@Q%9R*Xpvng-O|@ zl#`*?%5OSi6dvvuh{{3(M8uL?YS)151Nf{2f;R7VX zDl|nP?Vj^*cFjp-!V3u;u6Rl`Vx2p!j@QMZ$8Kl8NtxU7UY6Yh9F?B%`HVf%?%T@| z->wl(c)}G{D+i;mc~JHP$!^=#La<%8iV{%fw#2LSe@Ig~UI*=E>d(V@Q=qS#!4KuY zPy6H?Wiy)vu~fsXlU{NOJTXmOM?t1ZWA5;Q=n8JXaj3ggV9m?< z4|jlCURiDwKMb%KekjZDDv!05?zgpsmMqS2+Y3@i;0(6P=pxx3w<1G~RL^uG5O%)~ z^rxzuUGH(#>L4h!x&}GeGpsr~0$38(V8=2ZOc^)(IjPq@F#yb=8eo!mQX3P6oaXMb z*HD9dQOb28+I*K}n#TCr82OB!%z~~uqrpl{B?LOwcLtg4IAW*GEH}w4dx3C?`D?XN ziPHg91$9>TPU&B6<dMQ+4U9CupervWl z`0)$4j8V0$DaGD=v?mjLC*%`nhUs5{I`C zr@X<}i9?j?yc>>BwNy<)J|^w#B^z1?vvUi@EuESFeTbl-7xrYdn=K=8_=m!}NSe59 z{`vJe6!pQ>6az<0Fiq&>*xhK7-1)l4Zn05@Zm_9GbzSeR`j89UNk|Ni z+m4wP6`dmdUeW6G7x2LtO2MhCjA1(%!)Vjo9y-t$gWhYAUAoHhe z$O>(E6Q;Lpx=^O=U?Awi>@+GsEc43*VY6!8i*wVrugu)`+J@AVe_^_Z5_Wx#mt^`E zW{ilqk)j1881{@kue0A0S^1g!UXb*nLmR6(RsYIag62pz`&zb^oO_L~-@LTrv;-rJWf7)!I?Y~qN z^+-X2DLgyteAO7RlFE{&WvF#6Copw3U=eDQ!?zOUaUM}PLk~EY~6bBFp1GElTYoB9PH_|)WN9_ zr#-5>J0oaH;U33BKb|iU_$|MGQknF%(ctWO__IZ%qL|S(DsV-Zigh9OH9g&eSWaO3 zleL{ibDqno?3EO?h zMq9rj6;@pI*17MzHQ0*`+mo&@%SxU>&bPNG%*Y7`1({W?e7I6XBRjI*fD0to6QDXR z)nCQYt@JEU`}R{CQgv_AxYwtb|6d#6k3K?eW13?_9zEpZ70kFUi#;(nCj%ohwH;98 zWtO+-$-~U9u50^XNLqas;TDl<_#xRBTxxmNx>*e1iHrm{3GJ-ho&R(hPkFW!1b&G2 zGF}(v$}jBD(yP;OTpe?DXk4-Dt_456+?(7sqv-3;_&Kb*ZpYgVKIAxU_LoB8bKI1d z10+Qs0e|ywzjvej?j6LS`ja}sH24p5`=+=e2&Q2y!UiW zz#`j7czXE`k|t|L_8p<`w)AE_Clrc&YDln1{^S&1cg(yGMzXsPNF{;^gvDb(!9 zDo@I+i7(GHKeci@B2y9ASoIJomw1O{liB>Y@7zl(5UZoVc~#IeI)go7Yw4Gb2(8BV z`?VnsB6l%kZv@p>sFB1vQ>uq>AgM=QHu{>AKT_I>TiqAiNKLtZ`yHuOEZKj9^_cx;pqC%spSE|GKCDcbthXg;EpM2dEXMNr3?>dfI#XcSyB`*3r%FT5^8+!7}>gvS4b|=$qxN4#uMWy0giUNxRcRVD-(k^(ej5 zL;q*%bp_88kNx<7-neQxfNEcw;IYKx5!$!!XRh5&%_nyQw$V=J-FyA~H|`I+8LK*; zvK|et5<6jOs|D4EIByu9RdDxP_WhQjOsUi99-%{=OqgJyDfn ztvK48-@o8!#20hMA!0pb)22oVR}T%SRGuU8}v&6Bc`*FNR{3JNDmnEVCer=Ewi4y$% zjhsmRTi!K|yu=kZccy1zSAz<~B3xNDsuu0yDfIcC>BDbza>}-%NG|XiH#vsQO!iyE zx3t+s@2FJmg-%>3@_Q+5^xkT_|DvGmCT)n%u1Wu3@oHvKx3_v|gH7e>9jXzBhF! z`sVtMHPji?7lMS-Rjwu{lU@ER8X%SL)5+;j^_adEIt|kvP zT%Zj9o%_CeqgDpusyY&4Lne~wd0tTXK-#ZC65Ej=si;jd?o6kj>5r1R5QBqduQXWy zuxPCxT+IG>OC-sHF0JY3{l}6_&uH}cR)CNh1sOu$p=%lwcdycA;W-R@d9N~R16ffB z%R3~tNS_cOD?Vw{bm6S45c|2w=vGwRKhD5(`&1p}_LC_2azr5JojxvcN zx_gjAe#U`D8Y8u)ynlMeTmRhe(Vz=_m`(P~x?-vDiZJ>jsE)=FPES&}ey%0#!$BKU z%VzsSH}Xz9ij&LsPIlQppQh_ZCgM1FoFQo12@5}$N(Axlb2|v&7ZQWnXp&3*EgL)- za0zQsR@Ft@hz!qSQ&+-@xsT&`(f=zcai*qR8U*n??gFytU&-u$m+~}){oQU_a?t`* zY79M|cYisZAGJL?+y2lA$rRX+(7;j%WS<9V@iMjrT4gvX+J}3j z*6%z2*KTO}1KX2`yi`^yiXI*j_AuPIHV=}M_#Qynd9{Vos!T@uA{$5Ym6zs=d3Y)& z`dNdco6G7=$_Yz^wfS%bKns6jrlHVQXvLo$QFC$!6r;}2wd2oFn>i9>2pdu>RG8@( z36NdWd6KE6Iy02EZ!wE0jSP@?(1mY}VvC}Cj6pfp{Hi;v$2v{OuMo`A_;dh{H8{Oy z=0`}pvEw7mUv0-FIH~=k!A`QStcSkIA@GjelK&f^UN#A$WtL!sjUWG~(QQ%oLWeOXeuN!jo(zNqpf z0K$EBG*n@_N6w?EgmJ8PGkyBp(c>!$3(aSCcF{Gi#yyt%6)ZDxwk-DV2}MPlEX>S# zWs^v|9sCcOH2}QO6>q3`j>S(7Dpq6tbbdgrxvpk9eM)^eja}4w=`!2tD2%$(=t6Mp-{;gx zT&eI50VEB9V%!Zan0RYTZ({qd9y8sl5@QF?t&ASq5Ck3&X!fI>1LNo154r^1w+w6bWNZBs%PjD30HTz1ae|j z^Gm_v_QX9`gKKH)zZT8S3E7osUuPkKJ-!!d3BieO3a(BKwU}PPqUv5!w~?fEND?lH zr6=17Bt+Kia`rP+n(#`!PoLe>`V}13Ee;*BQ_aL&iK!OKm?DBD0gtfRn`_ zvb7dQt(361>7u0r;G)*Q3KLT9=@;S`UK4&5qKoP98KcTI|*X|}ZUVb#`uIA^66$b&U zu?QX%KuE5a;4Z&XfZ!Y}+~HN7;QUhLW?5sImy_k1aeKRy6^!9~+X}y7C-&1+mv*VQ zm~~CW^MA@cHDZ~gJaw&xMqGssul<#M@|Fo`dB>%(H2netb4AMyJ$RAw=t?(Qc?DRnV}DWyl=5auCK zsR_JBT1I%(6?ej8?f)Ogk*c29aV#8}6Y+yXyK^Cq_BO?=PA{`hCO2o5h z$jA%wxbyL(>OA;5*~8RVD43fp@Lgi^gwu^YGbNLz(y2mO95J(Sx({}-AEf~}M)Cmp z5LPI;Cz*0YtnAWAXO?p74Sc+A(DMK0vB^5XT9D@w?bOteGfOEPQ5P8YUc5Dzk3%Hg z=8R&3HKtY!{UAaJ{Cz!1zF~RCU7pexnTf-PhqhNRdj0+HiILj7`M<)ksI1$@;@}Ra z8$I7AdPjbQpH#8UByVpRf#J!;0^2+BcBEn(7eGXx_q98HqN|xWG7E)4Ra0d?j<-xkY*Cn&&p|F~CjmpvZZ+CHIWfA(DhE&<&3d^b$G605^_=GgY+DawWLnK~jJ zb+jM}7lib}%sAW|QCY_FxRC&9AY%ywL^)^uwV(Gz$XfOGKJWVY(%nYYS6+7ar0x50 zkFn9aJ23LnDR<$YG;wZ3v~glpr1VxOrVOwH|LO};!EpEV4VS@$Y_o>G0<)AI<$L%L z$k+3fq-*3u*VI^n5*`a!Fw3!)AP||wQ5QkGJ6nH3>DXYTc4-33Y6C-UW@$y`_~?QK zwicj|FWy)~A}r$vPb=AHE^^vs)~jA=862gBaZz7en|pQL=jsu*>nvOjK(2NPjsB`n zyQO@>2GBt`WX~-WauAt&NS&eS8VlU!9#3U}$wJ8n%hPQ~dHNC2KrAO+JYbBD4sxNe z(z38rPCmpu&|XbA2cFIO{=ll|^eP#{%>z>{?$lW2)CwSCf&(_$axTChId{YLJoIZ% z-uQg-zXYbQRxebwi~C0I<`JRQ<7pQIiwV^ODX!*PH8jKj$);+;x|djE`QUB@q$XVN z?ozZKVCMC>7#2vs;9UOEn?Fx>4KO{}z1WH@W6jIAjK#w=QWkA28h-JKV)}Syx0#N+ zw*7J2EnT7y${T3?53@o)HwvZnMAY&}utG}c*JQ?_a4P?i4oIHv=GXU8&B(W1o)Vus z>c$q${jgt5y5`KU3b%3BORbf4twmspZ~xXD1h-I462N4MS3E0F&LG1W7WUes)B`<4w1nR4<69=5o^@jz)(+`Z4XNi7*xy$p!f#bf*!(u9f@?`8@b! zBS%7jG4xq^=9h^OAUw+ZAKnbRnazPdg-&6}8+$|By;wzx9l_*U#b!v-T}8V0_}{97 z^ZidEGdd-8$t{D0s~)FC1H%7R&7^+(*cEqdlroV2I?S0PIznAco$WD}xu22C^X&Iw zV>+~&)ed;@$r&_V4SV5Dw-TxFg-z7tW~l)Y5}-Nnt-EMB*R&Y$4WN3<93E!h1+Otc zeT)mBAf9u@f*(um*G`F9IHSNS0(2~}_ju7j_D@Z$*52u#{nwZ)KD{Z;Q(ni|#; zBXiA1qckLOb;lSjOiA&S%_Ao_PHB#|Ut#tLjj=EXY7WjPgYGR`yM-T!}4_3O5!WFxO%+m6*xw zNn%Rkwa}x`pNAm+0ru?Yrr{=JkQM|*t*oS?;9FE_-9zpOmBVzP*Nfb*L-2rUB_2D^ zunyS^1bY@tB1W|Q%P=>{r06Y`H9~BJ2Q_OLU+yk1i)4^fF3!EwHQ8Q#>J?o@z-uR( zx)EnG=D(kTh#v*E#rO6*3_9c~9d*4K+| zz^PUSycqvKbe&aHTv3#!6GCv8;8r*UC%C)2yF+kyieSN|a3?sy-QC?C0znFQheC$# znbm7%I{kQ`s@6Ss{b$R+zm0Ic>w7XAbyRRbMqp%@m=uT=d{g%*3KghI6Cc%}NtB38 za4SlYiwPVJ#{x6C#p}bdhhf`~-LkH!s%ui<*$d--BXTDp>(h!os)7!`i0FqCC~(}g z;=MV<%fN)D)t$l3`b zRDx1ikBVeCY_a7&&|jegRNT_1B{4H8%!|6y(Qhpa0Os^O8jDQ%e-R%!Ie86NMe}*+ zV=HPlCNtwi1-)$<)QZmh{%!}85Dz$nv({cX%4RLpHaCC$LoUwyF7h-Vlhg*?hDvcpC=1QaDEx-NsOo+~re!UQ%@Uk*cC3`|VEeT$gc^^zmr#22^$ z6Ukodlb7ooUOs=8*ics2K)m^m(U7eDKWY{-lwIRh7Ok)ndqPJrCjke|z2TjoZOO9L z$x~x>Qz!q?Ojm%m4TA2(YXh57Y;fRu&@A(x`UT;6GM%Wn+)XJ=bR}ySFAxnzqt*Ma zEZ>04X~99ATovZr`XhlhB>IBkj>R{3-DRh8vVgFw>z33M9Ubz?c?D-q(tvicm?;ps zsS9bbNSDA?r+ifmJon&F0f|dXV;7q0fWHNStX-s{O>-zaIBRBE>^rtRDac*EaD691 zOfnkDG%f&PjTXPD-!5OWV=xl=50^sl8-dK$CfEJ3@hj@ z+wj&-k`fXg<+L0IXGb&hNA*!F@_nvBc{u!lXK?20kmXllqIa4YFHDZ9`^B!gJgi$v zAT-XyFyFz?Ugf8or~-o3P-RY2Nd$ev*3C*?uwH)Fq(P3%ajUKE|7=)0L|3Ygo*^tw za&{h&hVl<+(tK8p*`mxs?GF;yP(SLI4sGc3T-g^jj3Y5-y27pLBt9hoFH?yt1k`O> zp~Uy+b;*r}hx7DP{8DKS4#=mw>xDi#U{nSy$WQ{_LKTfU+D zp*i2pe9_C!dT>=YsIWuRr6Tt`5EE3>9G*qZ`GXPglVn(@R+fdCMjszm(0%f5%X!Aj zw37T}1=mYb-Wk9gt9=J{DqvPH0KBb1Bv;T_~^V>$(LjNK=aSEjn(Ey(=? z9LN8N0&l5})L$=DrekOWCFNbN&<3%ZDi{T^EiR@3{l!LeHM+tU&g9j2**>xp2yTIYSg zZOcCI(AbHuAkS~^qE>oANX2rowfs2wXqZ??OWFAoJ!g`kCuH)f0TP>}xal@b@f{~i z#lFRB!5v! z1?ZsfRyLchKR=SZzMzI=IB-WdJP&xBV9|0Ji^fbbrbq^#XWbM1e&AUV+m8TQN30Uq z(K|ax1uK;4xxY$zd7ta08Dgza)<)zXX}Eg9?C-B2*Y_eL*f>_}TPTj(_?%edk&w{p z7K!}|&-FR$uH8ZaQH_qneaj{ji1T`Yvs|LrZL>cFD}oU{Vv{j>JRII~#mO-kWE2ZB z?Cg^K6`W->JdOL{Hy5t9JWd&_IxS@Gc)^>mGpg|^3A2_Y=H0w-kJNAcaTBM%wfjvp z*PLL-o}cro-#_wsy|G%%fkwtx!Yy8)Y)E0)V4bD(JC=6yLH;+g31}>^BX+o_RU8lN zQjzlQ7XjS>*}ZvSZwpsihQw8YPw#Cqb>3ld9gf7xZ7 zd|;Y@tZNx=yddT{6-<6~QvZIrE~CR%@y&jqS84no&bI$x-aKdR=e)2xLkTXz(QL=! zTs*;RZhblt*G29SalJGA3t_O4ZC{3ry{z6vTN`HxQ1d*gOmsSdfbXmrErI*nK64F< zDP4yR9pJ5go1EuMbLUSQmbBNQNj_D?C%g1G!U+37nyb1M8LtWYqNpFuTXbM-k~-Ce z{wWvJwQ1s6?eGYiH&d|0Jiaj=w5sQRD#jtM%LjDwexcxoh0s@Y@so*h#_(M}rMnYd znyNNn>-t@5g_L?G=_-%8tx1XP28RJv@lUtKKSFqTr^%@8=DIBh>nwISpSzMlh84!* zvN~A5>b_eb03~sZ3BSy62)3yhxGf|*uh}&AaIbvP4-;uT5)t$2&rFcl8#nf=Un&ty zU|CTSa9o>ozJ9l0>1D<9H;%_DGOdmm9or4-`!ATaK-Pvv-<}|f>3qOt&lM+I>nx|m zpAJT489vyjQUyCQ9@Va5p0j(PFbs|DM^2(!JjdRtrQ*$vd&*V5l)xii#rPL>R^pEG zLg?x|MZXx(QV#!|+t*gP9DV{g>!>6zj1C9!sM0Cjsjixg=+188+RjQ_ehYrE@{7D! z42g9;@VUWXeQ<55ab?kKE~G@VfR!PGUirsUpJZ%0`+^1FUk$9n_(dcn9#yHkQ&qRSKv7kQF;YAM-3VCVYdL_Qex?d3I z+}8YiK1nNFLFHD`IlU#Mc%(uP)Fxtv93FcUlM=3WE9`oV%3_*_YW(b_P9n9QI9Q$*_}z`R=3@&1$*AAOv|gKCbY$LwNS z!(ioOPb)q0NE3B-RufAjvfk4N4JY1IRq>&_<8UKeeIDni**f;6PI4SJ#cO;)HFik}Ll zkHca-vu7qGofl&i{4|~yjUsTiLpROkH>remSRF~6zN(W;Bm?n)8_M;TnmJEXw>0(`|+K$ z7Gnp`FUfI#Vn~zoupMwUzVVrypR8BPLbvme>uLSt?S9UNCh$6ClBufGTh;5LMw^TN%LVDe{TR=xT9R6c%Hlk@~5hbY(w%4`a`J;ep_T`eqEGXd*5yH_{<+VmajOO z{QJ_~s|x^Oy)s@gPgKgXpV z60;DX(i4Q-iVEONB;LNBZZQVbN1L})WrSD6wX|G>{?`~GxXcIBN4lz&#y5PvcYeHjd zlkRV(7DJ zA35xEaEZAn$ibt<5gCOyvnXo?D}W}PFsqn|4bG@sQ@bNRN@NNPTj?}!UiaSll2Ink zyBhW+iUIE&6h;a_*cY4SyBLPg+UK<9p|B7TaTk*LyVh(g%6GcVs&>}={!0eXJ5%k> zt?Q21%7HNp>M2p!zAuY?Lu2o5!Xz8<{+XulDosrhxRB9za_gtdd6FTmw@iii|5c#b zWm0=0xK3-BoPC ziLxuK6{qb(DeSLt=&e_Wni2QcLh9b+NZ`PJ9?ZPUh80nHJ5Ox{>2nAT<6YBRP2`f5hfz$?fWc;^<1mY zo~z$XBE_O zyqh-JKXm`#ess4I)SSs9=Qah!4r`OcO&G#+CcLT5&%R}S7REK1*rc3-%*HoqXOB5Sp@zKjHA(A0pW3Wp0oCFmzq6j{!Tj zK?%r9dIH8EuWLklFpqfL1XC??UE-1fZ{hVh3ITeq_6pjyy7{COE|C82rqc*_4Uo+d_0h$qZHD4?h7fEL}tj<#$}O0!hjhk z?KeWgprU{=bxczu)FjSSqf_@9lf8;-QlkV)7pl;vl!;_I2ZSPo+XbEqjem_p2T?-D zPyax(`lZY7vAMPGbN%+R^bSm$>?n3n#L#HE>-3wy)(4&hiEUM66rHk zwcBstvUQrY-N4)aCR!4wMHK+9gRGar&DvCh7er$jl64L1)}9n;Mq{{1l(7D&r%Zfd zobVI6I`_LK7FT3U8gdPQUw&Rmxrgr?aSqymGy$%{>+fgNYR|jlnJTpOwdoZ{sx0rA zjsoMtul~G;Zkd2p2aTDZsQf^+b0@;Eao#hj!FR6YoC_{jsco@TjRURDSxeAZ;}|7{ z*gk)U!*5?mCwV%Gq}9?h61T-Ow*F*oi6!p)`1xG(*Zb^qV!E8?3v4htdV4Gl;G)Aj zhwS?CeSMaW3pZKb4Y&B`PCW{S^N&c*n5-8bZ@bc%*6tEo2d-7w*AYYh6Jt1|9fDkH z2IS5uUYn2$&=m}*Jr0-yc@hveWlVC|5L5<2$TgD)s@60*DM>COp^c^B$fg1s!+P~F zdm1%f_fzguU^}bA#EEMDH0YkIB<38~PO%tQ2+V7@0~050>&hVLWp)p16{g-q`E(zL zC#tc#LT|vhS;4VG<3k|_{1g)XMK=APkCWuk&W5gcjQcRZ?W-p@l;(Wl$(WJ1 zx+VUQ$Y)OQn&-tzos5{0pC94*g&6n??*SNMN?Juga<1I>R2Bj3rD(+^x^9OG-jQ%T^;CVXbzD&D`&v^n`1e?Za|!b2+xq-)s$(6Vhw zQUQj}{2#P5LMc?)rBJrve9QCh&uH;aWj$P=Z-rWJi->r1e6+nz%Wy^)e8|Y%wnpUJ ze9aQyv`$k_GKqUk{9IFwDlQ&>NY(4QeNEK`-V>m1w6D~{v)f)r zyCDrc0z?AXf9Bgx8XgAP?lQ3asuAXXpJ3%{hxCz$0Rqqn${m< zBFC6I+!R}mU;Dtan|mwL&7G!9Qd6a6cl;41!9L{Piaj25Hu~1KF_vu5Ij~|%l~$(@ ztO&hul%bmmtr8Ds5R@d;4oGdS>Q$9S@NRx>9ZjusDBvTy-&GoB470fy;A1#eG(c*)qYHW6_Q z-pg4t5OCTz=$JasbAA)$iI-_(IobnL`E7j~k|24UG2zH!f17S&y!#CBF9;KYYxBPg zrym;4u3VP@W3TMOxl+Z5p<+HfXisC%fNilyGD z3)SeKYn3x?2lm*xk4fi*Xfd#a;`dd+W0>z3dS@Hty{bnRwxuxca!fJc0^;(N#OC>pzxi^%<75ca!yUC(bIQ>xX|T}**^(Ff%a zwFh@7IBRu#7U_2QzUq5ryXHkqQ{*$|)|2LDl<9$__~=!3+t}?!w_hmfA=R@SSGFx* zfkFY9>5nnF0X7&UCQybNB$1FWS87=DMxk4Cvt2d}<`7n)e9M*1pH2A3wQZdumO+a+2wK5tDqyp8-J zdbKTr`apWtY_amChRuH$BYY?(Z|K3ZjLGHW^)|02x4~8Ut-^pGu}_spA>R{J<7}PA zQy5w}k99;_qJEIWhX}A|tW8S+dUULQc5JzKIT+VxnuUEk6tXUHAfKd z^%rCs(X4YzNpdgfOQ0uv=@?w#B21+_l%k z2)TI%)N5snuSd)EDNf2czx#TMTDy4vT(K)?2p!~RG&Qp)DvA9kv`)t8qV)L7=$b>g zX>U#Zk>?Thtjl+=2EDJ&r$@5IV?h0ws}9MSM2`+HkH;_oa@SV?@;y-c{0`E^<35J& zuo3$3gHfBi=b7)9?B8R{Ym5A$|xsriH%UcE~b}Nmg`!^|; z9VmIFVprso7UXvdjGU(i=YQv#_(-0pjX|v#H4p#rC)`?R0ek$DU-PYp-j#zi(RfGz z)vX}GiG$}^&CsE_?vZ5&`2V>H|IfwvS48Aj7piHMt3^2fDjt2-3Yz>=ySPxh)}M>x zVbb%nh}gzA9k<7k6?1-`rRYX95tnHDYgJS-v<3gISr7)Jo|IMG@ z9B|Ng4rUDtu)pBfGpNXKA?ez2?xK$kqYDG6DnCnBrr&EdD!d^z+zI?pti!gGV-E=}r;Z$6S2+zp@)79HAiQDUGczT^AFgxH8rS(4F($9%&>D#{(VUcxH=~C z$l|YIct%3bMwia(O;yfqMQc~(n!TXYK6XsAkJLFjh4*E2tNtUWpm$;HJWvz*T>qYU z@uARHHN~!7?%eKqKc~HD{pQLJXmCF31N$~IRQb;HKmZ!K+~2MZQf>KZb*Sc0Z0h4`XdOK69y-K;a5| zR-gKf=<+iW`wFOXsxVvr89Wu}ZW~nYQ!1Few!W$J{{?3M`Pdy2A#}#ZH2>J(^iNRpun6Q27r5dA!nUAM^on`CIXw4Fmyz=29Zhs%S+NChB}RzElh4aBhq;>ODB^WG zl_l;_kOkN#*EuK*S*JWJ@ZzQ&g-g!(fLFX9vA-bF8`i_kDLW$w2alO)MsxUDwt&xN&EsaH# zho*|Am*{p`IZ`D~gc#H5wpre`OWuc8n2Oqq1%;djr=Br=+Q3HT(3cQkr*MpW2yb7r zkZ}^+xC<`KTy8KeCFJUlu3aWYP~beK^G3q38xrSXEGGzHb0WAR(-*_23OfzAulH@^*7bl0+Vn zY!*%4=U__O=wWQo#I>}EZ#ol70yrQH%Yc{*;~FvN zRep(IGNo5>aMTTZLS45RJ$l$_GZm|&c0^At!pcPINK3YIPINyNODCU*zE!TE@c)Y4 z|LcpnP!aplvGaTGJABrvTtf3NwA7!>0jWQpb$7B1nW3JPVne>QI&xrq{59i{pWQFi zXo{iRqQoY7Cx_uKb)ahCI*$o0!Ou|=L-7)~0|j+Wlr1tXLrsn!H)ZDZT=;R*=Iqth z!~Evhb+}DAx+JU8z>tx7uns}y8`9oQfHDOmTP~LKrJNe^s8Eemsy%ImaP@DKZ7J5} zs~S~u?ya3J?najp7bJJ(0`>SGpvc5;@VGHX0=BfFcB2I``9r&;JAZ@oruv7HFyGOI zdseX{Mv^#jgmIOFgylnaW2yi+ve9a<2dPzY_dm+OsI*jOvq|h6ZK56zYqKg3Z}IKJ zUW_gh)HZ-&ZR z`X6LB&N91qqIaa#mviW#*+r$wogt&@lF08xgm$gfetCL66O0`=N}g+oaGKA`2qpX+ zJ3}tDZN#u3g|K~WE|wHy-W{DYGedoc(6ZGVrfdhalr2SS8=G{)$}VL7zMf~_pA8!S z$hh85?IYTSfm%zWx-P|ef844_kz2<++67`u*lW5<;!;8Hdh3B;SWxr~fBwbppx{W- zN%Vx@Vsagb&1K2D4WCR|i-7#`E>4q2e4ir90SOdeDTAd|E$m5;}mGjDXgwDC;J zn)*}mzHuR<*RV@%XOyt>3{K z;tZXTWeZ;NnCE+dzEnVZXr>vSr7DR_jGK^VSG#b%I>G;&3;%D)mBk2HhuHByE+g7+ zxY<=Kcr(dC%RPI!R6TM#$6WjCNY`^e!R_Ux1eU`&|1vxaZ~rjx3r1#fOg+UI9Y-k`>4fQ19fpPL6g&%ZwuX)!`A&qcuJ&Hh!Sq5? zaZYmAv1{^^Hp;p{91gjyc+?(j%lUXQ~)3lQ+QG$D-edGAGXKBWM=^=jyAvHecc zgnGqLK+H@fGSyfn<9+JiuPtV1rc#4W^A&p|*V|!iM>av>wfYo0qw_+bj8;BV70E<# zJ_U4)5}OEm?C>$-P0>+l)YveAzj0<+`3%SHd{%I3!ti5hS|1OhWf!ywHF`ZVO1NDv z7`9xCXuK_V7?XbPmIfiPl*-98l<&n)}Nj zX<@h;c|#oInTAl(TQblu*5Iwff@xU-kf~+<3muC|d0w(cp$ifCI|u=c|3`0N>k z%Onf|>cwp5<>wrIaoYI%4sHIiV#`C@0^E?appRf&HzE}&knwdZb0C2(wHVfxyxuC{ zNxa`sY&slnm!e{XJ&et-I^RF0O@&)3D~>a_gd>cSiz6wpgw-GWbh$8;Mb1~bPTuSr z#}goHo$3ea)3cnHyUbO$|MDIQ&jT8XZ+)s+?_z`$>(mVER@J_7&&9yqWk4cKZ6y_) z{NT2_|2lhy{(*8MY687?(@vDR`yo`Ke%szWqlp4k0$Rl=TWO5(bdSXYAXEKvTBkXx z&eKHuym!vU7(i%eLAnN~-v(V%+}}n+4&_`VM>p!=1#hTzEYTzI>&y#Kbw{%k468)k zwWUQ}A5FEJuNdFhrcL$j;N9f6ryL2BeJGvql1L2Yp58k$l-Kmn>t`AbH&*E6^U%Fp z#Yy*SXIbA)p(g9)P`zXdl$gY4Qz;5De)zyuoA`i63gTKn)0mF1t2}Bc!W$LN)1oXw zLAWFeH@W}-;>}pZV1*bIn^X>74>XKvv~;;wq~>Q#MSd^~T_08dkpm3W_`rCbAI)@V_M9KjmK4bYWlLv-Rr+3K71fUmlhLN>otU6ixH!w zNm5xViQiSwUD+E87i`+2|7bPp`*h3;r{IX##el*!>&8xj+1<&u*B3%TA7QpD67R{; zY>q_7@oD8=pS%>2fgG$CH$EYs(Toi#t_eNBbxBM1ecd7u_-@o-EU3ZVyIbO}9Jzm@>C2RmDu?=P8?4e*Y)KWlNT@+muq|a;_TS2W{~>ia zv`~K}PQ;IlT#gHWbjLjqWZBvuuS^Uv^1~DEa>QE`9OpOY4SEkrR6^GK^4FTOz~fu~ zvz;BKwjbSRlh^9ve-3ej>{uuhn5ihIYd~1bfb)?w59L35iI$pfPKe}Fikc=^u1nr4 zoqic%f|m?{{zW&JvQ75=dyd(~E!1o;WpOc^2vQ7PQ{3*FZQ(&`x8Gu}y7g>8F=P>u z-xH=n9Ktl}`Us_DkrjlYz9PHWB^8mG&~013yM01TXFJl7*8o^~ZfC%52r z3Zulrlf+}{V{-0S?VS4~b(JVw{)QmroZE#o)^Bw>?)v2(r|ONI&&aX|EE4-&%wrr= zY|lMZPa>NjAJsWkz?Fp@+Tdxgk(#uIGc8&GtPIr`JT-VN42PpeU6wmDE48C3UO&+< znHK=neO`Lnr@B}^xBO`7;i>r)VI4p~4o*)P=wQE1AfL<_Pk`BaQ%1+e>%S_k{}ruG zqj6QChfU~ke&#Tpav9~{ShO$|Y;2G_?odKcogA9F8guUIx9G@uG85@~u^p49Gur^6 z#nEa-U(znAki!d6cB4_nQ3cgH&bX%KEGesq>s|JRE=SVvI0ickqwtTS$tC7b?Z%&g z8LEDvM8e|Lb)u|%PU{1yo2vw8>R?~j7rB%z2V9I<2`tRRpbuMtL}0laAY9cO@gV@W8RPlWlSS(!L zMT2z=TkSyu?5(0ldBsS5we+mHiq_WDzW(IFl+O)Erhr)YBlh1z;B-|S1Eb*PaK&gu z<56CimV%)B7kQZ&O_a*Rj*zI~<4@tJ<4#s=ilytI;OwuaC0YC5AxJ-1y^__bm8bY1 zCrVX+@&ov_mhPrYH^(UjFmMmU5o{P^g~slEX&MLmR!Rb+Gj|3%CvKg{?USt;{+Zqn z1a%K{SnUWzA|GDI&7NGFoq1i9qb4#*284HJLfl5Ks zy)T~=R0t*S$v?&S7{=#AU3>dWP%1CKQ7(;vz147l+#V@&?xRm3+nBK|l=YfzMLna+ zH?O9}G5}mBK{nVI8yAp>gcm02Yvj8+tC{ppqZgAE?q5!X z457t0YWg{0>a!7^m! zo+X)!<=4>F$ifm!hI3LA64pB}PTGq z=UdjIwq}qHOTEGMkqIPDGfUeh+RRP3D8gGJ{oofcH!xm$(pa2ic8~_sNRLj+X;ao!YAEj zfhw8`Z_$eMi$t2vZdAfgW2u@#xWIXLcC$#9=a>#x6*o+|*O|4jBB2zuJnL zv<8y`OPIpMPFl-=xniHZimYV0eSafmxas34bMuxtiPy3^Fk+EOQty$xPAAX!G1?GL z>2f??FE1|*wZ?OHHi{+|P_PRo#2kpUUJ(nZsTcFp*;k{o2+Rb4c>GQJr;~_FAAX!$ zi%kkl7bW_AG(Y$${#%N9XoL>}7=rn9KrV|mt*ZK@h!`~2KlFPvM2n*|qX84>8PiZ~ zNQ}@V@=x_qL=V$f+<$f~6H~R_SpMM#WvRTnD(CHJZ<-mRD-S+L3qap?XeVi5*7DDf z{Dko(sksgn<}8YJ=h zjtCPuTAwGd`GR57F+Lu42JZ0wyM2!X)hNL->9#>7u>jK|?Q>cj$Zj|o8dw8mc~VAa zGQ)}yxt0=MA7wd;Zp6q`lSL>x8)cktW{O!t7jhIP#%J&CGQS#aV;%FVV9o~AH%#P< zAL=#ZtFz81cZg%Tv3x7jnapnY?r{2{;qb4jHx40`+tRMr!YSw;NbXaDW45?a(m|S> zF@r+_HTS~*sBxC26fcwm4c9BC>xMUSrNQy!_nm32)teGz^fl3Uo-Jh9iAyUMc$}8R zQsI^z9HdPNVwQep2|i$voS>ze5W@ojDePt3*t13jRku<73GId7nAJ=Vf)0ps#_9<+H<=5&`jn?m$9!Z$tjxhivzqb+b@3WU&ei2 zztT%@y6Wc0Mj_^ZhL?<&-{P3IYh1IitT_{~$3gKBq00$f!u-T5&6BA$LBR@(ZrmtrZ7*3k;bc`c>TZ}TI6KMj{K@C2-Inp;~Zb7!PHT~ypCY3!6 z1TtcT5$>nTd2hQRWP9JiS83JH8!$AnRO3DdH^n7l)wr|YbzAl^y2_O4D;EFN&N9$} zbM>K`;JtUSm6~ET-X@%%a-J``GZ8cLHe-n@uUGa+U=Bbc`>c#nKynN8nRlts0HCg| zzIq&Uo4#!Y*u7qZlSt7f{&gTNJn*nrLEvtXwbCDo^8*d6 z*N1Z?1dof|g;xeG9{DDxrC$sk2Yi=;foPPzRL-Jk5PojVDjCgl8_9ZpKH>?qQDM6y zYazXhLRQZ#<#E!}QrGF;0C_EBlK_{yJzPBFd3cjH8X{ zrumzX#IwExJDob4CsY~aSrxPYIu%AO=w)Nj&$U8ThjEcDicQ@zhxMtfekmJ)bM(LB zdNnJS36+OPILkkOe@x&;A@un)&7&b1Zs1tFP*Ap~$9&!PzlfYdp|-UnHKyQBcGV zl@*ZWKd>^|O`0$U&J-Bc-X`UUQ|vw3Y8FAJg2zyBECqIFAX|-0;wD*^78|UKywZPlJRXd-bQ1 z&VApkR$BZ@pYN*l^*bR!`QSZGTc$OfqES?TXAwWiQQpnwV!c+MqUVFdfvXj!GkOTh z*A!WI`IOk<#rFbWil`(k_zZ%YQnl&A6_#tSGNt=F78^`PyWoR`#8Hl*LuTDel~x)y zAA|($k=I9>5RZlMEPqkL?Mb!keagq=w_X}bUisVcnn^M<$WkR|m8`yh<}OMIpALqQH)^guQTD9QOBjY3qiY??iDtES^7*1foQfEX2(hp)n9%dyXtin1 zN&{o6&as{h`U|=Xnqm-ZMI`s${(J3YYWT}ce4HDP_t#lx@uAcfqfepnHzst%s-LXP z8W0h=PiZ4E=f?S{u8oS&7vPF&Wpybp($xFx@-NMLi1JmmkRolagMb*wYw`7|OI zUUD5YE#%zoqDkCE?R$vfVuG?u0SOIC7awMmuuGAodX6*wf)Ud?ItbO_Gy-D-yK{fc z9;80rh~S2Y^1JJ`j_P5Sc~Yf#S>~Uyorng?Il#Hl4!5yV4FvYGrpfGYs2Q{X$2@ z*QoS?j|*#~O(a|@XE@k)YF*F)crb4h3DHE;Nf|&eF`v3^^2w0cUZP z4gP-doWoW2n}I?NCcJCo8*~ZA=Xfy69ThrQ0ql$kjmu%n1Jp`F+D%jk5202B&~R{v%@y{yly`(s%0-er7l>SGpi?SHY<_GFzpoE5#TT*u7^F< zDDTeZ!vN=T6;8)2{B!lNbHkc(#f#rM_<5u;V2y+H0s3u z1ykuN?&?zQcSMd%`R%`jfD-Ct3@~6oGuk(JLO2r2%fum;6@Z?msy-=vt5&4@=Ji8} z^3^2wmUFRhz-=(0q(FKhsQ*AE5n^Zi8f10oi>nN}a?_lQjHh{T@bM|3&|{o8RIMx9 zx4UPMUsb;tzFrK0M>|}=Pi1>!+gCa*M*w@P(^-<2cc}=FjA_|Q);yG8p85y$rP9D)Ro#Bw@$PI>$< zdN@u406dp8 z&H%uMoS_&a~#J%B7%UsVr)=`W*t9L3Fc z6Nl^I#Tg^;qqsc*{AI(_?>?0LaY#OjZyWtvAPi`6zab zisb~Gdvi?Ep7;E)Qh0>`0>%n>^(OC&3A`){HrMLWJ3GGhka|uZwSNWoW1J^NN|6If zW0*=Sy)K%@2e4%XJthL-QS%V*!>W6G6;aE%pvItdeFu;N=$S{K&FEGfPbz-lXdR+1)$5fG?wlxQOQ#3n42E)5wO329ZqUEesYQ9h%6$PPv?{KCLQO%%kOEf z@ve!&ic<2ZRX&}ajWDM^Nel`#uA)dkmz%br>dpjuBVolWJ8b?__IrhmnzQg%?shw^ zp7}yMHbkRoVl%bu}6 zOHJ@(@$g-zJ`RkMF-OnEvxaXI0awvJs2R;d7PT0^e)BRaj!j1@Nj@wq);l_K`2EUe zO*}z`&VCJ;7#)om>7xC!92wbzDh!m?iCVyy)LD2RObd6+NL1jXA4&C$CrSXuDG7^x zrlmAtB>zKN%HEXQPH1s*`wiVvMQ{Nj+fG(w4|0qb~)f6eYOokO6qZzM(cAo-tv`> z>G@tN00b{peHka5I3tlrP(ay4q4;oxGJ(9U(3Cdi*r#}EBG+!Os~yv7O3R-502+*Gv-E2!3rSIge6Q@Hff8`_Qp}p2o-M3H);CK?( z;Gz^pZ=k?@@=k>8%B#C3BX(^{ctJSON$~^W1O+%do&iLg{P^zduYpev9p5EeM9=TZ zw^Ux;TtX_4=M!C+V}cc9ny-29iB#w<@xQO#IxlU6(L#-M|oaiU*LI%d21w|jpy$Q zFwOlUmt`;__(p|QSk!!{Bc0>F&wIt{FPpZ@2@hZXx+FY#9#4p3{Sc=f-z5JWoETr8 zcNl1^nllwAk;T1-8FBk7JzdT{m--V`{6h1fXLDW^{GqUOnwCm-I9$KBKA_g;K2WL) z+xP>=1HmR?mK*#UoiSTfujeIvTU?TuuEJ4Ph!_iNtz1gsI|ff)a@fx)#O(XnPOslH zhN?65%499%L>Y;jtT)kK&7+?syJLGEbkE!(V~N&u?4tL#;&PP1wt`iqU< z@kRno!`?p|Y#zbgj!SjmhYd#QKs)P`R)xx;N}7H(gwKgO)^JhcA5etvndEE~73MVv zr`Qks?$+M`igs8W)XL=cQ=LGR0Jc(=4GHRmtGoQl9Yfz^O7mj->yG_^K7h=&)>(%A zhPJ>x_yw%n>UED?wfas2{N&?Dewxr)n6lLxJo_XW6NITw&5xPNymt%?c%VA~w_uTI=e z*Z6E{6@o&Fk2$^*d~ZToH%FQhspkt?s>SLaFe?kQZL;)uq9ZC$&FJMqQ3f!4`&V*z zjrGx;FRk5pY;-x3U$5znr@_~uk7IFTaB%W@CC}VU9ZULfvXqZ6f87L>fd&+tu{qjb{jXBcy+U)|_Hs6Uk$1X) z%UVb7Jzm#hN6Yg*kXcG)hh7DR!h#LohKBMg;_=?j?z0^o^Wd>o-p>8+PR|~XDh4*W7xI_aKQ(*RgoCy z&~F0xsKGVVEC2zJKJ~gnw?Y^pc+bdwCuJ1pgSC1e(hT$ z`M(0#1Sk6^?HWYFCQU^g!fzTcwR6$N($YX!L&zZ>#Hh(p^zB!)Q+5mXqU3Mv#*yA2 zW4Rz@m3R1w$X#AqDl@u$cuLRGDBzEM#ZMgrHdeT2X9F8qjmSFiQM>(8TlFV~W?r^f ztN2v?vVSTw7Ma`WOZm*LTEA$k`u*k&W&Gh8Os@0%Nz(J2LVr!q&(EQ*jgUFT_o;_H zg@MuTrKQEuhE{6`Gz1y~4S|M0L!cqh5NHTA1R4TAV+6F_9h1g34tHu+7_T_S)@W1g z^+(%UZ8HLM^V>Ezo`)@Qid08^XI5uKa_RkLy^Xa=n7Y|6 zEpxZmADn~CRQCJQgxyBs51Y{z6c_Ig1hUcJt7OFTOzZgP>VzV{WQTXWt*Y(VkyYR1 zyQ=rTt*`NZJ#N)qE!*bxo;W~bOp{qWDW=6%?5oL+n;}vk#E}{#tGDvS z^OIBDkc%vYo3vbJ-j3u#pYyy*3L2G4(OTClc108;+qLIjH=Nl zJesGtE^-c<@!0VbWnp2?0?aWY9w9PgZaKf4moW`zY!e&!0#WJrC)RO_o-+jC;Ft*C z89i5zpl|)lXC^LKAY&|g0U+L`7%fDa`hpg#b=ay^bHqPUj$$$)DpfP~eg2% z@(qE8KtrG*&=6<{Gz1y~4S|M0L*TR#7}@`zHPSFr*<`cZi=A9<*wYDbvNNvXR|3wgcY^wA@S%Z}|kMc(LWsUrW@L`rnzNzBS*k4b>hMZo6XM1h(i7JSrG zZ9y1}%AN^6u?V|u{%61Ntl#H%)#dYLUeRUuKYXk__}H=XoFe*8mOAZGiL>`A?Bv{% z~0rd?3D9->x&SEUP^UQ2ecCJRYPV^9A3<6U$|KR>$L22A6mzBE(wQ#3{?l z0RBO!@rO-h93jYbJe8`$eB>*McRQj-BqOpU6O|(ECPeZ!MxQ=kH6y!3t6{TSGDne9~x1I;M9L-qG~xtXX;^NXjMM2 z6fJ_f(`YSQTiy_82s8v50u6zNKtrG*&=6<{Gz88U1ahZ@zuw_w!{*8sQ;J>G76RIH zNrt`QIj7SY>zv1E23|-6;3ME(O#10W;o(Dv%l`)vzB&n))K>BU0000e&|8+-^bjRoa zdxA3~ZUyfDU7Qj2qU1jhr;;czhHoPS7xPv%?5(&I6+-?@fN+4TqZsoom0q*I3>0Xh z5kqy@{t}q*N-UI{rjzlh0VahI{~4Mjcd^iS0c4}V<7yaQs=oxzkV}nq0|$eCy+Hd< zgUBL36TW7=M$YvX3T{Vu%e9R~KJ_E;T_c^6o52y5_^@EnVjAs#eL!e#pc&F2=OzwI zy7drN+dD9 z-@SCXB;6Zf>!@K?RmEGx3JXG`|IA!F%MN0e6jj2*qmgjmvX1xjWa!+lhUJz1cQ5gF znZ}FAW)8?o47pYav=eo!Dymi>NUD5P`&jw)CMyBLn3arR;VPiskh+WSmwj<-8PeJs zi%b8Xj&*n;JAZ-jd4lX@pPTvJ=UB+A$v@vUNeI+!@DlQkQYOqq$_p72^9-v6LWAYH zV9VbuSPp*p3EF@YasF$dr3xSBnX4x4UJ@&beS7t3vdc^qmn+Mv5Y4ctkehUmTq}gH^Gk2knOPL4I62cWC6y}Y zIO7*7bADm=4e_>)!dRabBkytZ+Qp|i1f*lYi`E_JC2|O?Pu?*PhqGHdU`~A-BWy{% z4`D_ayB+??omoGOHCM#lf)$j57VyWanstB?>&GxwHmbCs>c3{Igbp;}6`dK|FK=lP zSMZ#C1ti}V0YC9sm}NGDQqHV#ZLun*WGPcsS&x_wBrH#pKGEN_R~eCOF&IK`ks6#| z#EWMBN`^8dn-^Adk6STcY@m^GTP~Mvo{#)-vVtDMe$=S?>8y?;r#>URzscRu3~87r zM4+MeyRslSbB?c}IU{ZC$Wcth%f@|0zgLZxqwS2tx-!#Z?|afnlR%syQCX_`!sfn3 zX-fOxM-_bEyZS`f(dHq?;O9SUema^Zi^LnJT%y7Tl%Fin|NBhfYI=H^Q{Q%lGA{6%bsXzxpUOq zgE&36-s;As`K_QpeXwboSV*JkcRVEd?JdKzk0|$5;IkdvW{G8GJQ_Q<_;Q}WD_XY6 z>;U9H-i%w3jvSmC=7zR5KDM*OMx$e>)k#yz>R?yhb&^J-SnRJmnW}E~vZ)Xl?KfB0 zw3vYTd%unPztjQZwMIK6sSrbBV-iCmS`va_h~e|FJpY_*`aMidt;&KIIfgjR`s#Q{ zQ~5bXjHzbgQ0G5!axFi5Z3=~IK`=i}M0Eq9$vn^|$HPGmcZ!1SjmwnB&9thnYeGhz z(!>3a%pf?T#07=It@A{qLu^tU^1RHk)$PwYoRxW%*1IzdHpp{W7$)~YnDQpi_Ohh8 zVp*g?I(+@tH~9mPyomW2{O}S8xmRN$1Z~%M%@sl-K!vA1iIR`(QvJRqBwAE+@aMukd~H>_Au*$?NXG zkzYMy9xkQ5)sz~wIxt_K?C6EFX@di-v5D)^=-7t4!+p2c!UAgReypF(RQ3?=Q>a$NK)dO-7F-&O8hj!)zE{ z3$btqH5nF8RI)@jBP2VUksr;h#4G`lW1O91NI$gn72oh%P9c5R_k7D)PD~Kgo*#Th z9s{!49imk4*bV8(?!MQ^Td688Ss>Z0XG_Gfr~%nAgxMc5ZG0)PB6p0jPyptb!)c2C z&^@i6Uvn7SG&O~LtS(x6GjGsOEpDR~ePDrtY*MUSfZ?{SEPsB@Lq%Sv@{(Z zwu61IJ5RA&pq5|!feH``C8Rt&MDf$m-kpstU7Bu8FDem~W7nt@8)H#xsui#%|E6d% zpLf4Wtf8Iz02PT`3~XL?R=BHGy5GOs+S*yTkR!hC-RJoX?s`S%*UC?`WM|OM)O9jy z#Ec$%ImuU-M4qX#nq92Yu$6$;wwIMP1>U+!cC4aXtyKx;=QS-1c)aZzhf=z>O{nj8 zs-1Gtoz?v&pVJHr%YjI+U}mz2br{GV|NMMs^@_;?MG{d(ateVf0;HmZk1wvK^d@mM zYhDop5eYG5@!RuRa{k6eIH#Sizl>Tj-~kFz%1M+qsva3eIOz!hkQCod^(Tr54e8`l@8+Xk70 zw+(*-3rmi#cQ|yZ(r8PTC-`~>B|)_|=U_pPkTz~pt?@G9PvsKQ^9IJsRvV@Tmq zO|Fn!-6%|B<3KiUy%RD+ICau-jZTrUH`9KhTWbjXCAk+rhk(q!}h{8--X| zqmeg+>nL+O3FNnXTgBofFk;*HkJo?V1RKcF#z#+iNK33N{5lyWzo~>YCwr%dKk!wK z+Ca?(6jFOa zY1-`zm`V2^r?re4J6r4!(>+VVp&@(>^gLI$u!IHIsOZCbDF7QrcKVx$pv!}aLO4Kh z{@Yw?RHe*GOL=G}!6x9*{LcHr=WDIN+kNe;#c8qK{G1+&1W)!G=ZWj#siKyX#>|i< z2=!d)Nwt&ro#|&1w^qfbn)@$86x6v|tuF^5 zZ&c(j*f}+%)c#T-KcR@%^^}K9#5S}>INr@}cXq&RN!Agv@SwY6WT#{9cC5+PTAfNc znnz#b4u%TIuCG<ES{j;zq$$r9mXotf0?GNY>k^wDFIKcl$3zNY zR?KBo=kzy9Xj#NmG#=FP8&=d?UT1DOO+o@5h^WqUgq5iSK z61)hm$B=UA7=o*Ar{D-Ek_`nrbyFL}pS<9}6TwlR%aGuSi?`|Y=ymo`A zg!G=YKAxE2Q?f*Zimi{@>wj?+ivH*jp5x9>-}|n%sjz5?z?pN%yz*LB_HXKP2fzMy}g+}Rg$@Fnc^8<6ug+jEGy&k zcFyCAx(&629%oDA*D3t<#TW0+pB2AHB)?myD?->S`hY6MY%2^U9ZwP=YC=wmy!=p+ z7P;U1DK5(>!$3b~}b+S;_KVqX}nDEWumG&oJ_9>RcddnZsQr8@`m#`R3djdayq%4YA-LyD8Ax^jM*iEzgYRnJnBnd_rKgE9L^yG{n9*d`tXpJXCf+n!)TFgVe$u*!2UxvDmTMMfp^APSdyKC%7O8FX zb@9b5t_!+uA2)`%I^=Z%`FH~oQA-M(6cjz`}22+sf}iE z`YkfIqZzg>vMrmWuTz8FxUj2TJ>ug>9rZm=x-15eFm&lzap&TtfoeM!v?k<&wW&-q z!NL^>|@!#`r>vQ55>EyC4R)G_P(x8V7TAO0LP1i<3*NHV+4j$qO!7 zYyt5%C88EkRfe`Y9|xjp2sq@KPS_2+LHM%(ZU$3KNzMqB-DFcF)Q)27*;o=U84#@e z&`KbK4v#6wha>$++z9fpc3=^%AIdY)!x)-qyfvnTy9LiFkwpr5*eTl}-qW&m>4e`m zkTE9x{A(;-HfG0qR%xXZ>aQGNEr0%=UaFs+MOcS?Z85JlVtapOt&&xF;kJzR0SJmR z=Y=**-0r*GR&9%9UxpZj%lPL;SR~K^2YpY?>U~!Y0kD(#BYRbJhKO#WoNHCz zfqFy?lq=}*fsy0E&9y2FmTj1NRA0}OMxL?i)cZV5KsI;b!A8s5gOzWvyL{}@;eJP$ z!mpgMEyMR*k?=DF&*h_rPoofX{O;U-_Fa zE3RFKtnwQW%U;zR(1Wwb2be2qOM6XX^{1wzM!dGcaHMKmVUF({Qv8}V!XteBjlWfc z;1tnQJhvN-!W1c{N}2?QKqS}5*porkyg!p;vttR1R3=N#JuOdDxi$t7C5f+I65cj! z?0n$HudxlB{^ndl;yMsTorpw=o`bPd#<4?WF829N$FJ6B@RlwM?_a;31eX_+1yi8M zUroKL%~8LF)>o`e$%o9bCFHG6XVMdqqQ}e3R73;4eAE9x#>wQ%^3Qj%tx_+3FG
&$_vhyjT5z+E3;+rz;4=9{5*}YkmpGu_Pl|(5W}92aTzo?ZG$uRJNyt_ zbWMh^p!`|s%h|#@&Y>LnD9Xuzp_6${D%Zu}q&gNyKh@}p6O`R@+YhldW^l9=vl2zO zp09;QMo_$#G0k|K6}p1npZPrI9x?50TA4YQ$6?w(+gLKP7hTGdS61z+8LtP6C{*z` zeF*ifoKI%vq)aC1R`uMCED%AjF##dW=yY3ZeD=-$L{8p9G|M!n5StS-EL5SBx(H%+nr<+VsT1vMaoupe~gKf4)c@&KeyAm_Cyy-CV1yj?--B zkTZ+z(|feM`68wlKpE}ixE#REO2)ZlEa+-#6|j8?HT-hRKkqm&X$GahGB4rJdmCD7Eo=j*)kM`;Y*K@B z#F~U8K39Dz`~z~KmjJ}IDh{9c{RMf~L*J}Au=7zNYm@%#h&;FRk>5b(5f=ncMOKt= z<8dJN<(}(Tdo8GXWr7p3Dr8c8)cVQNxpJ~eJJ_`x8x;die0#iPkm$Y&);e0MdIN+b zzWf6DOAMi(xA(_GJ=|c1u!?Nxk9(sM|Vv`uv#K$=2v4lj+{4CeK1r9!3dFR(1lUNnIpK-EC7Hh1w?eoUF_nu@m6 zf;1Ji0Gk6sd;d;1`L>red4g)%Ea&_eo6~P))uBd}H9=IrI;GbTpJPD7GSAwU^_OLU z6h{Jt-VB;EFZ1?N!bb;z+i+N>TKzS%y)1;mBUL4>NY70uJep&Z{8Bo5jIa*;N~`A1 zT0)eIW}y# z&N$#3i!QcD#w|r&yulw~pA5YXvlef8amup7jjJ|SR+4?I3yvJqeLd$^19bvoEJQVx zXT^i2#rc-oP4ddIh|REXMv{t6d5Yj`dKLz{V(SaS&%vo<8G1w)|}BuGYVgI1W& z+5;B3xF&62k@8eOKE~{QGnscLj@rdhN2pFhy1M4mA0t~`8SUjKy*xhSZpNe~Cv8@Q z$dXs>lUq(L#F3D+tGgMIhjF$_V@Y19FO(N|S7}UIn9bV{{|IWzStS-u5YbJQ;I(>x z343Gbw{L!a;S;^9*~B0bU1>`jX@5KxyD3#o78<~kwMf>#^yY`i?AaR&t;&_*)f`3u zL>Msk%uJ5^*a3xZP+p06u751c)-!zP7fNm|oS6*F*MY|rnlwmBoD6OHH*ekNu?#7-GaR71Lp6qA~YlROw6rwLy*4ETK~nL zZm%ooGIUZ3^wo1w2ZQ;{?=+yYDc=5R)t?%!&x2&VPxL}94^>|Yc4)%^Vi0FQwh@8D z`m>cK!{0IB)?A&_a_gZ6uZEw*U(LnLd&k_wC{QJ&i73Y89bP4%tc^hSams{y#mnVL zRm!D}cSjgsYCp;3Z_D!d)guGU!D?gqT*43B9UZo9X3JieKTCXkFS_wd$Cdf;GRv_X z_9finW(*!dW*jR0-VO-FoKm>}lR9uV%Y`6S!o|@`kk9q;X)eas9sU#>(8?1^yi;-x zd7T86oZRi*T+euMr|RLkaORfrt4Ime<0v-851EVs!p5^~-wL3JGW8}_jNky)^*>U2500aoWd z`8Yk-$u2OF3st32Pa4W+IQBC^nSY`uIWD4r&f3Rbde!bXR%TV{i{E2q44%a|Qf==6 zi`N76#g&^=x?R96K0Mu-6n^sVZtd=`*;dk;8u2u=v!u6n;aHbJLs+{jkP2%|ux#fg zjIzdFfTXsx6C#|Q84!tt^Kjycv?bDzmg5*;@N{A60sL*jbEiKj5DZWEJ6fv%nBIbTp0@We;>>&LX6?=#Bp_pDZp6xI(} ztsJQ5r-hKK2`C?a@FA45m3&XawcO4Ja)arDG&4$7BxZdb_igM${#QIdC%k_jDi#Ro zemZwMTG-zabo1iRz2Rvs16xlyKkF6yUhsUn_4RFZJ_B`L!@z*_Cnc6Wc_cMV6YW}e zJ)Gb(kjcXLR$d1Q*8Yp}EQP2f+amdQL;cUI=gM7(R&i**zdI?1=HJdAB z028O;M%!)EU~&hvTgN|~`VB%E^#n6j#Wl{ zW^HmF)YtE?XvYHS+*fS`^h-eXVh6dK{16e|uWa4Z^^8S_R=JyGQ#O~`Zv@W99mt{U z>uAdIqS>)x+3!p6%w!T2dvO7Szbdr9;8=$pvUJkxB^f!Gz99;*>$RQ-S7GgJC46=w zo`K$}*Ft~uVOPVX_{{ptoK?-m)I;c}_Y2;^N&U8RCc7h_>+oo>7%DC8*QqIi?EPr_ zR&6w@C-pcl6Q$tSQMFS`$sl$=6bg`cU)LxeVa%TAHi%7gL;}Bi&5PmCdsg1}$6rp4 z-JX>RO?9)Fdubi3vQvF^fTsvgcJrzZv|eiFa9!c5eG?d0u)Xkl7aY`&la^oWkOSnB zD7mkDi+Q(R5Z*U)3!UA0JK_#=Cmg{EQ>O)HGyO)3R*y+l8ZAoFqBUL|HL3afMnx~; zBU6@#f^$;_N!;Y**X-;xDs9b^AD2=({SPykwKLu6q-XFbnyC_`mWtN8?Tlf+EJb}C zpkG&cJg8z92h%xc2dhA$@}vjy^no7h#QH-J5QT5Gf2fgBa*ToJQLY~ea$!`R;Z&O{ zlH5V2R;Q1~uL0?QR2h2~?VAdE->7*-6*0JTs$t zQaY&+2jI$zB&Nce1W$*a^f6rbd&^SnkNSS8A&(>Q*#{>tLOnLMn;4VQ4%OY^Uz*39 zg?x_nD&~$56&T z>^dkNtPgDN(RhuaAZVzpao0+tFj{1+SSJ5i#{ILAMabv|C|T5Tod$OBmopbqamcLa zOt1olkpIKVz^987y2XG#1^^xwb#MN#hYdFM!S)wtMI|~DOvFU z5D>BqnLYfz@ejnjcrRAeI+f?foo`J5F?L|53U;|RI!IIMbSdy?JQbv@U7Zz2JMe83 zTq3^843E=Fqx>#1ahQkX>+9x#J0qCbKu)MZa(6uS`JknvKV$2<5KGhh2$VJVHXGkJ zj&SR?aVwVEyX=d)ZKU#SmhUWLxtjg*21ARR9YHpI$vna822zNth8#eJtchxNQ!Gs+ z>@tvwX$)zAY6=-Eic|O1N84=*2++ljQ0zU&`aC5CaH(4z%c`g%CKsW!&OhrTw39_( zY=bgP$4e&sh1>Nn-d@(sJk0QCmDYd%SsdBV#G>b#xG1Gw2oc&@ls-+S-eLUA`!TBq z4FetTb@_~_nd=AN-i{sntl5t$s;VGKHI}uwlE;600aVo_)$k`T+LY^>Y%XxlE&Jt1hBL0mM+v85v382+=X<`--Ac`{1hQ#lNH7cU(>o< zDt~7ly{PBE9B1BI6vpbqbY=Ig2>8fLkbYyO7vpmM{YMy(){UVo&l2%mMPG56NX#sd~6h{1OZcC=O^Q8 z*93+9wsnD5e&o48F7wi>FB45Zg!DWt$rti8K(f@h!Axm_39b~a#!i8JOwV5`T;Do^V~RMK8qaOm2%{aIvAQM@%XyWj zrgH+q?lgA7-7+@gAlrAxQ3>p%jK5L!TV*>NcWZ(MU8se1c&Ive7rkh#6ziLRv#~hU zj7FnS$H$A;wzjBOUFh=P319f)i)8#Y?Rte0;N-Gd?s#I#gtbztXO7Zc!^~f1td`@} zj&+nfVSB^*naKwrd2d7PvGl8`dSWrD7O;X0du(Dq&AR`c_9L7;T5j#kZEw#=w!WX+ zMaV40irG^tJfk~c+Y*eqa_$DonWrcIR%G0HgKcV>X7+GsUc;VYGKw!9h%C7&YidB) zRoLJi7v57PuY0g&#f?qPeo&L=0-1*zZoBQpQ@`7w)Bk^IEEoQm=CC-XE*XAUM3dI zRd95rX5g5y73Y;SIpOKFd;5n7(Do}o{!CXHwGN5NcI2&b1G30bNxt~G#JGe6xyy7; z&rP#RpD9{Z&U9Atg5g1_UL0hzFTZC>x^{jm;=PuP>?I|M8nJ4?q!qv%;iSvXB78?e zMfRbnjvO1@!ti7-sd!C;?m`jvT)4nrM52XO)k`2hDPuI~M_~90Uinb7o4K-*wZm$F z7nT=ktPq->vJJ0uP}d1Pjhb0pfaxM?r8r+G1R_~pqG@OYI~WjFFyqF&ajAWcnzqOM zUiSi5nNez!4;jj1e<}AJDdmr+^OHrM$y?vCD{NZ za-{lkg3q+zGbRJTmUG_KUP_ZW7*aGa27$dW2)rqIS3-_M6Ftb#-1LZwRc^PN6H0w! z?|#U=58xf9=-T3xR!}hh`!b+tt_i)H@|VW4O-qr!{=F-@P!#b%g{`nBvFVjABex!6 zJhFnW279EYRdx=&rn-${&jAEg$4#y3U3)OwX?brJ*xE^^0}^+$*gL4pKGeHqEq1pv zg@yqYQ(7rQj|24E@cMQv_Wg{y(hj!3S76b9xO61?W4|W6%88=T4P!gP(vKeNSiRrb zbx>?<4Sg2ST z#}sGlyF}^Rh;3!a5YtW^l(cvuU>Ix;O%!{Z;CmO;tIDVP`TQq6eZyzS_8%@{y>d3} zFZBWwV0oL=fI_2Jk<&Snh$Tx?@QN432$S~;Z~4VUi#k~pl0I0=AT)zk1AX~f^;XX% zYjq#LyzEWLc&DKGpLb_yB*33Th(D>BV&dR8ZRRU$ksID#EJ{2V?Nal#`pj6!JPXov zQ&d^+Hz4ohd{+nwDud7NW9>DON>*mWbZ7VV6TxGv32Zmyb*{sx#quRtlPeQ$OdgJ| zG${-uz4(1p_;~~XIR@4xQ0AK`81g}4T{ltfavmLBtF0HIdlj+bY#|}0BsNw1V#vBs zz9`>r9Pe$X_RuiKhw3;4MP^K9OeA!?@Wy4cqlJZ%?s>D9n)e725t>K;=bBnG+>81- zSQXiPL1Tl7m{0ro9jk1eFGhBCPMSBe;1+#`|~|N-bihvpWQ0-6Q)=;eQhn(-3C{@myk_qk*Jc*U%O>- zUb4P}+R85~+=qV9pn1bv)ugAX^q+54>Qc_ISoFnM^o>xiO}DTo7d<%+v2svDDJm;7 zHK(yijn3d&WYC7Cv6u?MS~LE)5n3|+uR;7jt+Gf4q7iiX8QQP{-c38BoSbi;4dT90N1H3jV0cKm5Jk;{C8%*btC;0Z2mHEJWMp3IH97A*HRB&+ z|3nJTfncnJ=d9PiY0n$_DVILXf6|1(LYwMQG)B=oe=;4(Nua=yppixMj< zE9uXlcmKB$yZ&krh;cP+-y$_pv3{tk^RG?UN1JXD3Gg^|&|xct3ezOG`R1Do+=ktgr zI#~(8uDcdIJw4rl7AT~R14Sbr~|KPCvO7q{F5Pe(Yw59A@;0ocL=FuV3qbheg`qt))TjLrNs+qLGyHj{&eMrt}b zr?u~N&yVWc@4=ZU14SwYAG|JX`l85(;}nGF_Bexrg5;9fzcn8;g=gOHnTND}{MQ`F z{dBn0`YaVwdw=+1A0{I!+r4#49%c5DD(ZPGu6uGM30IiN-70p=&2F*a*>7>s(sH#q zHe1WlbGl6L4@E^qM8TaW8^h1sPX_69Ff_04eJQ;5-a{ae3*t95b2eYTd|5g7gqeLy zJuWu558D_{I_)JiAgeokm9e}_j`P4(5C#ZFx9PT;3K=juy7wg^OY$tQ*Fwzi7A0T$ z`JF2!VOf3OMg^!Yep)y4FnXo4N~nELjvo(D2ie!N;rkaeeN zH^!4NWAMQY&4mZlUk%m;5+;1~Cd{ZX`eCr(td(XhrPg6As}v}#=L|TmfYh@HQw#Lm zbs3Bvw<&w)&2C)jC>w}ZF1F0d?F_P1yY()cJ;B#V*<+0SP!bXaDmK{sLlSqlX3*)9xaTIS1l}m-8T(lt!m_jpNIu7hMb$3RqIt`2c)C9Ym!FDQ zZ{C7&d@q%Wr#gE=c#~9vG+TswtPQ5@$MYC~1pLE&+^!j-I_4!v@|*D7_gl~PZK-imy3RcF#D`(@DX3wEt$$3s)n(~In1@7!>F z_6jScsI(O9>M5xtEiaGU!3hE;wSA*5=s7YM7nekC<+8GxnzyjQT~2fDsfae`CF#|@ z@7o`nc7NvfT^DTK;>PJ{XlTwBS%!0}sy;l_Lm&V$++Q3DbOmFQvV&gN!xq=-CKS!g zXe})*;}a4pZ5R1JMG#G_)dU+ER@aWVEvD9V1Z%(kYc+mBSp-yZx%a|;3&1|frxN(x ze;j+6h!3C9xB&qsGl%W-t$c7VGFRkH15m~tkW(L&kMc19a=o!w`T$3lbWCAbgTYj) zue0oySiQLE$NC%Y!(z56#r4yw{-W44+wQ4tMTbJ4M;|?rpxjD$=CeiTg{TYk-*tmO zr+9@94XqUL2?&%G6@Tv@US%t)B@~yprAkqF1Ok(t-E1T|@X~xN{d@oVYOE})jJwat z-@%sKgJxhUWjp}~X!CZjdi;a?(aOEApQI#GwD1jmL53^IYdZNCE7x0@{Z-6mEhnGz z6*9-d@R3k9V;&vdIE&tZCffw>&&a@UmvsRRM0hr4d=S)}GoKeOV5XS@dX!i)oR7g*tTZ%MvE2SvXQC0XcdEVso-|P1kgNFDdh~+^1b=xZ=pG0!ZH-OMDDapb~6)}OtFOSQ0b?rUmBGr0bYQnJb3>HSR8==L(0`2f_S{T9=w z_u7!`pPtylOtbVp^;(T(e5CZPRS$n?${=I(VzPYs$n5*(wb1H@KGA!aKn8Ibs3R{-|^+#?khi!R(~&65Y<#}FHE<7#0BHE zFCgA;aM8Ny$Mocxz_%ud!Hf|naKd3@(fyzNGjeAi*roa@s{jMXK$i;@;4fPHsWDVp zlDGwRUshEElxs3wfr;VdZx;l9=H)7@xwln13-xxwOy5l~W{ykE^ZTC0E0=mm zr+rxN>W+Lo@%{A+!bc~EE$sNGMQk(op{lwXpc&($gmxFV_a%DGiMzX2s%pKQAm9YC zpgVhBUS5e#ec9Z&WojQoLHhHL4i4|Fr%R}qn2HBYwogw^=$VQiOKrGG0bIZ!V$Yg7 zJuJ~Cjh{7OH#TS&)z_y09x&=#W<67eK_N&4<zJ%SDpENV=oIR;cH8>aTTz5^~~4Ygp!Tcp2T@mv|-PikVVpT{gyIs z!Cy6mi=TSynAcdeKqr%RV{d)&ZuO7m^7eU9?Z{nKY9lax&SxScZ`De7r0Shn_m)9h zK?26Noeww4m|Sl9u5+vT)v*nGzi!$_voG#1UG7y?ahe}I4z_kc&qG603Qz%enC7{- z+kWlL$-uj4cBjpez^{N%E{smd`Zv|O%+istOru<1E}i$sR;J%iuY*PuwbFK`7RQax ziL81<>(L@(uN4F<#}CU23s=Vd9yn6-dlA*y+OFPSUtbGe|BZ`JOay8lgKo<{{VEDV zy}MJzJFt2-gyAH%XgBF67S-Z$>JAXBs|_~4LEv%nqN2|Xe6MMMv5?4BYP&m;?OMH& zK0(A5?3gT4*_o@R3qZzPE3IELp0Ba=KI%kC2MFy)8|UfF$2;@3>rGPO`!khKQDlPv z;<)eRC26*K^NkDN+Iah-6ELp;xJN4>kVYjQd<1Y0cJMr>zUK}N0Fy&k&OD3GuK^Zo z-tqMr@aCVsHaf)Baq*guf1HhfBi!x4EwjJ-}Tu#bbol{@%5$Jy)Hh*wDvQIKB;FKEKRk zNcW8hFiq=PIQ`7$)Q;(}^zxk0Fr*3~E7#sGEbVQ-3EP|V6nPp%EuRz}4x z=G$M=2+NZbz=8|L%Z)Y(0r#R0tqd!^q)bFt#I7CPRPo96?#JA(YOg}DUWf3plY0LR z*!ULsbqa7s4Owd^wE<32aRRq?WqI(xT8k2^?``hiD~n1D%Cq#9Rme+wdF@Zp6p^s~{ECVgVEE(G)8zn8tEE+W-s%EZcio%q1Y%lX z8J)fa9sxlPgb|=C61fw!V0-?I2nrz*C?^9etJ(d{c_CzIr87W>>+#)Un{U8scZkV; zBpI7t6J7yy@O?iS;;VL=^ z8LL8jnglkp#2XE5{L8jcdewlSE6iK%Yo6?@w|^WFbw6hyLX!Fu9nQL=152_hIatt9 zH99(swsLoL#TRdeW9*mJ%PdoBxA{VvA1v*_AGjY9b!=s>+}>!Dmhi_PZd-^4W2^?g zmS2hFS&|;O^#zcrg1K0R|4q+NMF)6keU;Cx>*iQS+R+lnxM0BW#@f7fISrl_$un>y zxqz#EFTO^F)0Vt?neHIGyj`B1NDlQCD1#p#$~ibZY_ini0St-bW{UX<09J7Gu8bXO|EJ;uxpD_gRlG!E~CQ9EcDge&_n5TTa>Zje;YIbGO zskeQ?_`RjpwDl-~C?GPasHh-z05PEPYArm4-RL9rraEw54u~Yd^8+O=Nn0Wj~I%y_5?Z^ZcBsnwboh<_EedE4}1U? z3LbSJqSOjY!fq@i5$eTP3Ab*fFCk}Re;RJ^*i5--o0%f7oSX7jTe=lc5<`2?*iq&)SrccNBx#871G-mr<+zQfhr65 z_urjpNSaT(E&V~vK_w?-NsGkIAax{=YD~TUa6RD}^U4i04&V_nvAg+%`@}Mg(QO)% zZx+sk{04xvEZT?d;Bas(pWgJ3Lcj3XD38bY{)_-UY!quCne1EEn}qm5Mb0Uw>uU0X zho@$U|7m5^$XufWcJwr}R8A&cw!h4>w(s7d z&~@ETggDIcVoRDLGu2Hl*A&7Yl?55Mq8%sRLHiOHacs2j>y(p_HysLrPmhz&$?rR; zDVw9ncD7q#c*U*N^u7+vO%^K*>{{!E2dGX@qv&liW3xASZON8ejy?J)$ttCE0$YT9 z{gfQzCO?IO-<4vji{7{K>NAheLM7fFPkxY8+Mcgvy1%{b-*C*PM@!Amw$v8nHLjjpD;H(P zECqC(rB*K!ErMpZL!iRV2@;=i0m4@>Y`^dDvfk=JD!}I+83N(fqIB__iR_zi_2Svt z*#U@gHiYr%Kl%B}z)nqU*JsBbK#Byc_V3W0UpYC~KMKjSS;3X8p)YIrEfP|QNr|B; ziBirKYR|&)%0FM8X%1aq=jtx_>f-ePuUDNdwEr5xxVJ8-siOO+(rxI_AkI8sz zWL3xo4{3To>|90N1~V?r$i%HtRJ5^@CmG+!eSG?o_+l!$40@%j>1NVc>r>RXJJt$h zr@DSkD8v2!&;2Uw?Ggjt$33 zkJHU7&Q*KfCBAR7GFL$617uBn)HM47i*$f+0IYH98liXZ0%YQ7E6qkzX`u=k{9O9Q z!#mE7t3iauM98o@Fru+|GZQ1@)u4heE~R#6e06rv}o_`qxTNdUS&-5QR=gAHh4yU5VvE?ynp&ndoIon87~ zYw=_V3ljLV?y-r<)$)omR>v>rkE)2TZ4xF{Egn@Za@7>Sui z%EXtY+mqgT#jZP@VYqsuZ*25s()7uFUH&kh zfMZmPVx{Lno>g!n2tq${UuSu1D|MY=|iiwpTjqLIIfAGh&*3m>+o9tdJXkwo9?+d?uB;; z=Gsq(_6U@(Bl7{)s?&=olHx)xts3Fv7*Cj%76DM~wh_6z{$f|n#hmZAYkosFiqd%b zv`_QA?^TgL*XmnCCnIX3Ww1BKLS4V1iD-Nz(u8|!yLg71b(CFX^x`24dPOwG0A-*w zwHOfUWD}XQ3kzLxqnwn=DDbCdIl+vnyr*@>v}&|Dz=>MlG3LO&5jP^Ql7 zbs(2CQMO4DE-H#v_TBBDJ?yl;0*ofi!L|>}rcq@1D!sx;gGln*`pvXopJ~W9KF=0| zH7AC%p{hz&5m#0nz&ITJsd-RZ`Px-BkUS6hA*T1ekj}EgoQ6n~yjCr-NVF|;=u~B7 z?RCeka%AaXG~m<-&+x*oJv1;km{B0l?pA(oZEao293CGZpZj*rcOyZ=5m3|KoAhDO z%BK(XMUrY&8Y5jUdD&GfB%mS(%>aI@Kap z2x9q+>>I^)qsNQ-_Kloy)*QR#HeLHpBwg1z({z_F1kC7rMJfni z2WAMk;iA5ntuPXA>DX$USGoM#-E;x;ImTD0f{2h&lhe3R67X*V8k7HTF92aE(&==G zmiXhtedEIo{B{1RXX~-uJkJ?h3josgn*m@`c}2Et>*Tt~KrU+_zOF4~mQ z7x^SWQ+mZHhGaO&s$R zxjfy>Au;n->VDcU+Q!*9hu7725|(4b7-~N?ND;e;mU|PgxO?xnQm*yQ zh+G{BhX^T2@x26-+k2;C1OJq|6qfl5uGU1J>J$Cirn;2x*`_!vO?9w=9o7* zdszc-Z$I4LJ!ElwU@v*ju?@d=KcXK`=i71`OW7EKw}@n_gnRXC+Umqazrc=g>&GxAIU5u7Bs81}n)*bb=V54fV+(q$rLoa>-0?$m@Mr)(XQEmp(q^2yefWS2J}1y zkDj^NvA3*YA(YP!Up$v1yJF<)w{KYPhTgDxqmN%Pz6mSerIz$X;K=jFlza;bpA}S3 z`^b!IbZ1C+=iNfUVW)0r=T8##0ml~2siPUJZ#~0U%AM2Dh5B7{@^97}wxmG)HP=yB z;)en1w||p}vg{G`)AMTF?P#|wemGqZxm6_#+>K1h1ZJ@55gU}W4%?1y z=_K@pf*cYLzisyI?aEJDaRHbgu&|(e1`x5iN{;*c`_+||uj%Pz=|WxvK*EoTh9;({ zs8~FmkeP|i#>OU{r+jsNO+`b4G&MCvkR9+Tw-X@XMw}$s>cy*@o53q9E5(Z=)_qfC zh^skO?9$C2i6ZoJCz2_dn3*Ni)bJxdy&D=HrureRt=BoJcf{)XWt3b={>U|9Wq28K zG=Jgf-B4YYw%}t@?k!(?mSJBsf?$qhnr`jyU|ceF#| zU}@)Wdyc!p(CNgnaP;?!#+`c!GU=u2nt?$o^Z&!!dq7o{ZQG(7QIZ4!2_k|5qLL)% zpopLdNZjNMf@H}#NEQJ>k)ULWn=DD9f`CYtoIwQ1L4sudSXR|}b^mYow|3ua?a}H~ z9gwy6+H=i0MjyTRF>GG9_}bO7^x9>*1WW%&4?9OAU|CWu+QF&vN_R=^?{GB(TO;-X ztDC{~zrLzJJ(-ly;yJrbsjtkeG9DAR-!g5n1MF{}T?^%6y%~*-`q9ec-3bf!vd(~P zMIq0zrXe?FY?%vF(+th*N0-(&CRhY{=bIPin5176o>#CZrK|0y@b@nqo4whs{j5*4 z?Y9{^3QJh*+_J~jWko@hON8Q-eFmxacMPXf9J%NC$Y6}Qasc@;m3rWJSw`aI{H8v` z&hV=C94Bdr0U_7Kb8qio74sHS3JWF8zj)Fx5YR>I-*dXG(}ZhaqMzEupV3o{Y4^~8 zVt@DklLtO+QKd#389Ob9{Ue?go zc2-YMFT0>X8VL7qy}egr+j`!cbv;T}*VBtgNT3lE5n+T{6z9(P-H^jW&#)&^Ol0_{ zPMu2WF@N#$rGJu`2Y=O@sqKQ=mRoq4Q0cNiZTq-Z|NHmvg|dIGuNPr_ zWjJE*!1>cxA>tEot+m@2PGV{PQaAQZKSF!ogCYG^r2GM9qo+XDRq#RkOh)-u;<;tk zJD$-rZn4|*YHMj-AHsxB@97CiTb&n7g$mUBsHUSUd3(*?Xfm zZ$(tgu&lQy+HfZLKKz~+J1F2NDj$|+kNuo^Dma~QciNmtjyWZz&zF2bSG`0$C6|@LxYg^sF{R9qa^3Nw2H1;W3BPqCn^#$Z{-Fx+Refz3>qc^v?@iyibPT=C1~?+ zqoe4Q@$-mZUw;`=w51^Mwm!QtIY*t2Wa&nr>M5p2TC0&C)^wWRRy-@Ts1{Lfv~e8g z$}5o`Du@`NtL-^mj2CC0eoExw0G#r&O6%-XWKYJ8iSF(^`Pkd5%jFY&HYnGGa$503 z&;H%dB}Gk-S+|B=e8XdPg=gm@jK;*2{jM=rPX$eIAKok=v(P>GYQlV1u)%pgT2ts9+9$v7omsuO^pt!-i&kv1yu@4J?l`pxU8hkcD_ec_X!SB?&$F6RP*~V# z>Z4!Cvu76NRkDSHGrJozUs_wS6sc^0o<=c5efb{YAWw>;U06`i3^gTGOQ?9c0rO?1 z9MxwKWw%yFsUR4CX>aEZ)*h_Jh~Y@0)U>oLxN7tA2$ggC(tgS2s50>Ko`)?WoAIrn zfn`e8@3xYX(wk&fQ5g-Ks1#-EhV-@AsWAPes;r#DcN*foM9TPf47J;}AvjyPXLS`! zb%e~=G5ieGindQ?UVQRVf9U0qO%vrsd%P-r{m$(itc_L+LYu~2wWpb#>1QIii}yVG z8Z`+QCS!E+#bPbYJI&7|C9OUaN~f4B%1!S)T2TvD)!?H&U7JHdVQCnXl0i}&v@{<< zp$RDU~N98-U(hG)c1*R*@V*NrEI(KOXLFLj6bs zzf=Cfy05f+;*uh#$2*>5K}_?BHQT2nV_iiJ!_Vas7}CX?cP8nSRV~@{?_ed7$wewp zwWRmQ@qE2-+h>v(jp3R8BGg8&WQe7FXrD&eNzCB+Vd!E>J?n!$VR9RN-H_ymeFhqn z1Bt4Mojs{(6R55U8>6j-p7O~4GcR@4E$!K#EfS$=e=s)v4z^tH?1~8?c9Aj+#0rh4 zIlcFljpa?AkRv**#Dej7)A!qV;>$O^G$W2e%Us>HX1JmmB!9&5x8qA(!dyg=p-hxX zSLtS-7Wx!6B&(^@|10D*mUWUYV2-n%}UpOz{3VQyu6C<^Hj~rKII&7E4Dx$DK zQEfBkmHr{xg-~Y4c6?WdOF(FPX%e$OT_7v9UHk3Ko>Az;cOGS?Q$fMyD*?6nZFLD< z6{~WU+FFHrwQQ@0W9M^J38L-=Eu(7qp*6S3qcyPV9yV^ogAN!R~=kx`1;9^qj&ZYbKp07{r zxn+xzJk-+vAi*FPffqwdzm^~1FGra19#7jF6NGt*=g_Q^V?(h1>SM3k^9FA0pzVAS znbqklw|y(lQ$5?Zrm?FPxBS_|{+PiEGEn*9U-0S?$ug)KeQd;VabK~5N|2t@hk zG<*ceZ+?woot~NThht_m`!z-b4(Dq&&8LrhGY#R}I00Kan)_`zg^9`@zu+T;!TE{G~2L= z8^zXMJl!te2g)8&0tbyVed7gAeYa!|6Li8@$}Z|?aiRM}L|E94#h!$yq+_*er`eq| z+_<#rdc4W1Zm?FBv5I>%7@S+Yt%$&eO4F2=dkP^PdwWvsI*C%@&A;Q%Plp`&^fQPL zyHk9AsWN7F{jRZ6|IUy#2P9ChP`;rjr8rPz(Zx+YJ!sa#A-+^hUocR1Uezg6PfuAY z;7ck`+_~l6x|d<+^zrp-C&^)NeC9b}4Q#*y#PRt(&sg5XFfoeZ;LEvTnF#icm|dU7 zL>jfF(&l_p0w&W~W975shs=}n0Yn}woK70Q=ZUY!xrLpYyj0K}dX-=qxH2-uB1O3;!E zW;?JDpR8gm)_AU0>wZO0kXrfis6urx;f1FTKRd68iCuE9rQ_h>z#}HMd2$G}BLg)d z&hDNj-2+2WOc>QoEuy?vvRC0BdwctH=gxJTd-g0Tc|`hM=HxslolXk0`j@X?pGv0Q zN*4F(2EUquja$pFt*rp%9I3~TZzwA(+cgpil;#pFFAu-(UT{=oiRnO}FW;^;w5{?u zuwDqq729b3O)*r2ITd3;t}15YYEW}_^}_i6nq9n9fcl!s_p&wCqMa7*K678FmGo-$ zLoeI5IV7%6*dwKDQJuQ@WYBihjAZeIj$c3BKxg`!-Xw>dOvfJ|Bn*yz_p<)h|L|g9 zy~d|CaW#%BZL{-(lve&u?%AR@m?HPR+1SzAv3+Ah3M%c_wJuVDYBn|;sx19#H?!Ck z-U|AG>&*~${qFu!;YBeUPU_1svZNO;hQVn{$STw*J_Qb$&p>x@InFC?I$pbW4LOF@ z&MPHVbr7`z0s^M=Pxh$*?qQ{H7_b0*1CEh>ZhL$CF3`Q+$9rZdC-u9C5NUwGyBjzB zf`f6vU=;ucGBV@l=Ufsu1q7%7j5pK!9Qpw%bXi=S?$-FFgMmW*NQsj}a^;-!;K7g> z8yj2S8MU1OEs9#inGGyn!P>U96mJA<%d=?@z~Z<5SbUHod+QZ9W`!Ajlm?wpPrrpzfVw) zxs;UDX^2D-;8}B64sy1z2lTPX02WqeUo*O z&&e^mV{mNf0g>(s*ZgXWB6Y%@tlm$fqZb9n?C!jbLBnnbR`5Ct%Tqb#JF2Rx!8Ihp zl9u`xpO)817f{{5e;<#8WUbpYLGD&eb6@V8vwSV)r+N3Qs!uypiN;#!1)oL}^^+tB zvlLY&%pKo0nfc1-jDJ)zwksoCzm&`_?UUk&=>@+niF$T3=tk1v_3@MFs2> z&!CKwcA2Aub=q1Q>{{)7pZNA|y9X zJ{eV%!MNOEVko&9DCq}KF|D-p{Os&(c6RnHQ`4)EtotbdN+SiF^6+5?qg4hN*S>uD za_jEhyYDwa{w=;n9CgXS0A3FH%4a70HaQMhfL{b9N;({?fS*SbA)w}?=xkWDHK4%A z@Yh$`(plWwm;e5Tp}OJYvyi{PmI<&~|M__dD?>iovc!qe>MC%mEYKh+FBhS z9q2%=PD6upTGG|EGXKr(L433ZEX$v-C|yJ3hWHsN!wk8HAEp-S6;?QrBk!=sUiAOg1xoJjRjmWzMH#>@XbbrLv!sipkIP0Z znTurQ%V_`|GwZJYai^`zh0M=w1*<^fBFLd<9Gb;E_haoLBDeD@x4jXe|aUk zZg_8h=Y>({y)*m!52~_F|MO5ER^>G;zC2Q64^l(DaK0b;a7W$gcG!PbfX+$Nz^S-z z=*A}5-yf={tSQr2V_awqpGW$-)$r+m)~AGr)-my)>y~9>iK=Wme#=-|e{lcLZ`}F! zY8bsF!2C4U>ACsQzCVYG$kkLkkUinfKlkPQnc1(Ob(Gb*SnHq57jZNU|2}?FQqF-C z|Js;>^TPiu`G4K9Re2Al5*riOk9xES@m@@Spr*oX9-4VjD09r){j|#}u%P_Ubr+PL z1P+)iNjtu3?~~fy-!FIfuGJ%nk?jv<|K|?U%8g=g{qs!;>%X7-fA9*c>+5#f0{(wic3BP*D+G=- z=As9e|8wX6<&3_wiTKY39F_zC1%*z^;F9(DD;pV>n1-${5?}%bmg`EhXOgR@ed=P`Ib=A$6tpQN)!JXe?B1?5yo0zNarJ$mkX$U-< zos)B0S{es&ex=5sas06WvNb>@*JvI;H>3@M-| z%v*lN&XOU=Os#Ra#9=O|S+yC|5T(q$U#*5}I4jEib2xy{Rt^`scH-Fet)$7fma8=l9d@ zh9M>zHl50IZfc+6ge}R9>UJFahDByFy zew8(O^e7E1gD+Z5x|g;qT{jpUg)c#M+;O!PUJEj8OU8rPbJWy$GBPqK->|T=5R#)} zVgj+SVRks^k;s;rpEuv!2UrU7>@%><42!M+`C{kfWNohvTj&Z|XiC3@l7#|>LK2@06!Ckx-M?(Xh>Y;0^as@ED-zoq-w1r8|KDTd7_$>F&5Y-dzf4t+lf z^a*P++H`Y0Y8fTd;JXH(I@x>w28V8yNnIryW!MISrNQ@eO3@_=mdqP~id>TDa2oql z@HL(Rm*LAj+CxO~u&x-#0W<>YDIEV(^+!7wx7@{`{3h`KGy-`mInA*{P!aO`u3{TU%S92;f%tfXj(fQ&WL^wCa15s1OXrI|CEb zY0%OHUDq$eOH9ws1_lJ2CcMCX+R)Gt(B)^K!JpQ79WX$}h_VACR~j5{I6R=XcboHa z#>)+TaJYuVh_Nxd>)T;LBzcKS9tLlaX|L-2he1ZUmu_p{&@It1yP-DVPsuww8MVj`QGn@dC(qlku?ibkqk zZW7Z98gN+y_X%oS8YE02T46^#ve45g*!0FuW7kn|N}4|UVMoEq2?@bNIgRf^=?xqz zHVQE^LbjRy`4blv^87ik%O>U~RP(_k^vL;tn+T0jQHFY%AA5R8#oV`UL4*UO{Q}g| zP^nWOm}2~5_w8KoD+O`T=piFEjQ7!gd|^uIHZdcV6xq4C4PX?+>T_CYYir}d zMH2)zEN+@`Ux2djMSOfHko&6Y>WrM6-9~f}4B*;npd|6mp1lJpYybBeNqWyvZu$KT zWe2ws$yCls-MbmeU~@k^>2o3`DJh90BFv0a>#Ticb@dEX;8M^63IUp3Hh)RqiR^V@ zkGZ0*u65n7t1+@%)+42qzx%<@ZnwK`2%a*8;qf}yvF_(bPE1c39QmA{aje?fS|w%W zrzIsN(wpUX9gO8}oF_O>MWvmX1(g)Aa@3HI_cp*|We9dEYHkxeIp&vp4>cYh&GwyC zU@)u@e2}Q{<3~Vuw_=^jVmehOMGyP3zXYVM!Hvkc}HPj5;0z#*r!gdgQFcu4@iyz$9O30SLZUd zspaM8&<%JAaK}C9*&~rS^c@-+k~U0){Nm{;3cea7?LZ%93Y1mDrfswKz^~rI^z##Z zN*GnYefu^ZA>n68ad!J#kCEgAM!?$K6(-oHX{&8OBS7M%?1hJK#;3Zmv$I;X9TXU7 z2tk6f_xsFDvE?8~&Ec=M^^J|&ckc#%!03B>*Y(p;7!_CcQzeYTjyUIYxPc3o2ZO1d z5VRa94Y?=p7hjdkh-o!3GNp)0oVxBf{uwMjdB?*Esw{y$=Da?8r%#{0eDfv=cRXQ1 zLBVxaR(~|cy1xWc8-AHqI50%~no3M$p??5OOAF)m>)HK=8V*RxK{U$M)m1=5zO5$Q z6`IsiblDeA>oSpP64p(8i!HDld<`e2(S$p-q=Zc0bK^{@mi5bnujahp!F}5d3=gE6 zNJ#A|xw(tE6)*pSR+dyT2N1aDYler1Kit8_AYBDuPDVIl-ztaiY8W)q`~##!NNDIM z8G5hNwR(}IrKQXsoj_4c0|$-rg;jNOrE1PfawmXR0vQbr>en~*iPL*RAfNNIGcq#= z8B#=DDt;VD!HTJp0H^^gV6ZfhkF-0%0g8m=X*FI&0ZLD2XXo6LL@fsR_*oC>!4t-N zaP=Y$%`;%8%l7%J*pbc>Vmi?fAnhdCD2+j|o2&knqsnp!M#Jp<{3c&4>?!z+wsm_r zbaZq;ncJv(TX%px8>l32P?#Xa8vgha^`dQ7ew7tSR8mH118_aT_b=`-QHy)J23xTr zSl;O&z&B9pz|c8Y;73700U3GD4HBX%OH5NKW_DpA6lgqBgtwPY_j~!0e6@0hc+6=~ z7v<{%7UD{9dG){tfE2=}Uq=g>(yH_=@P!Bn{djWxTjDvbP)Td5GATRukX`!QVV*fMtL-X<}l+nivxu9j)bcr4n`$>{2v6COg{~gRu-- zQpfaDx|~`wS5s4i^dhWg8kC zE~Db1MQYWZyc~n<>8+grwOhT|Ljo0r)M#Y2mAqiJ#l^)b1x^-N}vm_77Y0o-T!PWc9hex23QBgY2-&{xqecdsql?5_T~fT2nOSo74B6ck|kavRwS z#u!=1>Sjxi&gs6dVk@#(Ebz_udW)R3kPzY5$~nNLmm)PK%^!*+v(etjh~W4=bYdyK$00N=kl)`rlP{klM9P;GUJ0qk)L}bED3g?6r47LJ9;3 z^MvCI3vbr{^`7wW5ntU?p?`n(zrmyYkL&6GyB9F50QT=4=m8i@VI64SQ-AELzxzce#r)$e~@X83RZ?v1L3^-vL3e0)4*FE~Sr z4L+UH<_-SO4Ti{{!a$H1H7fh(`aYtfhJVqNtp8%e9Ni4cprx}w@9ICFz=^TuUqnO< ze4J+y5z;z3v;aa9mdSQO3t(hq#0J=?+t2pb-eq7Y;rW~I6qfz}?8ARvSV_D1UoZS$ z7>=q#4nGqp^>gGm!EEEA{NO(y1{<4Iq&1lDUSsL#J-(OQyxgx@Zh77*yJEuq zEWlcut=Qyb+ojAX3cy5j#=M@pc5KkB(-KKv;q+d(KZ;R?)BDhsnlR|m&j$($2na?^ zL0#}yF2AeJTimM)@CL!husrWKA^uGl)*mlM^M_v)APy$JWWnnN4JSjDPZ&{CIax{E z^?KJ7-iAP2kG%b5a&hhAv@I|K@||7AmdUvo%*N!&F%|fnKS84iQmAMP;G-0^wZo8f zY|c9Z14DrtZshPA6wL1oDLrdZbKHORIrS8wKp=HY8P2=e{*kK3U)aAfb_d`5gyHkr zcMP-1fPo250jqg>dRh&!Sjbvivm<2=SbR@Is6^Zrh-?GgG~^9!fv(IX&tLZe`+x5c zn3QsL6)d+JJ_SO6wgBc1z^u38UNlhK!L|mg6C&NhhnY`%&F8$ctO+#JDHK4-DJT*l z*MLBV>H3qSn?RLVjZnfy(>4t3camfxGaTP(knWXdp4zOv8du9g9$6C=t}C;Y zdm-W-495|8U+kuT<5A()&u33MT8>p>Du2$hiGJXqy02-m$<4pU`sr=Irt3!i-n~{O z0j*%Z>Ik$!Yw(95x2=)vq@oNUpX3sF@n15_OG3jWe4O=Rv*g<>`Dd|DHj_^b0K!y4 zt2DCjP)I9k5b>pFL>KuDpm+-j55J2>Q~Fljnk{aj1ATMM*XMXM8GvY7c=_@OKU5cE z-UlnLzsFs`^y7<-ON>G}uZ|(Q`yby+omaKnG1L}F%Mefm&2t@ZI(h*Z${+$F@`J2o zZ;Lt_de9mHM10ZIc} zmkskxh{fP*lRiq%}fWAWs91%T2^Z z1fAmob2Ij};-9QY3(f=07y{?H-tPQ zDC&_ebc7K?ani>^IW&zl)B~tC;G|a6)C~QZ^#1-l4jq4QkrZhX12<4-0H{}!_7LfLx%|Z z&qk#DD|t)&>zmUARwJ6v1G(zvXIWcHBDIMHkX=5ytGu-nV{GYpBjVk zxDX*2V)fixU%zqcfE)&400;3)fz<|So<@pr!0yn^Uu53HFb3oYa3FVqO|z+9;g^f& zJ_E*pW~i;614)Mj3YT#wDkQc5$6^SJKU8K(`w!}t&ai~6{Ki`y>RJV@9OQ)3?-=2pbL4+Rlj92rWmIoHt$grgD~9Rz#U2pWRp z_^oN+kOjj;5+)|5j|QB))rqisc7L_q}0wz$rhr_o--sifIFyCawS> z2!+X|a*3+Pfq+QEE<#&euAFa$PQNS)Y4j`=`Q!?x<(by|_L!k^`0jq!P_g zj?d~y6rloM9b57Dr39c>5wmDaObp`MM)f%{iULIjjjeXjDPjm^v7pBe8#tl>pFH{X z<34iSLGKKSjKoD*jg;bRYHGUvh>`&wDAKn6h!SP@{WHGjcE372UcdT!3Gu`AJD`>@ zFf-$z)^}$j8+&?+SzXQo)i!Qm;FLH||06(iMr`BP+$r;I^-K~%`_CQ^aT&4{{TU8%$h`8T4#wj%$P<%(nj=8$vfuX0-Rd@H+C~qa~59hzI ze!ILGUEbQ1Y{LmllEq=+549e0P!mQ1x^7BFlwv>2~<=$VP^CGSj4EIBZ5R zI0M;@@4Lj$g8M0K@huVtAPiIUJR(#`5`FBg02?fVPK?0T*7gw2JuO=``E$t0KyV`7 z_#%(rHbAA5!*~ln9S*3zZfj}LxNpt-0qu)FT45^#+61T1u_ti)D1{KF=Ns0I~U{=ss*$gsdV26>h@ih3*pq!2Wsa@mBg+#e0GtCGo z7!ncD3|kXnT|kI{IYf-?>>YRLHs0=Y~U3a%bsuq!xBN&13i z`^}q+K;cd;E)t*+8kElM2PtrGxWC67NFY467+Yq6yaPVv&)=J~8iDIU;tAsSzi3m5 z1&K=9-CY>G9w?Ok2U-|L@ToiX4lIym0mqre+#fcT(>Pmelk@;*Q3cQ2Vqd?;QCC;r zG@FIi4aAoQj3;7t1~mzV0?HD?mEFLI3}9)oDS;`c9~&Z`DFZa?O?9mPxq2-9GX)e2 z*D?GC8gXf@Kc6k0)ZaUOrLOy;92mB~YBBZ+Pfb6rI~SVAj&;3||NAY;t7(kmc3r2h zqNbAYWu;`Qrr}3lF+xS=9{IY}l%b)aL#2<&rM8KEfpk&M;XN4z2?sjA!;@|z`g}a7 za7cFv2p4EH4s1hY+Le}d?-i!9u6Q1^7qPLpz*219ngL4DsF)gtN&rpM2(s8YGP0)- zcEWOlwQW9}0mEUwcwHKft?aa`fI#v(Hn1|cvwE?zml{+dTtOB@xKwygHg#7bH&<8Q zglpgdg674K5Lvjq4|nIBqcpYkTgK&8R&3S|ijRveyN+$J$n$)Xw z+dfbd(eUCS7A1(4#Sq3f9bH^pfV#u1VfnTU=$$@u2H6W#96Fp2MS%22=pw*skO4N$ z3OSn%pjuC#1v&z=W;k7I4Q#+!>%I(1;*C2qar*P1N zq=Ei;56pf`jRdmJ$Q{M&5K&#jU!}nWq}Qy@8t|4M<4(RJU9Hr~Yv%aN<9H`h*4CE8^Ty$ZCYtv<_?m zBd8Gvzt?1BWeH#y#psU`D7+taC56MuLDVmxQKZ0DPfJT%WfxXJ530;(nEHiejX2z+ ze6Y-zm@pl$og5>~8uYE-wz6V_Znm4WBF=;mL=l!6ilIj^#0LgmUFP5*2BLIsqfmGR zdfP*Q6+^go;PKd?AA-}oJB9gY>^&x=A8!ND2BU-oJy5AU66Nqj5FQtZ9A8N#s_3&W zB#uv>6w^pK^*fJXQ&CZY3F%hhpv#wo;txmTS|C3Fjtkz~a}1PD=kl4Oq@cK+k7g7S zx&RavGm@hb%rtj?B>t_aMe;r&L4kb~>LOkmBFdY3gdjO=PJ)TY?q{M4vV9Oh3xO0M z1hbdYpuhIOs*baAk#uXbwVZL)HOr?`M&<8sh?; zOAwxMNazq;{vB?+1#Wl>`1z?RgVVUU2u4Kvdje~{dF zQl&f)1+Z|0*TFM7eVXvh9uj6C6>Ie-uVQa%S*ojm_J~l3xuoIJ#!l`~e422_?{UO#JIy+e zL__PCbb9enm->OXm4%PW;P>J(eXacR)&keEvNBlQ#iH#mCMD7>+F8A~Sz`DTCZd)A zT`$^DYYYqiFB8s#WwLt^X#RZtANrOatLK};!9cXZ{u*F7K#()KR`CxR5wffldj_3P zgb8pfjQPj{nR`I~@|MaB*;_RRQzpN9Bi-xEC zP~wOeqE>q^G7SKqoY`Q!$_YB}R~DI_Sb&~gVn%pAT`H5>x7OnU{JpbkqgD8@D$Y4= zxVp*QrqAv|HZ9S^CL0|Gnn7vU;7q*h?{x!atvliuX<~=m7cZGBE4c54;o7=Y%qMy!H`D z3l}E`Wbx){)OfswzvA45kTzO%1BHrJX@TNPJnS*V&P(Nzm{>5Cr@(NqJw?InJ zW}I9mbF7+#>thSr#GtM+N+Y~YEGG)OK^8b_={;cjG$^h|q&Y4>4YqQ;n8jeZhGVPB z=Rs{T_n5+;-k5fMkfDr8jnQBWQf0B;8X+Ii^{G;2DZ_gWkPRdvx7rT&JB5QF_-N`% zH$E;m;iZ{2yJo1SBFwF-eEs~~OmClMKuAb-bx|ud8saU~5i*{hHSB0x^${(c0_B{M znh4!ld{@3T#(Bcm74n^Zu~**j-(0RdJj=hW8!Aq`<0UC0)i>TplC}5{LofFSP((|s zu|Pl5cOfGD>DxzpODBR9Pp|ra>Nelo9=)R4$V>QO@n(g0(SV&tz+M2qZku0B(F$10 zg%dl|B<0h4G?tBvH3-4$dR(!tab%ZvJaiXyYWLcS!#Id4una@V+pKRO@k6}n9}K_8 z^c0Mg8b~V#y>Y6?TOAI8`c9gGi}4>;O|j&b;Zm*kd?LA zEOB|A+>pCmhDum%eiA&$8>A*BmH5u^BV)j&ZEV)`9&=KDzPwH@n(%OM$Hi@T2hFbD{(z~p>0e8Q>hlez`80Vsx%rv7#WdpdDCma6gsvjfcNu^u&)9>vfSHDE^_`m zG3Us8wo!YwYpW6)weCHw(Ef{dxM0-}=+{c1kPtqFR?Pi8XhBUdAFO*KvtkrF9}#0r z4WKaaIDGb4s|^MN(TBEyLNo>`tPx=mkBDfcWLw!-E1y!tdHEygi3oY5Ef8E_OoUB$ zh4Wk{zQq2LODb8FX}^y`XUcO^4bJQ(` zca5fVP<1K;-U2eaF*sB@R@2KpZ4rgB{^VE$gynT;WxJiDnpRYF4oF;N0dsmL}EM)|(rr3n|RJReb^%EE_h+`t_$ z!_t0DwF7_UJYFHybp5Rvn-uBv9-UN>^VwfRk)fobV(h&_V4YidT(0>Z=vOckqytn3 zEt?a{QWOfPg)g0*%}_O^D(5IFDfMLN4ntMueYCBPScQ$-1E zS!wd;X`DYlth3 z0NzRRO>zYk9)wVbAgI#b!9gU|)T9Hb$QRMk-^}-ctcisF@sy&XZk&9Esx)r_?o<)< zkwl`x;C!L?w(JqtOX$UmtALQrq1I3zXm=OWpD=hMK&3(dXjPwR)G(iDo7HMjeTA2h z6FfiuU{5L^D#MgbUPL;Ya@8=LKrw=bYXqMfLN$0CM4?2=^QLqR3TjC)q<+_L!CuwX zKRMapU2tLxu~l55A$k9#!sTa=QvdIh7X6nd(J#*7JvjAL!mo&tH1M*NU(we`*ftc~ zzA2X{cQot@Ri9ue*FzWx(C2SoSI$L0b?qzpl3RL<=`uAbp5e9YFAU1BT&b6^7mpRW zLx#=FL***oIsIkqLz~&^CAm4iwXOro^BO)~ZEY%gdP$;mk-s)K^IPVs5-cqXYA=Mj zb>^8(P(3YZn;Q}mla@N5APxxc{I=2j_3PKGw{P=s={*&<7yIA8 zHhc8Q0{X5XqN#w=r(ci?M!RgA@v6t**!bGo+Vd^rL4U1>3)H;m=&i%eE>D0umDpRm7u=! z-krv6`uy1(ZnSEn`Qp|4aMyzomqgB!lBN=064sa;vmLKelTYC7fgk1#($LZAO&6~K zBa{QjBNr?~EH`fS0B0HV;>G3r!p_Taz;xxjX4ghn7Q!-E!?oaFRR^kb*8T&OH_XTf zhk8?GWuz>Bn}>&|4D4roHe;0yHzWbaAj=5qkRwc(InK01y=rlhO~Get=T;G#5%Fqw zp-DZewIZpL^EJuzA3it>a%fIU%E!ellVkbOK_Yzo;@roctXa!qnB^H(TiFyZkI0sE z5PlYb&3(-TN~(Ed5Ye;9$UzuX+n0I=x2dJ&f$;C2(h3R@=t8}G=-thRAdl{k*pr-& z5LxX8zaz468JU^6VAFt^lCd!LvDae7!zB5UX+p$E7dNf)Q2NYrhl(Q5ZG;do?TR_RGRcsUp#RLML z?|%dF%=YTFYv9V9_y&cwHLDa1z`sIVJ7Lf29!M$l}X2#0HqY}LZld=|IT(`QkbWrrmmt_W@o^p4! z)c&5pXqBCEsAxh|uLJ?xBw~8;JmBdyephKrZcu=Mxhjp96D~&4KK#ceknr%Z4Qk?~0Z^=&uF! zaHPUEndve70DTTUQ3od`6N;jFU~6UX-|w+3tYyyGa(5G@L!w9h;jgfF-$*QgEl*m7 zTP4WK^xSBo0@2|$aOB(2NxKLfkWklqV%3P+jVk=u<$kpt7OI1pUn~hMBf++_uWJ*s z@^Y_xT#d=;-nbO(mAoU%GP%ewc_UEbcsJdmFWc}8HRQ=b03LkK%NiM3S(YHeB#5{a zFs&tD1j2oBApZ^M7w(zJ`u1%^BhhJcu%k1AJlOO2Sl%so##5#Q;fLNRSPqA}vMh)O1YM zHiudB+g;^jV%Fl8*Ti53Q5BLEw!{wvI}UQVLB3OZq+y!Op)n4Rh@)aOALJDXU5)$P zCXg(n-@$ITfG%OJ5B3?56}Q@Xx{w7Oh~-D2Qua^33#K@1^Sp6v?r(Bcy1a*oPy4>G zKwk7aGPTv%c9?3Y3DNHxduX0_mEhGH4nc)3dHLEzPV1&p2M-$h9q$9641zJR#$IoPOuwFI*QrzlHZ6}S2WB&(Ir+>wX}6b$Re(i~ zdgqXP9_b<`y1*?J-B+M1asB#v7wKNyT-ecaqlLGHrG*iW>wHoJ{252XMzH2Rr-twRsz!Q!FLFyz2 zWN8W;Dq7k+*lQZ}%;3)S3a1rPhBI3G?wdm_d@@i2?nNV-nA3dsZI=nREFhh-K)}rf zZ(+M}OH-4k*F*5xA~A7^1_^gS+RMtzL&DR|*xGU&2cslK9r5NQ92Q+L1Hooig6TRo zb$gGjCu%f7J}c8(0|mGMj;+V`Io2CDfICRqt^$iYk`Tqf&6=xUUsq7QDhx9+)hfp9 zA5iFBNKw_4A6%gjg0cO2E{8l6T$vV4s^5n$YLEUlJoOIfp~BfrnlFdrs_OBxnR_0P ztHx|9Cjt?-&L=pD4 zy8kB3ds-TE7o~$cy}`!TE*xo7F^X}~ymv1|E%iLCJE)7Zb8}iTvaql1tH;6DQuGw^ zKn4t=ft1b)Oa>;k&aLa-F9Pn4&AH+a-kBBg3uUJJdhr&lv2C+uB%69A0)|~39co}U zRvS0fQ!zcb2Fx04&xN-^hsTHUG#4*oAmTp;(%oXRt`XGs<( zH8WECjEP>d5@OoVzG`;9ACZUa4;F$x~?xjqbRpLuwA-(Uti=C(i10?_!Xl9Eq> zz|IHZv1cD;n#^4V_`h&!3ZTk2_?sH?K7O6J?Lrz^g3vxvVj2b>{d^EnF~B+l3RMErMJenMdwrR~ z0^KtBh>%Q`kb?yruxah@2ZGZw=o8IS_g zVXo_Kz$(H{xrg4iA8iduoR=dzN^?QZFJxX~KIHOg-`}zOa@^t~wmEc~Voq@9vHs3V zM{x)Jq}QlF$3dmn8s5(XtbH)~=y^SR_ie!d47t(oSPLp8gGrLL``^5NoeAF77I&+{ zc|v^r4T2`Qp+^vXv;oQ$mVf-}t+4F!L&Rb3IdmvoZ6%0+|8(K!!C~4S;%yN4$;-qf z1sht+Cet!u(9CD~fUfvt;}XVkr{Lw>Nc`_0q1PXhGFke)v+f)uUh5E)zlBy+H3=VH zF3iI@nT7FNIRn))=m7}HF-b`U5E$hk%x2;c(Yyl{Z=rnDMg>6EHXxowXh!LU>U}%5 z{_rjgr5yy^Kw^0SB8Nty5F=xH`_1)Eb(qwdSi)^-{SrdP1l%#z%sl^1a5V56x+P0$aW2I_@Q zpp!wVA&A6W;QD$Q!PJiVi7%)Rax40y!H@@D{JAfl-2yQWA%p0B3J{ayJP<@M>eHur zB1iF4AH4@Zf^&YU;K|O5CROA3qc^e_Jz^q;C+HN1)+FaIrrrNVV~k+;oc^EbX~`sD zW9ftPxDXP`gJ{4A{VAV@Z)!!*ORTE-sr3Vs>^RqcfpuNr#D}jyoV9Dqph~2;a3Kc( zx`wepKYHi4-*B+%{@q}q2>g%j;+`!YSCCi)52{`s_myl`x;FqRclaNWQhD%Gr^UYe zke)%}jz;G3jDzZdfMyWPa^Sv~z&G=2Un~Q}@d3-@GCIAV>0p4+DlrM|FGnmoSe9Z_ z@bER!ffOiI|J8Nk)I%*^#OdGKJ-~p8Ydu9a;i#DD3v@9mrY~w6s>+ zj-g>;?^jhzp$u}MVY$c=`v8F90PrtrIy!j(7%ZTkL=sS0#NLz}G$NUrn9M^mEm$9_ z6Ly?W0f`5xl%i#QK2@lfsg)LjL0}Q~Wo$v^cLD?yLAiq7R@2akFT^Tkq=g!8@#-#FfV4qB9l;+V)7ZSN-7x*jYXjHTqJ(}G6n07 zwWmMfr z_-GMKHl}nS^e zHLoOc+LI;E6Q1bn(eC;x=q`8+eMjy)!)6F$k*`;)g)jpU!jLl$Yq$t*yXRAd>~3Te~pAJsv1;qUrrb;o|d zd7+iHC0p;Fs!*4QL-n{jOfu#L5d;d}C5T%$Hygd-EFd-qxB&$~KWa10;d~G+AqdUG zarg$^2C9JE`t!Bb*XmE|-hJcDgTJ_Cai}<*fswHv_>0>0hO?#->0tSAhXIWg^z?-= zTEcbQ?H&u!8${7S^PV z+EmL!(?M~jTzncN32l(Mpo6S;@_460Hj&W>;BpUW%?OOce4np7SbfQ~y*jQ9C%Ol! zrM_G>R?Dxlng}KWhr?o&3|&;)>^JB%s@XSK8GbJV4S^*HUjfKPlOFw5q`VL+*S49B zY&h`I?;!nqfo?j$`}vt(3ph;kkkYoI!T_am*lAp>JO4?_ghuRb`>_cPncY^r-o}wxMYuP4qh`$L0Y!r~#abS8;9Y1;UtJ ztMndV832{t@KhWRRw^E_tmL}@-;)Et`)fx>KbW&}p_TQ1hKqN2SQzFT0hRs^&hE~V zS$$(#txViww9V_$iudY$@i`H5?s2o3Pdm3b->c8Xw|pDE-0{3g$K`!pyt_rSxowrc zhQ_>8MPrG3M*O+f-wIKW-tOeqL1AEzjX@4S(31nDiuzd(lMB{63;I)GOYFnkmOrT} zSzH&gq@ulj31W-RcZcM`cZ9*ocU z?weivmM1q>tRuf2H&*EAN_qJvQC>SQ_j?JROFb3AF^|7lH<;u&E?UFc>xbpt6t|u0 z^ff&qgyDQj06l6WPGGPV)BvpnO_)1Si8z^k21<>!lxwi>tv-+GO;OP?0uQ;5W=|PC zY>S|HSt9mkHW&D*AKkAr4rz1k(t95suP&X&=xDN~%DJD(ZuD{WZ_cqn1v3)t$Unt9 zZG8WJXg{_1_3K|Oc5VKj=B_>-%50B6$wbPI4Y#(C)>~_K(~7&~CAGDh!U{7i6WWbh zwHNE9A~lM%db8o9y0wY%GGj=jkjY#s8@+gGvfOS%ZKOs*26^dzpLs^@{rm3ybkAQi z=Q+_+sDA%E+Z>9;SsUV+=$&5%a_U%-}1?`7YN%Nh3S zpLjEzFex3hV2Av3V2@eKW?FK!wU)!O=bzDB_4-7zu$AfZoc7A7g85ckGa>q(zcFGJ z3QiS`6?kY8Vd0NFeYvCAZBM!Ftpd;A8(w#Gm$jd|>=!$0-Ipb~o#B;~HJN=-~E)78wn!7hfc$|Ld|>zlFVSTxozm!MeZmi~*bZ9q8uR1wJEuEGyaUoLvB3{1EDb^%a#JnUbxvsh}_j1ZiZCPBR zEbic~epy|y_qLPW#=8nb7bc0G-I(ml&B}d#+zQ)-2xcN_Sb3l4*XKW#mi65|0!hg{ z4oj$VaQThI;^7I)Y1y{t<-tQ;_H6~3#(iBwat+3qyvug*w^yev>#SQJSVay0kP_OL z9#s99H}kH{b5a)1n{c}#CnS^pCDPl?j)hHCj#B=)X!+8XpUhv|hThR#*A%HwbkKKu zTyeRUaIbk}#{TIJvpKvy!&juAvpy(y3Zl7rjAFK(6xGyU6^S(JcPzYGcS-tLj zgY~8Ezg`vfe7>1(U%&hkn1j$Qf-ScygQZ=zV;6X(6DM7?zT3MoNaV)E5f64`WMtXo zgO{yuwzw|+Zk182ZYqCgskc=d8gug1P>B;gdlew=f|9*_^_~8g^m~mw0J0xgqES)Zcf1B zW!5dd(FpQpgOg2rlD^6d_wKyvvUZIRjVRaA@|i{u9miL5rxW7qhyHdLrIEsP z%!PtBSVAfes;Vb&r1X`SDlu*+x)CT_N3Qs9?(gJM?USI1(-M8dByo%d7S%>KHSrkD*w zI{{BsfA4^1_SEcuhcs?Z#A{U9w_xJOgSE8PUMIkkRv?ui-ditMmm z5!ce3R+%gQ5c7_z3s0y}SBTm^PnBMYmlqZfnZ)WL-)<%d^`DrlS9)a_ktQOgl%&nfmuD+j_EKt6bunZ^a zicK=KoHW%KEtUxYXSnO9`&Z}Zuf?ejiOt7Uk<%7a9eDrm<4>6_a~|E@9|uJhn0YE7 z`}*AvpZv%NE>qcgU;z&C_uM_Fd<~1n|Kbw|=4aj7weH}xfV4&383efXV+E(ZbjvY# z6=vcv#^|=K)If!4Rnyo|Iwb(YtpVcPKD$E7xERuYkq>jqh#3Pv&5Pif_G(fRhxp(z zL;@7U_KJu+@XuD?UQ;jI+Ef!$1S$*xi||Fv6a<_Zw^pu6n-r&3}1&{+XiY}!gdY#1rFi+Q0Bm~LBO?^ zhdo>nZ^YRmJ!Mr+@v28fk2Nk7fh*9SJ^=u`&F*Et`3tj#b{tZAg{os!sa)1WnC-Zo}U(ps?gjn4tVyAhdnEmV+zzgt3j- zDUo&hJ4XKF)za->a!E@KMiqieq*u6sQ3qqO2wF^ifKrrlYs>8ozGh~sZD64eodpa0 zdWH@qC&N3{`-l;>YQ>`iestwJ%(VRfk#+yY+A`r)(u=9R_R+pey)Aji5NXlxy7Ga! zsjS#UN#X%kb(A0Vk~pUYP!Eeh89YOP5aS;BD*+I`Vw}$QAh}1Jo0`;{+N^#(?;s=z zClEa(NBFey+;JYvNz8fQ&MAQ#DlzcE(#fjnRs*mLMxSA3)?Ia(nls{@y!Pn~Po@bI z$F10K(zuuFx&UwsiJ!Kld;9aDHcvdeMD?uPexxi(g1!j(dtntK#!aT3ENAWwBZqAA=b;YqB4_2z{zKpT{nnj<|LcDu**>KhuzW9=ArDKiJ)}Or9CaA^`tWV6$oMDHi z`>(LHESc{-UC}CcR_DM@dy{yB)tQJP9)N9yRNWM5`-wTq-S2;=10;+*Hq_*HRM5>DV$DGe8^Kg@fQW)51I0&CA3v?`g*T?rQA_m?} Y)BbRi$&0?RYveOA*SM`NS{1nO-=u21r2qf` literal 0 HcmV?d00001 diff --git a/docs/.resources/red-console.png b/docs/.resources/red-console.png new file mode 100644 index 0000000000000000000000000000000000000000..fdfcfc68e0ec621aafe39acc764eb0ed3b4f7f54 GIT binary patch literal 58023 zcmeFYcTkgE*DfAJ5k*Bsq)Aah1O%jaP>~XP?@f{3dku)FNQcmSZwVbjr~ySlx|GmK zM0zNZ4hex1ectE$-shb2&7Aq>%>2$DzZr(PA-VTnW$(4Fb?vpoHPjTYU!}ha006E7 z6<=xr02j#sfD5$b#NU83y=`&;fCT`2`CP|0b93G=GkW>FXXnW6W2eRI+61A{#9nYk zx7Ig3t@!f1mv=ZH^rvXOh{QcI(lERYzRS_K4RthMWH*0r8?V$K#}_6xgpC#G9(dZH zCUzut1lpe5+Yya*UrFCMo0|m9PkLny&mDp8fm<&Srv?BT5_!i-{ye??exL8Jhv<0P zKMx(l}tPN+LBBIgJ?(AnY?dFt37V{~S`^5Le=**-AF_}DUPx4p{a2FbT5y6(%}Uft+9 ze%bR&U%J@BL++{?m)R{p8LGTf6sxOUW3*tL{JB%|bUoo7{8ta{ab*nX;8@bYCTVZH zo|(L#aSP-6C0mm)P)V3n6YZv{M}|?5ZLBDL&_;{t7whm~!gUU=>X)VpD2WI@DPW*) zn0PziKfafzf8g}v-KCo^^)f8C#4GC#TP1OHH}6fOlztpGvH@3zrZ*}>nW&_7-WBHa z`PeQ{?qDp)+SpTNyE; z9)1I;g%tO}K)VWbCEng5C1?7FZa0SBtFU6zEA@rX?)R460QErH9**B4=~!0Hm^b%& z&;~A)HC`?AEcr}-x)NsO_SENKYx?AanXg~HJ)ABtmXb{gd^O3TqKV4+iq1E{+iL~^ z7s%OelN$O4?K^HsZ^T86j}->ju#j0uUouwJz|zNq3)>HQblMbF$*K>xFi4ws6Pdr* z813t~%bpJb^e6#}VKDZ$8u$6)iiQtf>J06@B2isU_6c!=X>x|EJ`tUs%Z-StdS!SMyaGfsu& z&-U7bY`~e*vpRo#E8i>-B_y=Gt5^1V%p3D%fCTXI)z%f3I|iubj?gi^wfBWDs3kB3 zsQ5hM)T}`68KmYFpm?xBqz#j>r*Tzav+B8`)|tKi{LFV%lDAtmhZk=;vXZ&8_)U7Y z)gS5u)nIEvNnxJ>Pd_j?B<>T`f6Cwn9X1<=oX?)O2iyajKo|oGY8XfXM8{uYnNqyA z^c}irZSRvW%jp?iEIBDnl=-a^H7_er+-viEKkaik$$ILUCqvtHK*uGbmKUkQL+;Jy z-p6hyvg)>$&U7a&{&X#4?>t=-Rb`kcr1OR})r=koek-1L4 zSB8D{ba`gI?lRj9#UFZ^0ygy0m>3JslDrs0jVrHh?(_31nn6epN=iK{N3f$-1 zM-p+}#*5YvJR}^#Ojlqx)?(NDF!F*{Rn{d)&LyZ>s>0)#8kt4I-0rM_Yast3=d9qA zKHq-3x!TowLX752;zDSE+0Q}!qF7<6X_HIKNkf|xQ{m=x)ii*pH!!he*lN*c>!DzP z4CxoShVT%|WNz&@^Z7G1Zpzuhv^O`Zv#Tiy(KKQ-=NsAZArpu!JMYO`L$f~i{O1_B3+C07T^a?STw#o&piz;`* ztS|n0dO6=bec8*tx=W}Wz9{G=07dQ0z5ba!_sy2SB>5n#rIGA6C~=^_n)+W&!w)C$=k*uvidx^RuB#+{D!NGKmG!n6?2(y-2e;L^|g9@xcg&APN2Ikgde_;J}MxeSJ z#SDOc`c~Ot>Vqod(U;I=_bae=p1NIqok7>d|N8!CD#9K8)7G;YkVdDfc@@a8CFg!( z`Gilo9xq^{Zl=)^=09e+MQ1y)P5IXAO#oNO>|!!&mITdI%Z(_ANJW4GrKZWw-e?n6 z=+!rTanrvc(MxN z!x?R6L~|I>IH&_AsELbC-x^(c6+FafTrnYl5COFjKdj~F+=qTCH?Vl#_DeoA5F#FoQ;I3=ELU>?-}wFGLc*&?;P0 z(5EQw;aD`&?)U9KCnl$Pl|cJx>*QUto(C}I;$Rm4;Jgahi|A|+@BvRB{`6Wc?_ev134udaKNou&JNDeL4_ zk$9WmQ;VHJ#*96GLb#89Q^?0eM%XFb@$j)v)C@do=VN{jUDq|j=WABcm;^e*3T!G! z(6Fs*x?1VF-fy8+CpCjk?C(MRP6lBp0eu6kirZmZMjdw;EFdc&a*?lE<(LYK`q`Z*1YwMt5fQj2 zQjnS_lbYu!%4`YcvsV$4HHXhk*^DC$xy^zND$b3#$&L-2w$@`^nV6$)4-trvl7s3m zE@QGjvfchO@C`?4=rR^W(-lN-u$k~#mku);={C6l)aT+x)uVP$?lmF;D?;gthbWi zfihBH+9d0uL3GPSi~|T4x-@Q7>wv8MzWJo;kwY&P$kRN`8#CQdITTa_3}_1}lW=k4 z>-h*VtE&D$q3s_mkWu6JrP~^|$u8l8Tv&L8EnBc7Ib4|Yx8$VDZvcChC=XQW9?QRg!TFS9km^q(ojigG{ z|H^*dRLMSt_ddh>jOU)r;IpMIyJkfQ5*(Mg#&qx9lpG>usHLjXA^x{sTvSwf=rb*urinSVW zAqo9#UOubc#walr1m^aUsqa><`&%tCgEKMTeadGf+_jZU54RYFHrqAOIbNk2UEb*u z#lULeYb-qjVuzPLA`b^McgU=nuD+4PdkT)wd~HGpPiVT>F20J9^Db{o?oXfYz6?lt zz{j$lG!2KoEA;5mgC0a-N%e%MvYDlfTZY989~=m-o5PO@_`Esz9=g43!-XktyP#*i z<_Lb#YZg#zvr@xbRo>uY9V1e;r(wZ3Uh@)Nl3y4cGzPyP^HJ=s*sEojiT8kzG~nB} z!|;%N)8bNvXvN<6Tp#nSd)2jhJ55Yx)y80*iUUHrhSX}iT?}ZplA1xpVe#`#C#DXo zG|RxJzZE&%SqWmg+8T;m_-Y6o9RcBA(0u~NFnE*;8GyJ`s0E@a0sOUouXEFq4;>20 zfjx+{5(SZq5XZHD0@$#2t7s7E&8rKN(gsfG@>?$3EB7rO=RgMMzG|41_Mq#p?o5a} zKaF)Y>rb-_1jJ=mP>~XPC^Z)ISBpF@3!d#*k#I5CQ>q!~QGu`OZkERSD_9$&l<;IM zjbHo%t7i~~9A?3*_X`3~`z(@Ng2J|g1U!Qu!AIRf{od~x4Lw;TeY@|NLF=l+R37it z2LucAW)`y2*G2rf4rrX|467EBAR$(DhDfu7{>kg06mQU{@wCB^S^9Am^mOoVN}wMei5sa-H7 zy$8J9ujWCd7WIFRag@Kgn&)agzeu)6z6#51>$%(!<(T?EC7}>b2kD(X=CJ^Ud9a8P zD2FzFp=1Ij0+7GDy7So{Zw>Pu>-Q(>Ga>z#KGQx#S$e(0L+&SBE>kPi7q8P-k3M6u zuo|@go~jO_^yQdT%aPLHJ|MVGi2%CE{~m>xz0U7(=7-LI**9j9)IzU8>Do&Z8I{gO zC1vmgcXsx2r{O7wgEi`*fS_Lm)*;<_Q~HJJ?uTKbVOsxIN<<(fBkYS|<2{j71<|VI zO<`$(_1$<=l9VwvU|$Y8|DhVaM~}DO6+h3Fup~_4pgzrs_5|~P;%L9LPk)GmXd-3s ztl?y$F%5&T&&Mcq+s^DeH@BG_ZyI|?VcHFm8|o69f5-)E$?iPSyW<-&0#P9O0|Drk z@kw@G>}08*EfH^z5+v_9T#qqErGX>`Is*rccmh7tGY>qaB(Y9*di^8Rs{f85ywuxq z?sk;#HJHPqQd1TCSbJ>!?$?wHho|q{&g6HGRLv9E8 z19Um&poB33c@*2-@NN1Z)blvNw_h_qjuvbht7{58K(%<--zevkVV|Yhv0C>NLIO)vso-&pU?EkpO z_whVRoOj^+FmVk=A*G3=h|R~7Df^xWnfNs1kl*j3?N7$Du$27yR~r29u{;ADb}#fU zrK6=47n|qHcTs~gL4vNokwVYM7_IY$>r1#3hb@AD>#QKejLY?(2{C)aAqdZ+>bFFq zN-Ovb-*FaeP#b7Il-S4c|(tZJ(RIZw;NG^u*!`hONajuQpEn1pfxb$J^5^Bf4F~wS|M%n)Ida^GZQz|#9y>aZ=r~z z`x1JBQ)3y1XHGJddRNbg(zW_l2pwMHK`H81xqgTcEAW)<`IdGxJ>V<&G=XwW+slW1WvriB z?p8a|>sC$AOZb2K8IhAR1gg3siyD?y&4RfhsmiE;qs-@Hr#@#D(u?Lp9#MH~HsqAn z8xkQB=u@bO#+C)ljbC)f$Z3<}O)G=v`LEUeaj?t2cD^iF2R4+2v){2LCeE+c60x${ zRY)A&ftgzA%G*q0kEYwjiP07u8ubLs&ghU$S-em)l9aBOzPybYsPynp(B zRmXK6B0ANp8bFv*6DyPkqY9hAoDKi04e7Zkp$BZh;4RZq|Jb4HDsP|BUKu~RTkbDl z33D6$=360rNXLNnKEMb(cThW)))}{**AC4jDMxjePYk>IS?7?_G6UXp)f4Fn52;oQ zIBS{F23{zyd3r-A=O0-!v!vM!gH*i4wto6bmG)Tg*-z3hK;jy(7|#%bMkjQ45mg*M z_Ju?H-}5H208vW*Yh^dc96N)4&%?nrKoUg>sD1tO>)U#VLk(^zOnhsRkn2y4u}KG> z!TNghhjNPIhl7$*&G(Ol#5gJSGVFPPqbo-_Li_yI9qAW*5SL0&n}$xAf)C7~(V))} zB7T$OiL)Yw5vsFgk!AX~S8QNGAN%>v?{yplSR{&NOqnwqUa+%LL#8yD4`KvCZPp|I zsFRXQnvLqA1-HSTXVrIyCGW)@zjeL+ZI7GwVCA>Rp7s3pSn3X9cU_q95O@MD^Ky_C zp+5X~Wh`-DpZ$hLc3V~8O#2ZB`)ABAZC|!o|0tC-csQGw!0Kcss;a!3N{y(I2cpke z&kE43eozW>kq~KgROKWyaZi&nRw26)7Tp2fdz85O#keJ{ttp1+d4tqCBNDdn_0s4E*scflvDt@RONnD-DK%g`NoL(y=#e1$yDZzsGG_p6ibX((C*T-wl$84S$ zz4g2RLeQC3wU-O4k@5dAS@h9g{8K>nzmI)8oWw5lV{3~xSZAj=DBT3TdGJxqahPTt zmagp1YP+3iM^d);Hz}31e*T*LV#2M}jQE3<7^0avetVs_aYs+HzJJYWDwMd3cxp%g z^1)r;HN}7A;#W9-*@85)EmQSd;Gii%^8%lX#S?@0;3GmT^pjGJEr}Mb2ZB!DWt-^c zYdWoZ4ET3+E+GtDrG;Z$Vrm<+$AjI@PX-JtauzN)4E|Y8mT6z#vi@PVK5PBOY^5Pk z77YA;ahR9>MFIf_<7<=`^svoIEnY9cySlou3a?4^crC2tvs~nn8T!8+aO*DzNc@BS z`XB{85Fpk{H!O%)j8U15tX09zK zvAjRenkW-&peuJ%m*V9}!h1^n1u%!-eGkeQi@u#fX?ENzd%R z@t{s5VkBcr_8{uG#tPxf23w7WMT{>Dt7Ntu#?$*to0czhhh76`3if)ow*|UEq4V&->5b`(44t z)6v%)iw|zl7knau;4a8?`rgC_{n^>XIRDwEarg7_K*BY>TM>x5{@guo-UG6dsuE^) zW5M8WaXU|3Bg#~!XlGXJ2lP#~% zn^R-|VpZgLFgx2>5oi{ry~n3an1Ne#QFMsvF%O@XCJix zpra1O{{uc?B~kGH7DMcH#-cMPhHnRZlQZ}dHwI@Sw29vEuImdBalntvOU1#&FHI<2_eQ z`-0cpyD@~fecgW5+%U-k(s}`TV$&RGd>tg82F*yx0#MwCitjMaxt98E$M_IERm>N?@CWCh#}J9axf9|l1%VD zvy{+DWOXtnu7VumLBgxm(L)%K`+@li*i<2yqa)rBzV7+4BB4qc*2v>=l|~~ zJoC3VQ%|k`b3naceVeno&qtdqp-BJkqr4mJn{Or%#D!OW7rQ)FQx(?fMj_k+Gh`Wx zbhQcYHzJ7A=D)p_HxN%0l3L+h-uub8>Xg<_(XI-1u zXAcw4tWNO46QNn1QS16Nyvi8g_~9dH=85a-2iRMgPJ0zPECO{ zhLNr?&VBgbBrH8YCb2i!Cz3C3yJZkh#uwgaWj6e^Cb&i>*&LYQ8Wcyu0zX@;UuTTm zczg0DjaCsQWXfAXJQ~sF_E!}mkV-{GOxkb#h;>DYbU5Biy6o^K!yQ~WNKs-3OqF@h zJ#}hlP6RJ{ktv96OW2|{*}|N)d=`zK!*2_gIJPS+BHaXF5+nDio8`5$9hjq1cfbCd zfJ?A&MqT;QG)pez*`VxipB&Hr@yQ)t5a9taj@6M*3JdJER%`v1Pi*-Ig|NuKSJc;I z9uNPUfcIVpAaW~_CPd2FqeO+mOY{}H&(?1cN53;VDNx((CXn*WL11y1!l9mS3y`XR z<2I?*>1oeCN)x^mt%qipr)AX6rlYPx&U|KGXmxqECNu_Z+u(RHN|~|Zupgt*L*?v_ z{w?2t+ec{a-@O3LL|NSjg69UjYth@IXVC5m5CxpD-eLL# z{rD5n*-P*4|HQqbXVNzU*E{cc&Pu-@d>mp+^x%edbP6I{XvN?>4OWGJIJNr0@Q)U} zUvj>QCrr>Z8;cB`WU@GHZ?X8D{cvC^195dx3kOYpo*6jddi1op*RIwqN8yJwqCo z>v75UkyV01>s;&>qs{sCtb+X%jdRxXIfqz54DDj3CwEn4M{ZO{loOBYKs}`%9-q6D z+-a0Yi!Y7Uap%y4*k2AF%KK$+z8AY;9V^1y^WY9aL@?EoV1qz7cZ;z|?ZFI1;h`rz zj4U?9R*ojZ@=6vC>YW_ct_^rA+2`^4N3Y-ch?LjW62G2@ z@Y#y@mOJVAuN~vPoWV^S$X2tq{q{gaT&1@n+Ha3uZd=8uRu|rtIfC!Z*q9cosCVs; zgfP|^7tkM$_l>98+mE*Ddm3krrkn=N8UZo5{q$>C?=j;X%E{|i6nz1hc6xfBoC$O5 z^9YpCbLE^yZ7UO+;HffY^ZBD35wF=?eSzqv-fF+}5qM0dc-{%+T)v$#0qp{K=GvGp zqNmdPA|jDBNz>C07!>%)LC8JcY)z9ZA?GZMKX_S8CBdQS1B1ENR_We4>cDqS>3FLY zVe+dwJIzP(Wz8kEp0iNhc`tbeo1u|I#|gQE%Bm`80R<3JMk|BA0|2BX92sBX0dk8j zyURgzk{;2E;hlthj!|A!=StWohWTvDch}meTb7bpeQIy--FxQjH71mFRVf<{bIH1+ zDWj(Qplvt%RPOQ^>!sqrV>Np%mW3YQ3S+n`nsA)L%8~yJmxgb6Rb@XvG}4^s_#6oC zq>itpZS|a`=q_ZvG}mswx^j+rKRc;GopDG+13aoPj<1csM|dqIvQld;JZM7s0iN9y zY$8RvGP+k@H@|@0PNEz!M%!}Bj%E^qP1E+4DJ}8{+&Wql5{sey(sfMdeBj=f*DQNr?+=vvnMkJQI<)zX#tbgI^Y8 z64Y~o;-r_(8@8^)5W(^o?4;wgrd3RZD&c6+L%39*z%}afwV?lzbmjW3lB;S}g*k$C z`eBLvO4zX;31(fk673?+$>jYFwsw)_P6TJd3fhK%b|R`h@9HE59F1pWUf!AzI64=E zXu<{c>!y|6`+_M!k}5ti#!&j}&f3Eylx4C7?(UFO%>4LsoTr?k-r!bv zj;coF@FUuLw*Vb#7Y=_tSFd&9oNXsiNx5P9vlRW#-KjF`49=c82~T1~b_vw0--lw^ zfRpC>YG8!`y+L*EF&Ib{2tKMBq$hMldA7H^Y?T%o_KTJa5M*tI5=;1c9Fxia9@oPquefPvg3d!5Ie>n;Rzv834sNIFq} zDotV65RLT0!-MnPNN4Q!To5Y2b)(5J{wDyyli^&4J5-5FZi;GU&nko3Ys?JAH7BW0 zWU)84Dx2&kw4?E=lkd%H#1Dcg#+T#aqo-=B(dlQ2;(~2Pnmp*P!|?WCs87yTWg16{ z^I^8Af={7Pbn z;U0S_oVECN`knm;a^pFrD8t10`n}vaQ|LF{Tu8IzxXy;nsY2xn)p#oe>&lv?7Hn#P zfHIG)B?hQa1xc0%E<+%t0{gwxfM+Yay3i6O&DA0S8T*X}Nxc=FNATjJX%zCv4h3z~ zQIpv~Zv{Z-5}&(+7DKcyzIA&v_5#@s-o79HzzM5VBK}imEY9;>p(7Yrw%c=hBD~dw?Ob}y?0f5 zky!ysRUaC^<@)M*@=0@9P4N@@5?og%hrY&3Mc@wo>`6_3y^W=+;eH~0^06_tVI4A7 zuxhK(lL*oV-*5>q&%y@pfVt;{ZNdKD%|Pmchs%iy+hZkOGu&+Kjw8PUx($E68UehW zyJGU1<>aS%wZicFVv7#SL*??sa&hegPVJiVeA6x+j!s#xh~$dg+K~}XGlXyYZnTiY z!4n~lWxVn`{1T9ZQz@R!!QqE8ROd&Cu)iNv=YDZ9M292OS^3roQiluov%R3NyHw9A zrCy}H%1u(CJ`fiqgxN`L7Hl<&KWS4EZ7|M}5#XAay(E)%_FfvOUBw>RCQ;{Ja6{S; zYOg@8H}_T_wuEDhh;S;*CvNLwdnv+eT>BH%pfb3U;^_4Gm4O+Gynmqk;^Bmg_8T2sZ0e$%KmKBdaEfv zkz%UTGKT}BgHqN?ocWwdm0G>u1hdv1*HvcfK0$Q23v4H;G4-2Vx@B4qwkC8BK1$;@ zlhEU5@saw#nCv>ed5pQqO+QI6m$;TD_>QSmA!Q^PfR@(+e)~=(%FG3ESgcn*pUhu# zTA^-EpZ{UCj)3e}I#dL&f{kyra-4+KGq+w=$w{mQh*k)>T+`}o6cvifDwhiOXG@we zrIca?`X8c-Bch{`(NvSY578dCURzoU1$D&|J59NAbQ~Sao2A=SMZO|`fnfQwd9!yb zM;IOkK)oW1n|HbykcfVkwpxd_VryJn$7W#Rw%hQxqia?rujz$#=u-4i?ZO+M8)8fP zzrmU6bey=8 z)5Hi?g7&1^L9!!h-3xq+M7`F&%N9G*U zuO37a{k)Lg0jA4-Za1+?!`qdM0`R`&EgRX=lZuZb!a5(;C=7Sr0E;f@fmV#lW3v zm!VA46x1KZJfV*K#Rgu*dT>OBc_{6LQ30NP8`nvBo*?LRmMG|-zc_QD$fG5Dugp27gt)l;8HNDr!v^ z)Liw1t8R~lkd98HhphapUW;ev2=1YT{dX&PS+~Y^2g5)vC3bZrKIV%Kbq|$2_oNE; z4f{SshL{Ik2h2u$?dy=j91V43 zDomj-i_)%1DF`litCi`?3}pCeaCu8Zt`3bh=gD3loWY`Hi_)*9L)o`Wc}fb$6r{%@ zBOeOBdBZ^MW0sc;G8=<#XVdd9wr1y`kUkV4V9&KxsF3%jqF7}qwgvpWOQ&k%W%SnC zcbUt24!G0kGogC`mf;7O*zYtR{+KTxW=aAOr3ZUKN#h2(%Bu;IJ+O^XfaABltm3%< zxcAHXA1(F9S}$H$Q}QT|LQ=5G1TxYi+?8hR8TIZX$FUG)o=d~cj!=sJ_X241-OTsr zPE%!6vKx^1nGvo0ynIV0qr5vae)&=9W~(i)u{k-5WAo6QnM1GY6vTiE{j^D8bjw_s(o2C|S4)Dn7MRgkWDTpr z$E=9Bqw(|omckls)Oc1Id{x40V{y;R0VBiZFlAiF22_w?DwasW9&uk~CEx~sUW303 ztmtgd*8kvsgPJ>Y;Xe7aeNkAzWQw*K8>4xJbe8;v1dw?Puc>T^^oAoji?QuHP)`|FCyiy;#y#wEaO< zqn6f8#A*2b)f*K7MxohwHQu0FQ@GAR)$X8zy?qL$pnEuW^{o5~56)PDvV@Y@;N}48 z4Xtap-4Nyoj*M*2(afE_Uu`ZIXrurqV0UGjmk?i1`;HA313yq$Ke9y7B6SU zk0!-^B{fx*sE2-?71ajy?TT>>F7KXH2EB}(*V9E%_DlCl2xC%P>g*d^#SshA2Z1A5 zc1~8(C(rmyT_#~xdtAhd!)g8qUfI(0p-(j7pmT^@Jdi(USHa)wM~18tN>eu2|6YWr z8PD14=2`=Ur(5Cj6ZaiL6rM)2y@s>+RLF7?+*_6+lRdi=u@X3KrtbBaOYGsD^p`yI0BXX}(;YrBp6=50j`Ug}3rLi8Snm3bFp%{raT%QfX~f}4FA zUUUU#EFr>$}7$U;(Kq?vxtC^j)?DNr?TVtSl%QAh|E zjpU#tBzaevusy z`YIEJ^kbN9i9Ohmx2Aj=jn?K)bG|8eG+%1Q)9hYn-(T1m6F4t=F}aRr5atwn@M0*T zMX-4*H}T1-jCj&g+=I4=HlO4Pl)ur)h$gso*O%4iV?UbM_F2#@!K`)3=F&mHIs=Tb zU45n)qm#C~tium^+bY97al9%G9tUz)aX(sDAlQWHELFDXaA8`(!84#~7j@s2rdXuA z8V$9N-uK)i#Hgyo4X!3%Ib?;IJa~V$!AH;uTD2KR$AxS$<7-MtC?Ze6iUDX2)o;1W zomO6wb(!opwz0!6Tpq8nf8QsAB67bAlk6)ezrkq}qEXYij3buuy3`SJcy&IME&1PkdC%e~wRXHb>-zm5qZw6#?3UqMC zWG<^;J8PVKy}W26Uv{7xIbNPATa}XA)qHd{?To=VQvUJKhrJN!YtW&DiC*D^S zeAr&$ebkn0m0@*UV8*>X!I@)Kql|&fcB9)l;!}iDaLMyew~4ILk1KQ3q~QGg z{5#ZX>P)f5?dP;rO_t6;f*N|@rMw&mC%@K*D#bm*XPgnGszKqRa~P|Ql2%7S=SGR$ z*9=5^3_E)XsPNa5`JE2qnIpUy@RDvNPN=z3&nhX3lSTa}^9=6b90-1ZnbhV;(Fe*n zO@7(aN=VmTBHoc%h4gnPw_1Y9q+m+HKycmrN{6YZLL9D+vl8~8^UU$uO9hp2T>Sh+ z*G3crQn)T;c(r6al=dYU?L%XcA>J%=N?`ZY!w5m~ zaClu1tporR?|i;&zL8kSW#3h1J?`hH&N#Y4>Q^B&80wm(CN|buxX*mXGel`qo5g&} zfj>)NJlNdzWm9sO)7PmmLV}n-&bMPCgO4WS;D|xpwzI~ktL#O1@oW&iwD6*WA>jyxvDUe`EMCJ)c_!ch%gmi^jt(MgI!= zJTMJ-(#nz2>e)!P7X{2>@W`(cHZo6H>Xil6VF?aemN|+& zbj+%{l*4rWSu5ZseO?A{R0;us94|*kju$3kNe#asn(V#R@9Ga4s#zXvnj5>fERWJT zrJjeZ=j6m4q~|8xb@tPQJse((T*Xd~<|vg`tJ!VMY)y~bJ4%cbIV2H1ZtkY@i3L(- z+pP(JUUqbh6jpy-(4msVr5yP~encGPibzKZar=g_=>O(*Z{9;~n(gfDOeZgNMbhw^ zwSMtKeCtKbOYdmA1O~Q>NK2zyeCMv;k4@9ptI|V#F!l~uTs&U{?XGC_+-}x?NeD+( zHIyH!1^<+GIS|D9FpBlG2o>@222{#^TU<&aa1qI6vsPca^Q&|4+r%p)9yy>>m^{iY zDS{IiAhJr>II$?Fh|GN^P5IeAQ|@Z1?Hdl*rnCuni%kC4gc7z%>IfCTiFZfi!3Vo* z)c0d<11to8-=n>#xEllXcb;+6^(2%brzI^f=lO6h6wcwadz?-On2vC<^^T@&Fo?b> zTfx=G{C!8&HceEXEN5J8;uf!)t86X;-n0K1=X=Q>`l=WCw|HJ;`<cjV~7w6CSed z6CU79K0b&~7d7~7w881JEF&#|<Z*-l&>&t(bC4Y3!BpEN8Z9&Y)#G_FH2y|9=;6usA3r%u;nzEBcbav zH4I9eR6Sna5pzI7gFHX_6zJ4x z^?G8*TM&rK7#`NL;@5r3GtA}WgSnq79W>O1Ol&->Tk8k(@HYS<$Tw4xgBW84u!4E} zh%DvMu{mbgDB7fu#(x~V4_}e_ZZg)e(u!h7<72m*imTO_4fBh$9$6jRSq_>>C|}QK z#90nMnV++?X7OhGWVD_Y&AW~(-J?P8`Yw6rObp{E9Q@mBjIeFT1k$WcP_t#WNWAvsjr5H4JI9vj9)EiS znd=OPQK%E!qKQC{$EMTAr1xUlfy#;MZPLfuApf$IaVUMWyNc2laYS&h%{k zPvqiP(%qOZP7y&=ti%Y)v@8wNsx_I!bLtj_%MT4{+ywxRxrqb^E2Clgl>dPac3a_~ zn;6TATg?kPLCpe+B2N-IjC8<>fj?#Ze`UK79eac5X#?IE=A!kSv$#sfpEgwE4}|q< zu1nbQ1ls`sOEU`oPU|EVh#Bvn0zuUg65o{;4G52&{0@N(5 z@rKD>Fmx&LoC)WfN+d&&u=6^cI~GkWREcQiRHt7#h<*Lr&%|2G13&v|T3BoSV*ucn zY=?Ah02mY;a2R-$WPJ*SGi7DCa}?EOV(Q7q^=kECCVW6J{%a73CR5eOEJW~}nTm?4 zRus_DhseaWdS~scmU(RlsvwcTBeb3-II-F$KHD?_j&u0xrM6e4XRlf1iQ*KDU#dgM z9AVLC2&NWzlkn+E3z+3mrE)ryH;|`X=+Nc-rTScp3cD6+6(a%w>^>SEru{b15FOwN zap9&$c3qJ`|L-VGRk@~2qVE zVyEn>K7V^uCO{Cf*Vz;S*NhFedxM^UXw{Zxa$x=DoC!Mw8v1#sIkp|e`Fe}3$EFNh z8ecxgj-OZVkSGRaj;-eu1w0xW=@9m!W=vDx&79cQts8e3Z}F>S1Z*xks2Vq#Qjkp~ z6xfmu8X7BT5(#~C*sroy^f|L;Uf#!vI5QM4b<>`(DWhL6>wRE^ql~-Nyj3@Wjk&xlSxyia7i7laB+@pn$rGm{#D>&q=7NvRyziFzF(j-#xGZ z2+TlS;=|REr$h=nnO`%f<=E^mzB0eR+x{!g$v;#ZEQv-fY6DTQ^~~XeU`(P^sFKvmXI9 zF6$o@6D6PKgczHl3fZxxIkhZ_fAgayO*~Y9(;AzV#Kd-Q32N#syvFGs&PRxg1rANp z*vm$^HMz`+yPFojTnuutonNZtVE&e{zna6o9Iwp=6&$0A)VF(yY1MqG3rW`W>{a?r znMSXtTi?)luG^LuD;-c|)7-2uYzPICx@Zs9c2Tdpb3AyUr8&Z;+u#T^)h%kS^gd>g zT~Wj0<=BZg`3r;jPoJLrOn<$fDGm9tuas>mUd@9iUZs4tav_CQQNU1nUJ&1F45CO8 zKs)RipQev0DEU6MJn-A*+?V&Ntw{5m2QI94Jx9_MM~fTAt@=;mfmD`6OL zwy(rl(Zb~a80Prm#kOp!&(<>^sI3jsIY zDU=P%D!RlsQ>LZ3r@g*%5NL()pF7}H-6rOa{hna7UWz7{J2f`?pmJxP0dt~8wK1V> zVv_kYT~Md3g&A3IR|nhW4TN?V@g(5BUl1}PI9A7T zQwn$bmKVp>pQ2jPL_BQ5B;zd5|3-phL6`3Ja_p4`^SycG*E1=eycVaUf^;rT+P3)s zg->QwwUtpjz>B`_!=*uXpYCS2JL(dHP1uEG+Q%k*YQyS5W*#)4LT(8KsQ0)ZQSvSd z^^==;7po6W5%th@j4hb}oTn5~Wy*wcSl@_NorP9h#nv%bhJ0|Zx= zP75xFZcO^`$E?`jrYZRlppFl+LAOLW(3Lb2>2kX%6-vahS2{QLUtD4lkk!O&H^$E2 z7xM`Hpz6C9z1W!=bxLC3>nx^LY>^-vAzbA8sxC$%0OCJqA_vBvTst2|W%cy9o>Sfn z?)n&QD*V3D<+j^LmW$67k-7?5)H=qA_KaSMx!k(kc3DnkoP-HYucWj04KXabtd+Sh zU)n-35w}&}^vkOweTQaVH#-I3ZhGr24Y)}#sX=%eY(mfE}S%K)~=bJBPj+m5O zf7$xO?;k2uLIH~(8Chm6tC17rHrSq>S z*YGZ07`yNE@H4@TqaKdP!7CRA1-MwvOw?x)2~*bgB=L!$Qfldqp?hpviCg{fC?+Umr4?mgMCKD7Rc>rZ1VT zI;h@#5P-J%6?cE1Nield{;|e<*l6)t!c22#ctpf&0`B0YoZPLsrud8rEV}9?EDygbywXe=3ayzr;ScmS@s5l(f#+n$%2b}HBMuKd%UXW9NO+_Hm}YI zR#Y{`?AxG^_yRH><`bE-rt@D$B|t|0we3p}9&mez)?rJ_y3($yUg;mc5hR7mhlV!9 zfnyt5MJlp7n&M@a$K_els;jK68OqxD-sprpuz&mJwYq_Dta4Lr3gtVQSA#fHlU6^< z$H0^w^i!7~V*<1VH(!wNh>AM?`kcscE3j>a#UC6l(Ue~8xauJ6%7t?8o&FZ)bL&!s z-Jpox4vm_J*ffV}?hq|DbD>%G!LVVGdnF~hlymfzlJP{~FIPcU<3-R-Jew5ZkpB%v z(ZAl|#U=QcQm8l>sjx7U@_A*J=IlRyY~LowX4M(sef0*2Ip&N`p4N-k1D+<^!un{r`+rP z(s%BDc{7hVNVO}>mT<#eSj1v$u&xa~GP~a@ORLX{VZYH+2X9ftB*%owmnXZqYDQ|8 zox*72VYwA%xH!_F%!1mw1g~o?O}F%@C@5jl43FDgS_ZItZnIVV+ATb``cwj@EgraE zozqP9p0G#Giix;|il)ahLsjH1bJ#ri-uuWD?S-Ew?`Gcj^bBH89=~19Ba$`Q@jC*h zmB2?^^q~)zQwq>>Jxk=#O%61tz~7-K${(B?30w4p zjg+Ou@~T&@xwkWaj+r=ZebcS@vZ*ARV%Y?`2MEn~8_S^(&D)VUgC2;nyg49Q=s7gJ zdh)sZ8TDjYVJxUfhT~z9!)xw83uE1rzbrtwyYp;iuYH)fdfJippRc7``^Jb)@1gGo z03L9!Gng1FIX)G&DzO_m7N8HTAhZMpvUMU2Gq{QBXSnSlXS5}@+QZ;cQgmzw;gv8R zR!6eZgW4d5_P(W^yls=NN_Rt78;;OST(AC<M+?498^==PS2GrGJqHVaxGLU_=( z-N|qffY(M`{?JUfS3ubaTcLKcPk0Knhj2f~68!KlP)q1=2Gn6z`nyDavrV^iHa*{E z;(CNelSgxQSR>>}4I$?F!4E=q*7Imx&L(*0o~rsk_yqI#kS-i0^Vk(A(f4!m_gMv4xn5=g$nKS!wXIbXFxm%>( z;vR?ddPJdG1*;$q_@v40M9p97AOtlz#&6=OQYOMmdOt?;W%&$yZeq&gx20*UWQ;-+s-M0^RDOJ0T)F4m85wUtSM+gn&rSehwOc;}=+2rqIefXkJn6Xxa=ryYI%MHTtpLynq~i35)#40}FX6;QCP zgeaHpe?V8g5r&M*vO4g^0%>n`mh3B-WUq&d(YGV@@wtAtO>uY;Xz3yi3bol7SDu@~ zEzM6~FZQd#MiQT_v3ukvk-d0Q6(_CJ00Cw9!HUvmqSE!cDtWSeUMZ-{yag5$t>V*r z3h|HIf9P$Yhh^sV&p?Yt*A5dOyua*xwC2E}6FPkx;#Q60H1ENy!n0 zn6Zp2R2b%`h&-;i0%U({Z8~uRG&{*L5FD~xrZY_Y$YkgTb0%L}jgmd)+ak*!+ZTSl zFxrvLr)7_#EqkWVRfNTi-ePZaBH28v_D{a_Z9P6{go;hO>POfniEh98oYj$ z;ix8@?+pnlDPgUw&V@co?zwZ`QIDYUEc|9s@}s0>6Q}&3R=$r1g5o zy}=OPxeW2(rm$(aT>%G=Aw?nqoS(d`eb{BX&U9hwt00R5F})+&sGC1mG$zQBy4jA& zd=Gp&2r9&U>wbOb^@Vl&tZ9@ z7jOAJQ0Q2NOXve3?tWA_{bxVW3_%u9EKC?|DvCVeMGgKe6cro!-c*SxpWY$+?D%&sg=@ElN|W((b*V<7qeL$3=|m=aGbx1s~QxxLVhsRsw#r>>)T1#BIV)VW(6W4|3pk80;jj)egmjeaUiD$ zbQtu<*E1W!p8)I|8wBu78WTQ~=iKDGyK zG7~s)#m`ufR??q*-sF50dUZ!nc`J{frmh5kAEqKAFaJpfrX#B^hWI-Q=<{^Mqq)%w zd%94;oNqZ)zG^OJ^YHo-_aY!-eQ$7SmXz;oW`ZdrBlA>m^Kg#f;ZYy&PBMuhohYS{5hHJ#vt zl#UbxhnlBiqaKW@aVQ^=5I^ezp4L?ToyqoTSc4U-Vrm^H&Yucx{_!9|jp{Q~D*dUk zcTmfM&VfMviAo7R)Jd|6c?3KQ7WAd9q+8{s*SjRPgv?t6ioEG; z2FwXEvS?#(&Vu#;ZxzQ=mXwcU|L0^stcW=S_ZqxeMldG(|?T^rc_LnE0Y0|@)+#Gn$k*@c~250jz z&4cFSF=buoOF3_~j0W?xFcntI< z;BTMNL3c(e70A^bYKF1Cqaz|Z9n|^IzwJMjmCP82eZT!1dfH_juA|QYtkKbyE+7nP ze!@PvE4V?cb9i-T6bW*k?!@SU)2gb^eblV)q;A?+Ui=3v*jOZP?+pGn^_6Ia;`m)6 z`xd)tBL?$+TI|R1JUL!uuB~Zx_4Pm9)X04m?6Y`$H~qUN@S*KDm}wX^o^-3b&GZzJ ze3>FNYaP`p%W1ahY_y53b(U&O!eadecA8)r16^7xSEy&$3N^q%?y7gx7hBSLOxcei zZfGl?R&e)zP`sy3?6J$xmxdoXI`vi&Z8gH#NkBayv}{A7CBQb zHyjc5omvgDM&WUOu2UJZ@Ol0D(u5K-<6NIM&FtQ003x<-y%u9l3Nq_j21{>n+ohW?zC!g{`Wl;7QEO0}kP2e;c_ zPo~exhg_^!9@s)EA$=#hoi2gvQDF7Cu_fRz&BxDAAa%Cf*go&V{4Am5`0q&T5L$}c z*p18>`E@cJwN78`^M=sHmrLPO^@U?tdciibKM5cxeb8V+wmNTr`ji8cDezFeSL=g1 zpA5HiIk}v)($AokDl1$)FyGl`UxjrZLkO+5RY&5l129UqOh#F3vxjPbdAWD>>M2SQ z%w*zTcP8#`4_QF|9X6wUo~r9bn-ac+;!D%<=7RhHG%JAL1Ft<>01IvO-?4BbqnTXV zX~5DrnDWUx+wA<30x%AQE>cFNAt_ji64xpzz`aT}`;^QVt9_N_@O-)FS^tbi z&xlH0ZMNrSs&@nTdRkL91O0ns7Diwx}JzEJ&sI4bPpOZ&{+p)cSP(JX-3OL?9 zA;%`mPAJP`s!_TVkTg%jK?%uF81zFDM|Zj3+=+hv=Lwaq&kkBw)486X;zIbFz8@X3d7+`cC^?vR5?lBj*0VPW1k*45ou zs{^v9cMIKGSz?cGU{1SAR5!lhF5P3Dw*&KvaD39{(f?exV?-&HPqPD7o(Olt!b>lP zVujPi@g=p$^p2LA@COyOwUjx@%Ju#XTT|jl@dYJD0Q@V?;7a zQ)f~fC&8G(X8*+Z-}Op^c-(ILBB!mQT82PI%lV3pHMw(q7$$OQkkY18{kFUnmMKT| z5JJ1L>oTlqxi36WtoBF~c^?+x;QW#Sff5Z0KJ~qtkz|fYTk3jSqz;!aBQV@n&z@g2 z`@3A%T$!6pPN*$&BNk57sS6M5Ki#JpQL5Y7QIufI7&#~rQlBV>Zbot?w39T#E1Rb! z9r^Px{?mkEoR#3a+W3~Pc4xcrEI#_OqF1sWEw<5J{Q`U5pNxH+MvayZJM}em&}yD= zpo+8P;s$M+c5w%nC=||69yvLGP#h~52tlAIVTiWf#f?I;Z3wgA#n;ij3;vV`&;7H7 zQV$$+YoU#cCuRnV?ifiIRhWg%r}#7WJPM!Tu|ZzqECrzZM&fN^ytPs9Nm zQ2@b&RIq6|n0-N1%-JU0IV$wQM`E$TmFD={XKg{p(rase^s{a+q;<4H`d}M6`5Iv} ztycE_NZT)|!;kng@;FV^R$n3aj>>?pi26?OihpjZ(uMC{uQY558KU?3YmIZJgCXzs z^o-T<(5#uyl*^4GMcAv;YFM>$t5V?7d6>b3TdfCHG{8D3>J*!;ZHn{Eek(NQ$clgu zt^^J@%YFusJ-|Ew1W`QmY8z*b`Si%DQ=2~X{2|ZXvlJ7R_!Vawb`y?m{+a=Pd z%Ij>ynsNHGr~^2K2d_jtd#Z-P*w8G7QtJpN*hVqIDW$Yr9W3=+$^ML#Es@XM!!ZlCh=?p@A2kY{&NTH=l}U$OvC;$QC~^3ASpfeqR6tH8vfB5ko^3 zPL=A*wSug$oEu%i<|J!jW^rc;0C93t9ruy~dnlGJpr!m{pV+bU-8K#Sdfi#z=Oq{N zH2xCi!#=3>CchosAu=`H%G(Bz=VheCq!X2JajYKon5Na=Ca$xAUEpLm`EFS7*pp{$ zzMEa@Yi&(FG9Dbb3V=)m@W{t_oR+o_{px1|?xnaTWA9TT*O^Bs_t5@!+} ziWHLh7Ch9mIk*XWM4OoA8TWNCXB?yqt%j=>@c;7RB~D;)7!0yELAvS#nl)uRLCEKe zfmc7c*PnTDx{~4=xBAU1 zg~|rzJwnJZ!}))YeHLMKA=Pw2x5)|Ht!q@r&eLiu$d{o3`7%Q@%ac^bvraELAI82j zLbocyT)WP!7_1kEHR11X5Yjcn8;h9KAzwEHa^n0@);G_m*j*y($+=<5@cQ*J!k@lC zNnTz)+ysAqxM|XUyBv};6tIqEel1+nI^MI}7g$KHCodmsGu@w-@rb!YLgz9_#oKxX zxY?3%Zz!K`z|Ilhe|DHo=DJPX1s&w(tSESRqIxTJt`%Y4+|`;*DI1ubEDLo_AjbD9 z^M&Ng&n2`llL_AKG(GA>+{c-IQ1G;MxqQ3*ZF=VCVCot{5&#xtEBrn_bfRj}XRf#W zl5nF$J=pdE4J7O|hQ!a0%RK_8TQxe&3ztj(qKQKQekfUVEAeTC-&Q% z`Tm&8pC0-ud}tb#KuKvsi>T%Ra8KO>`nibV7~8hW{^_SxzmHNp?4T&lc00(5J~Ez= z)W3h#nvwUd(4RVdSEibuMtk$=|GeEAB>DG{=}!a|Xq5Oj68lqbypqiF;v2|XQXi~? zZO8G$<8&O@1Q1teS~B`DpWo!hZc>K`wT~o&vRaAyFJKS&IoFe8=g|G!UTtp4O=#`L8nC9@F(pU4<`=Fn1z5OAI^sS)@Uy-& z*fFH566Zd3zxuZhpgiE9f@&hb6Ehs_!#C$Qo)doN(<|%yZT!^CtJ3a9&AstT^o%7+ zGQ^+evP=o>h;4e(1bNwln(bZ1Q&{^=ok`A*ig`Pr?I)@=tn_0D^MrZ9t*myj`>kEv zF@>zN&Gxp(*s=D!KR{d4dTm&BaZ0O>zXQ&Ek26#$u+&(56!|D;d&#P=(f*@wejyq-#^&LlNxA3Eiu%r-D(#)`QpncudiP>F5620jIQ_XsNBT)aH%iTVCi4rro#jl z`+GDWp!4|^E;#fRR>#l9ZM30IT(!YdF`&X^+P6+hBn9$Oio#- z5_qQxXf?y}9s0i{^`Hf6wV{BmG&&PD;Mg@5CK|uIo6y=s0uB#91lKppX4wNW*uu}& z$BW<^Vv*$Y4(T`LIF?*a?!%OS!{m3h&~I`9?=rR!!AK4nJeg6K_B`4tpur&TN=Jad z=rgMJ5A>5`9l$$9PR%Lrl_}-ffXzY{G8Xk2aF@Ae|2;Ndo})WSE#Ik-&6+zX+yg+s zb=kR%zJ=v}(mTz%o$})QPZ4?-x0m_jW^xag69#g4-{{>{9mh^d848BjMI58)%Db1< zg6;~YMZw353dz8ms3*vd!K2G)wGH+YJm`nKVBJt6Em_ge7JRU=i6aLlClC-9lJ!U| z+%j0!)|`QkdcATJs$d)QWoF7>>p8*kTrY-jtUk`PF`rwqI1ouIWfy7mhhy+RGAX{8 zvGu3U(Ovc7e5=K&8&wZHzkEz|kFA)3)!w6e`6LBoHU7LD+#HM3K~LsPN=QhEUU66h zP!hu+#4Qt9wFOh>s_reP6+)j^wz7I`WeG{!GgIUj92;<;sr@rpx1kBdn+mw<+1&15 z6In`$ffW=|?4t9g8-)^J);F4>V?m|b!ZN{UMo6y&=dHCtIQhHbbaPWcy#e31w>#Rd^KkhmTt76SEU@E>cC+I^$X1+zF$G9{01`w6ZF~o6#XkxB@MXcv*h= zMnMzwnoq~#{GWk8m#uj73+MXS(fF2lvhshy331<$u+y%5en(BNkuGjPQ4aq^_RgRF zq}cilp?UU8WcA_(4yf`nrj`^g6xqx_y|0%+f*XM&8elpmZ@LiygCj1L+InH84()A5 zc9)Mc+}ZrBmf5GR=*bdk`!t#@=}XS)hTx&*mNYNYUY!tyCzu4V#Jc@7B_?%(6SNqP2@Fb^trhFpT_)R|tdDw{7=p&(2bEAS+8 z?kU)_%XgRudz(DCif|R_BW+)K0k6z>Mw3PLSMrxD73&2ev!NuM@f%8_F0ENo!eD8L zVQzT-C3# z^l-~yY;S$bwbp==6vVsYGH0Vzx>$nc^vKl>Rzn&w%_0NU;rGUe^mM`aCM+0UrXMVP z(U)=e{vBapIIO06>xZ9frjgd&02{O)DCMctP!LFxDp^s&#;Pg1dq)wRrr$1s-b>d= zj=&c3!-t@aQo#ZlxuKGHcDzqnrn|w7W>YJKYgB1_c4Bj9TIAnnO%1H&TBaytY=3Ix50yuJ*UbOo&GVtH2D(mE>=fNXr{M;tl4gCTE_likv}8u3cC8~w zNpr&)uDAN!alj~Hl6>U_Sl@h|G9OOn;3!ifsJFD_x4n{}O%2vQ4iM9yV7ig`>65jf_PN7@>|WKf5&7GSY>5+cUw6Pj7<@L(auSt&uuM!+Wk>T1;`a-ve-vg+ix?mv_*J+?^%Oo z`gvCnY8r=y3?Zn3!yukUIz%GPVK18pU+zbxtAWOiTtMi))#UnU4_;zh z?S4kl@;$@@>d`p@*XWwA7{bBxi>9_oYAPkQf)*cvjtZhglV#6 z=lJEfySo$9FzLKj2JhULIp(n}c?O5VJ@_v*4t+4G; zlj}T|7^W$82kKLfYmDlGt0c|JC2C(1X23 zH^=WX*H*cguW8RWk=cyWs%*^9;KQWe3`0woyR|1G86B0A#%xL* zbmos5Sg@7w#f&}wk@#n`LFau;xn*d2FRH>|%(y;Ge{n+(X@#A*iv5o>icO2msmr|} zHN`YZFexeYnMO;-X^g(wZNeH7Twr(=EGS z1GuU2UzKaj}PuZ^$~ zxoGZ}L>M@Rl!IJPs5>OD!2;e?#dr+L?;kiRq1&~p{H)p^{OLNL2yp68Np3S{Ovz|& zS|m4*8&Ve2i#|StW3&m4=!14qGa0MWoGDR+7bd+GSVM%8YZb>z880FRva*KB*@c?4 zk*cH;AXz+xI;}r5=ou6!{9}NFaOXf-ZW-j^YvlX@*F5n1^KAKa#gu~S|a zd^vV@GLWJy48=Uh)!Uoc<>OU9Ib+b%YKKWc6q`1M2I)XZDGJfC6>N%Gq0Morzq&3f z30T#r=O144Eb|vxq}h#e9~1HU!%sw&eHdLLlz=ri%^2n~Ns!vQ>!=xqs*083=y5 zcvCQ?-|l`KG;)|`$lqI=%R(96VVxXfG-lnmuHFX82pm4+_= zfvDlQdx|BvmCZ&nvh-x_@bICmVJWA}$CONXMd5EuQ-5 z7W*E2x>e!XFiPL2>OCbooUDBkuu(VWeZ=|BO8zS3dRcCK}WqE0aTjW4>PXf)>7cEb#=2rET00OZ;y;D!2Xn(yHhH;|?xAISD){VHGn9pgy;XSHuvV&yU{y5GM^LUvcBsQncj}km!#h+<>;1zdH_w%eT zz%H?6?3$_4m_OegS^rU=jNXg$F;Bh|O*Or%3)A+xGCC5X>4-3XehrnqLaFJfFQb}A~TqLFH2lhdJ&fv{l*pp$hi)2O)$!}JDT z$Jl#H^7F$L7FMG;7h32(tMySbvOIn*La`7YlEFvTwWCfE#{@F99 zIcNvE1y9K^w)|R3Tgs(ab~D~ewuT}ukHgufum_K`fBYwuo#tLXL#(I!%`fR@P4S8# zHOH#^7lK>O(b$`>b$7Pd_#VEn#jvd$=O6LLdXY1-v&0{4-^gHVZMYNf+V`QTb2jTH zoYNt8nc~5(L|wqm(rJ}?bfv{xKL+lyc`CnvJE(o41E!)IV%GajvE8D6P$w&6F9mOm zp;5@N1_plh+A2S?sW=f437c|fbYB!Ygk|Pr#|IKHADb27vW2atxY@F+@c%MZpg6Nl z7Fl~fp@k{~KClr(rZYNVGzu&{g`&!;wRjPZe)f&rq_A;SIIhcfYfx;xxRNi|Xdepm zy7^S5{EIT5WkYEkZ`ht2jc@ajdI>`^xF-2^%#*+Ww-#9axt1B?%ymEiD)P5lfOIpF zyxCOPhjzOURaFsB{LC&UJI2Kku3=uZsbpsnR4eoH{qqeR*r3(xj?&Z^ow8KDg)R&n z&8_K7RS@1^x@E2nz7JReKP}311^aR}y)_s?u0^woagwj_#9f;=l*Opf)tm9?|BZlm zpP*MYI)% zUthoUqS{>Kx;+1*V1db*JCxSh7$3-MZQHOJQdo<_JD7NIDp!c|I{lK22y-@J~Y@et_Cz3O$w9d@$~bHt~-lMobzxN{|Si=EqF z9gH5?re!V5UPLV49-5-*@C|?DdnlHzc4*(zA?MZn)_WBIdA|Od3-4w6)H-v`HsKri9)_Q1_hJK{C$*KVG@U{jQ>fMP&@9y! zgjqQ-dB5zbD2gBU1JxMI4J6<}pkHrp&khp|1Ssr}(1p=fAve%LsN3)i;)482;onq5 zTp>)f97;3TVTb2J7MkUghZBcPh0Nu~A>_c5^%Nv9G>$vbnPR1JbqZ}^w((+$c)MZ{ zep+t4{OklaulnMAh!5g(>Ca8LPfVvxbak?wk)Os7+o-TmzRqM1dxJt`EIQ`>s*hIgBjoqch8>v-Vr@jp~T3=;DOogYO@ z&TU`jXHN$2BcG5>`n>0lyfq_|TTayK==*tcG{H5DWy+WitdKEkqQ16d$S?OVJ)6m; zgKJ!rDq=I!7B=;o1U!?zjk7wO3sO%7CiNE!?qMgb0Ru}-d#s6Q4uv6*_{8t$%H}xg zCiPn7I3aywEmn`;z8M7#!P%?W{So_~2?v2fJ97$CmUVtwN0M9?nESA40KA zek1gKLWv4k$GHV}0p))ElxdFb zD90Zx?=SD-1agbmx~AP<(7x}q^((%~ina~`Oj>lM50)AQR=d7uXy9xuI`2JrtS9X8 zzrT<2ePiu@18#@}?$U2jsGrLG+K%hYJgrMI-Aih$$6gXNZa5FP9ea zh{0p<_kZ)i(m%@n(Jrw~%qa}xJH3AkWk0e+{SnRlLEit81-*R^TA})HjQeZRn{4Xs z0O&+Ie^2!1Emt@Ga4FOg3#u|eQ%V$TtlD{JxRf2pmhH^Ml-5_1=>-|8gh+4xl--Xv z#<;7(F@~G>Z>YOdQ}5-k;1zV4ZcU|_?{~a50mhkb7uHd~y)`oi)+gPPUXNzPtzJB^ znX>)WbUNY2uR7(_waq3gN!o9UzvCHkaM0)iQ57&@K>{SMqXT^Fn}%Pt1eXr}pR8yQ z^n~SDQS_81Ta5SS#@?DVW?W9peu#gb;t7~G}_ROFYrmZ@^BNyuISX1irHiD^?BxM2 zKJPZyCpcoW@JAJWqhC7M(9Q43~IN>@SZ|=W_+N5yev_I@W#QQ z<64?1y{N@Eq6>WpVf6?inbQ^VSlmX^^+6Wo7B1_X@bRT zmrB6XR{I5d>^Kb!O+pJ>Ob^ghjnnNq3k}*m2_J{@9aylmve_z$>Z$BReCX+?ff8aZ zql;s!DUuCjbIG?ZkB~2KK}ig5OMSJ0r;~)sG2Cv4$GL;{sSDYZuO%clf~s^=nHhh!m?`(GX=>43TiDlPb*ZogzQo~%Az)O6u-O7rVMp|E2&Z&vjt#uZ$$ z;dHnYK;ks1(lSL3i;~g#Uz@;lfpxR*)t>bx!(>`MBe$SCW|NZ~UOr-ecU*oHV5qo4 zBkEWL&4kcbCXq0bKT;S>%_X2mxy9xW`HPBJAQ~2`H@I;CD}%LBdWAB@U%`Ur&!*__ zi84l79xUOzrnf~kE;HL! z_~6s>t%B^OYh3({m8RRZ&b7UN1bJMho4am7=ktFO&QwO4*?&pF+A7&s|AEKokTW0= zL}FY9LN2aXP2u$Cp;1l#^*POh8BwM|rCWyTZt@T|O-%Y2@KsgWK?&cXOqeiQ2UJJn zzAl8CLZuxPEeC8rfZMQ3o(KO5)4R^dfgr8;uhvryV4-S{#2Q>oD}kC~=g7khJ2MVj zwt^0&Lum(L*O-?{2=vsO&MVTOuFRK(^x|63UW(AXXQqYhtc!7*en!_6Pv-R<8#PP3 zQ<%D0e{fXvLN91yuXlJ=b>dp^OjU8>V$!=^!n%)d?QJ*(MzXoE6E`P%!bJy#Jf-9F z?-@qB@hS#LWS6I)Ht026sE#|0_GfW}R(3?9Q2P@veygV9NEk`eUWx85mxmW+dj9VO zx+|>h;r9Q~2Fmy8sRcf5ekL?StZ{8blKg>F!&S<|5r^D3l#CUE*HUz?aZj!6^zv@G zqN<1${+I3h@j3T5UDoCOu1YVT?ltchu-+!5SMdKJvB)b_VQ%QhW*lR>FFj-V?bFaG zC@8;G!X$I@W0lI_k8l2>&3A|-Z8e~U+44{6qtAt#Q2U`1C$o9fxT~L-!3I}Ai5W_) zcxMV~mt)OZ5y`?h*<${zTciJ zVSF?+J_JkW%ZjYb^g25%S2QNjJYEpT#XsWpSDn3RT_>UU<>9=uHaiMe1NcAzY4zfN zXwC6KUmJ(E^a;yGpZd0)vRV5e&T?5(swAAXe?$Qv3v-p3AN?S_cYii(BFm~b7*28@ zCz~8}fQrIbz`v~-unF+YnwYqy{@QCe{8IPgTzSe?^WyyfheO}&e4TwA^$K_u1FV%l z=G$`(QIvg@El<@>py>YJ(DU!*nDdhx;NgZ!Pb%oqtN+LsFIPNd2(K23dTSQ%wp3N) zWV7t#D6wDHfHY$Gi=72?8D3@F1&?7W!_i8nNo!c(G~9bXCW%KCx20&ZEGBeQuFyae ztH4XNQJAw_IPQ*ZG^%vyk%TEY=i&Bzz*<||Wy+`G>!7iGD|@(%rJ=B2o4C_Bj~nOb z5gi$HJZ)>FUv|twCZFN{tFn$y_RlOLO_wDPE5o&pKhJ$Twn{Y@*EQCXw4;P-kbR4a=pisvIDg+( zfjL@*eq~mn6N%Z6o801XFfQdnXm<*)WKuy);hnaZ`#-38{fX9b1dLiZ<8nC6ZiBT9 zm81zf2K=L#B6jrZNFiCC=PDDy21Uqr1-AW+7hEg z(V{_^q1ww%PU}uj{Fr%Acd4Eqhj)9`sbdFs!d=&ivLx0gb50U}h*U1a=sEo(DJ?s! zx7;8)lmUZm^W_+Qem#Qji=s3dJtYDdd=Vo8RI*UIWNTx3y$4y<=(Qg?#pE|V_yfJ9 z)odz)a<1Rc-C9?NNCk1bzk;Q^K4`;fS;%lCo0?s3bki15xguZdYJiphu%y2O)c1ly zV>TC+#iIXClm+P`StP{3Bb`l2^mtzpq@<*@X?XD)p}b3!0OCf)1D>z>I=z?Lr#6On zm)ieRjG1J<{ogb8jw#*&x}HBx(;t<>Kr=c-+EQzUJVjHeSsA9fe381slYG4u?G=5h zqB~^U(F3&GF04m>j7VMz3l1Zg?K|Om-LsbDu5`wHY4^MbMv!ob6xlCuEoo6)0D;@* z`$7>T&G*U<zKA!D- zp|I=cWW6d#U3&io^>$V~rK5xykrvNTrjXZ`T$O^UBv@|Me!FSAo8&2d2g>*ZE(e}> z7oN~WZ7iy_uU0&5gBy^OC>BTT-&B=ynaxOf5)$`y4gsiWXuXd&$DsVbw`3R+nS8lp zgAT9X@!P*$Z}E{}I`FL~nUvLp2ZhwuIH#52>5={X&jx1~AY8yj$WvQ_!WlkJoRNoW+;3nk5Wlj!u96I5A(Nn zN8PkMzk>B|o7x`UR4_!m12w_m|BpcrEGM%B2Jyw9C^T!mv>fay81N)dgM!kL14%@pI2ZVJQLZLJwuWLjwCYl$JwOkwS ziN_ec-|#4_^WBSxT;b{<=$VZW36yyEl{BHaGf>Qtn827YJ7cw_+iheyzzf6m`?KO} zROX&4w}txmF)@O=2-|FRv zIr8F{;4lhQo9%ybf-tbC%aIrHSa>o#*nj5F4UV-=Q6}nqI98aUkHF&0}k^qO+7 z#JKD653K#HRq!)^2+M9B^Os%Dhfq+Ywp=Y7*Zo+>_K1*Wu1t=`lVfpcEb)Ytp-%DBaAGpWIy!z$g0&>!Li zi)&9juHy~j*h_JEUdi>_PnGuQHsUS}hw`-)c5|NEGVGaG*Lh0&EMO<9DI6cw-$9qB zCK{Ukk&#|?-dW-XoM3*IbWtuP(OwV+o3U8a)w?$?PD~FrTwCOhY{GFwMYi!Kh;K`? zc)1&4)%_O~l|2Qe0!}l_tPe(q^@Cf_#qs6*jKu-oo3@><4^Dl%{h?8(jMDPjZ*Ss= z0uW*VbAUG2wQp{JkZ=n(>dUosv{;SbCd?U$sA=WGpV~7xwK6YpOTfQv8$UW9NXC?` zSRDEx=L6Brj@}-{G2Ek_k9Yd@@SXQxz3xZA6VjNe z-$2FBj^hx9clPttUH-~uJF!!Kn3@{yj%fA^37?SVG#y6I1-HP zz-p7~pNLKD4OEY28dkXAp6c-Bxh|wH{mGCs;(=|4&9wGFKZPUfRT=d%>d4yO2=EB` zztREi@HDucMp7O3Q#H-a?{T=z%qTWz<0_Eq_A1OiG#YEz*iC1-TKo4{xGi{kB8u^= zfwGs0NRFV9k@uul6u8ggxG9Qcnz{YxfCDS@t6cB#7sr=V|5p_*&9DMi#?c%evH&Mi zUXV#0>1yHzCu_*wi)ynMwqVJ!>tCkH(({LD8mVt~K8>@loKj)8P%ty}v(h*Tzur3V z5*X=s+U4&RC%jL|ut6*@YD<{DIKYvYR@j(z2{^E(4Zr_{U@(->t)cXOJI|pNc!}Qm z_zYK%hh$>ll*(Os>0G%N(fhK#z+vUtp7xEWccLKIyGAt$E8CiT7q}U^^uSRfBy;-e3g?J=e=*X3!Q#tv z%rjSzI(nGN33ij|?9AwAVbHTJ{PFk?*E8Vb`IktRB9(0YY5qyz=6|Yf38lT_GB6Of zMh!Yr08CE_#=!vEphcFnP{SuRKu~*;yGos804$`JAnoqyyZ*0Wf*!K|$hSGfFYb*a zZ~2ckYd=-@1s8)2;zYrpEhNofQ|rG0s)aowFYNNY&+)gH>CDX_(&PSeSay97hhuIeldup`F`J3{T@1p;uk3Pk;(}PO`}u{ZQ=s zZi7xJHTOM_Z=-fb1=7fFgKk$}BfB`-$)+x98RLaTOYf9Z36${gam&UI!q)u-9S!YQ zL&F{MdotpGOPxGL#rQYfFX>@2{YD)}=6uc`El|>7XG9(gv+H;0=jhBvC=`J(?Ghc-@N_ziVZYTW8=`)Gqw=Ki9dVFfkkmIuc( ziMFA$%#P8xMo2&Z-d!H4ln5BJ-O)=h_UFC`|GIx?s70&<678DTo@MViqJv?Chs559+(=Ea$rj|g@#n7oT~0?iWwis`v_u^)+E2k+1z z$LnW;eO~W9&Fu_N$6OHJ>z^SJOqD0Yt#A&0SqGoGR(*dtz%@D_Qt;67fiT_OHXP;q zj(_dw=)SC1<_T~E=BlGIqHs4Ao+Hf!-do?14wozr0yJy?L7LSdsqe!|+VY2krolMe z#|;d7nVdQDS(ryZ-i3z_?Vn1Tqn;#xi-H8`Tt%1z^Nv@l0cnbP$LI3_q!PgpuP8}} ziGQ`sZ+@ttEd9kyASuI@&70);&(Ca$#2g>Oz75DfC%W8;{(q!r{wW9Iu#hkW@cKKP zp7P}Rn=j9=!cTV$WL^kHDK38QbZamA5IhEF)u+C!Dt2==YK~C2<1h?Wo0Rkg!koXR~--!w~}SUBxNP(1#Y@Unh+Tc8Qm(@3CvEHSMJoY zlkWhR7nOADZF5c@^G+4q>*IIT0&g$aiUA)VLCAEym76eYi2LxXXRr3{#uCc?d9zM- zON{i&S}Yzg0Ai8H)=3X4J*0s&jJGwtr5ZD=!hYvwg zXYnb67^$OB1TM+n(9|twi7kU@SM4 zroUg=hivHQ$Cch)q5M5RoTir2%v`*cMY%n1)rE?|Lkh0DwJq}AjmKnD)zTESO|6EL zG4!_ud5G~@#ze-f0Pc)+&`!YEjVnDaEAnFIm{p_REIF>WBCX(jyRNGT%e&x)rGq(a zSC{APUc2j{4epxqKmG0WAkC-(lvdAI5BEr0TreYbBL0HXjqL_QyX_xM9z^~eH{;Oj zo{A%Bd@-cY51&DgMQjSghL&69IQG?+)?Uvi2{l>r%grSf*Qmz{H2(|?$N9aV-gu>t zzce%)lQQAHzz}Y*=+^K-%=ep*@3JC8k=Bl5cb$}}{=0YXoQZSPL5O%96Im8i(T^+L zr7Cp0&ig-iB4XIJd08SXc5CXI;(Y&U+(Rn=Wi-p}3Xf&L`XC(ETnoEGs&tvB62AMk z*kif-&lIxuq-WxG?va)z7{I9-IxWx~Ly6fquteA42$BE6|^>_VoY41b=enD3WK)KeC zwH>d-g(l$v{3UICqU{_*U16PnDA?ggvfyVTq5`C8rp0Q|Q%j8a1-=O7yX2SM(-0NJ z=)Q+n)^xGQtl(Pm53)Pk>>I<_B=r|mlG3qR`ey0!#g_URgKiZA9u}-8zM*=v*cSf= z{(kq$uF~*{KxY>)E@zG9etjLOE!FPy%n#q>@osNYA~$ivbj>H(5_LfPbiH7|iNt%h zqC($jd~ycRW9>N=CobF^T~!3U-y5E##(sr5wrhF;Jwrt$3gt)r4}qQ9`C60dsj;7+ zb`=gH_isV*1O80few@@fF?%|y+gsFH(ff)QcEM!w)Or|@%4@024a8F=Q{}&xIw5tD z(~n-L(Y;#eh#-a`)>>>gL8Vy4KHMcw*hLdEzde0)YUewze@+DMk)5#HLx4G{OQ>qm z2O70M1OnamqW-ZnQH*@_FwoR%4mF9l@vGQQ%_qIUF8Pti?_Y9Kxg)dOe~cl*Q8p$= z7>P%y_C|KYhd-gexWCV-;NeZET~_}3OzUcI$^TjC`o1Mzv zpIo0x?(dBq^_|>SJ9FQn!A1fR4#Ck>ebn`1>bjP7hI@0jsXON}qrM^m7)nLbh#LS} zhBl8t+==A?%?=7RE?4!3)au6vIkq$vXLb_8yL6lIs zQ@Xon2nCc9kuCx0?w+9=hHe;o=%H(fGwSpF+9Iy6Oj4qwVnzA zz9E_wYiwtvW0)14{iMoWq#F2(-}#afm9O_XZTCQnv<1`M=3H*xpfio0*PL}kx5g2K zT@;XOULiyd+zT3&4_0%-js`6Xha{}t*NWPkIJ$g79A7F-1$d0s)P(p^!9Ff0Ep*0P z5l4^d0U>0+htBzmHLk@!H1yu)xiqRBYYJ)%9!wAZS+IOT7?^(tn87UJ|NOS_LU1Bt z1Z3CmW#J|4wk>QGa(=jwOXUd~8(NwB{MW38J}NZ9#m7&p`6O2A@JVcks@9dMc;dxm za%VZ&7mYcm(xds|cTUd!Q^6i)8qQYmH-86DNeJcY_$d#lS4$i|k+gXHK-?YEbnB~& zKnyU4oEi@vNkpkUWAw7z%%1ehz$hnuCnEN@W6nBk&PGdDY0rzhay?k0s<#GBK%32B zI+Lc2vUoqfb}!QOi5Nqb<8+k%!4|F>C~RSl@vX*3=GA*NqsB?HXQT_v9P0%QJjSId zY}HMF`_Z#i+`|ayt1nWlD-`1D?8Ie3cIkP z>QDV~61h+AZ$DM52ssFX?yN8E6D7KijZ^n+Fh4F%?O{3u$a#Rf?V9O~@)STnkS2SM#>E{}>0M-1Oy$b>~&DgW1i{72^9UlYQ{5kHs)$IBC zONNzsrKbFRPjuzB&T!vt#;%(C*&H7BcH5JAZ+#<}!wn%{mKV4P1$+L$1a9zBOFmmi zH_PzV)e~3#iv3bD8SiTPCz7=Akp-q09Ar6sn_?i*k@55)+j0jAH?ZYz8Kl??O+2Im zjJ^KRm6xXX(7~+1x!L|?@4MUx=`bvfQbFB62F7!o5wSFYAo)9&DsiMD+y_@T=Z7!* zoX}F7zTl@;1V+J<1|!JKl*LSjTxT`-{P`!FguiN_e0)JKY}&gAt6&TnDHdqu*G=Gi zW~!{`#Y<$jzTT^7DQQd5-BxoseSI#ElQ*0&w{K5U4q;~|T9K~B1=C!w-jXuK;rO4) zM-+X2?DszahjQMK=tsSDEG{iTTiUrk3mX^C)xZXmBV9c=pa^}CKorp$V`b(F#^0uY z&o$99HKGFT&84xxE{H<*G+e8%^t}!uxU_jI9kd$kU9I&A{HuyfozGpUtcHK0m;C_w zfpPr%zU(<~p5h!&o9DPvw4|&r66zX|{b8ZNIZw=ZHaq zoWNO%KaFxZPhJvp?jy8KSs6cUbI|>}A8wnzHg&ydVUHqQjg_0@b{dkHpT1<6?-<_P zX5~;4>v4y+m)g==8oMiDXYQley=1}H;!?Lm;$Z5<=zbf@s!bm*j=JiHAF%0Q4FPIP-E? zVyNvcO~*H0vUT9uccMCmT?hAf3%0u{v7{mAq^zhBID}F{!3oq=25 zrmeVT04Evm3h^9OQ`3UFcuX%-Oco7Wd^og+zjYmQDgg||zI>=>@@o)6^Yy(u)b(}g z2snp>;@{K$V-pqB)&v0Fi|$lYYh}Ymxm}Zbx5MJs>c6g2&|5k&VaB#`q!+s9;HVIm zGd5Sr+eSx8*e_9kEzZUqR(pE8xsZXkgv#p9UgXyYdN~pMw7y`w1$G5$APwD}iG)W3 z+r~k@{Q%I0ptm>uct6nRel^TrC_TLwb1aun;sW861BIDzefJDUEGD#?qP~MqID}Qv z{dHlNF03n|0S5R~5^;FlsD#!Xa3fb=%H=@q^|qleZZ!!TTG`Di2mqf_-fH}2ZU}4j z8agIF8;{qkHYLO1lSpx~SA4kAXS(kdgkuiI`Skn%=Lgq&1Mt#k&|SP2Cgm)2>|*nC zcV#wPzWBJ6ugKJSLyC<Ks^k`IaWR(r@GY2h2^KJ6p8vn%&L| zjmk(A0v^?rL_)YaF-5J^5gwAjpo#&RgI{e2wFr|D{Kg@es|0i38j zNu~r6fiLx>e9`BCQrI2uD}juZLPd(wdS1R;IP$kEjYe-_hx|nWw=8eim%d(6(HXX# zx$eYaSV{Q}$k;f)Rp<4ZzLB}VCF$6}u9~HUNy#FR<1WqA(#@3&+gO%oukbV1J>tq} zq`UyayG!r8r(l!z-Q{D%XZ-bQKb`|7zq)zNR+!-_Ch_;4-gFGzY>rlO9;%CX#Ibkh zGfGvO&-hN-LH&}8y-%_av2m9q`brxmEjnlQKlg&7f4rjAaod*0Kff&*9rFKC!s!PXS!PGx zvo9If9=|N5#{kOC_2?&!jJ50+kBC(~sWT)C`X zO*31Vim}vY1faF=wZ*i2k-8`b-<4UNRMCMWVZ&EcbW2h#ZsF zPuSNoi6qYXplsQ*F^$8vT{0`DlCT(-b~%ENjum?EWbrKtFQ$`^{5o=ZiEKZf?Fx{q z&l8u@z4dy2A>2KJE%^regsc&=(3Wcm>e-YtAo6j0ieQ4hw5#p)ikL(174cR1JAbzd z-Rc`+gcp&m#mHBo<9U0d6Mrr@c2Ih{^c}8{3R8Sl zskm^sW<|4TIv0pqVNbTaPH+8K4F8|qPIA$XiCK&z-t#F#^F2$(!+@>5|ID9UvYBxD zGLXQ<6{6fvLtS+9$3S;nr2}=Jy=N zI{rxa&=U?Qi6~lXODi^fosRy`5U*Zm1fc($C4n#e*DT2!=~vr=19zU1c7@vQd(HXz z56D7TmQ7?OPl?w3fj1i|FA@50gk<#5v;bqHyx6y<=Ay6TzJK_dc&_|LfZMzi(uEii=Yl=?C^TCm zRrCeTwvesTIXLL@%+Q6L|1`p+M@Gm%=M+nEm0;-}LUKO2^VVd#=+9OOO*wmO5rJ;; zJQ#c;OlpwYohi_GxTiH}Lu`87IFj!s(DKx7r*QseUY3&I^2OUemD|(H7o1xk!cd56 z(^5RWcxqm}CXrP?xNH>5LvAdIZK;0%jAjV-x_5~14c_;IEEQbQs%R9kPg-GlG+zjb zp;d%HU_63zHHIKB$$T>PjvWEvMh&|p!FQPk5pQ2`#2W}D#uMJP*;PWGNfV+7-2$ts zH{AZ1O=5oBM9;a}HvVpkweX`506+r*{+=o!rwS!$zm(VHeX{koD`$T-nMP zs<9aK#dqoE7e#3g4m;;t2ViLuD9z{HP|Z1`;j!NF1H|1Ppa5;qfm${!7u;j4|0!_u z@%{T3X9u%>5((K9Sby!G+1J&m`NTgsW-hAU0oax%!-D46J@M<5G{|!!IjRnlo0?yV zGTA?+>X1HQ)Y(D6(2Lq21mr3JR=L;O9nCRzTaA7~_@~!1FS`WpDiJif+UD=8 z4H)(Ept~pLTyq5e%V%qKoYF7Pq&(IY*q<#e^rj?}KKdJ#vW9)-H)+ux!7tf{9`>B; zxaZjn?si3vF|U>j|LHWwMegvg7GOY2GGyS+)+qfP z!0DWPebxH_Fm(2qDOsdPiil}%#kk#)8jcfr(26&LD1E#B)eDR$BBzx8=JyeMUUcUP zXQ?*fG_+03=h&Gri}arfgOeOt!>Lv^snwW~Z>}S3z?@GDsXL@p!AO zMw~HQ-Shh-A%@-E5G`nG$qQ2tQdTJoG{?gh5Ar!CXGpORth=4Whm;M94V9_;zrmd% z>&ejCKsJ_JE@&q{&Vmz8v+ir~WZ5}Kut!Z7?#Er^lWuGh<^5iK$sx&#OezV^LfjT8 zdphCb!ppyn>`P-P;W;2eRSO2*MwsMJI&;{>d#p&!MZVwp{`8@Z8kVoEFY17n?f+ex z#&r1{F-@%?mW_~3^7F%ii$G1MRSlgdBK4^UP8^5o1>{57qw3)VvCY5c}Y$YaY1dO2$*@E1Sg$Rec<~h zdP8sMcc{;ujqs#2XlchCtx&M)VQUcAs$sg5zUq036bykJuWDkmCpT$JT;&L%@{}Zj zXD%1t=pLqYFr_H#O`BkV$LX|>rXz@VFgiNayY>#TrY!Cqbac){v60vih4u{aqZLjd zTt$2PTv-|Zc0}dzC!G+l>3<*>pJE|x(AInr3Q{$^5j)~b=S+q+=xr3&ZqLU6+zMBj z0YY*Yw_~sCbE<0=;=9P6`kz08>|dpj+IXzTulv4E4k^Jz{IatnLJER=+XNcJn(i#C zw&$ZBEABWekrFwkq=Rn)KRfsxg>1Zh^^5-g(LXRO-URPA*7_$)G;kcUSn@9nQ{wtR z$6o*C2_>V`R`ri-dCSi~r-(a$tu#@+Tx!kLc8HTzx=oo!6)Ie`E~*{dSuAeqYBx1M z(|xy=#?lqzI)u9jS{q`pe>cRRX0yM#rJH1Od&R`KpR7AO^T&xrKYSk^5Rj~O(7I4n zL>z=lwVR6J_m-D~7S^)G$4j3Kl}(jwxzY5eleesCf}VqSe;CUvCaa=?v~O>MTmr-? zk0l(a6#dR|1qXC{G(`XwL#q}2y3QF$EV1JmjjDa!3*4Y2&7sqqpk%|J{omkOO6;Av zewF=}6Lo}oyDQeFob046B)^+-ImQ~7k2MwP6X#~AoQcAJX!x~w%7k09k=}`NyFdLC zuNc$)YGO^%)Ux4zVdSuEVP{5Nl^Q4V79_hAVvyZTC^+I4Pv+K{MM4ao#@3FrwEEG> z{NXdhCx|*V+w5uS?AR64|0LJ`_`^52tVf{%)IQFBYr~;$*3N*>(WEZi4?MdiInII_ zS7BN=0|IK9Y(m#&)RmJ1tk!XTO(*AcnPW&I(r0$TWCtG~`D95^CgKS4`kYaQv+ajY z5oI@N{Hjt3Pq}3IJHC9X(U_P4X*!168n=>CpKnR*f4x-_vj*~!bs|x9-HlP@sC-Lo z{6wybk*?dUV;1J(A(;T`RS10{67GVQ{#;DiS~WWoWvQ>(Q9NIjiYrptJkI^`9|QL5 z)9=jAsYPMl#h!VWRK+9BV=Me2CjG(^vN?4B8(&^i5)|ELN0)6rAy`6s#d@_ zl0sH^VEA)|`sGFObE-VFbr)q5vDdQ(b@oTn`};HDo>7=RMpIovb;jc{Bh=GY`NBIx zOB4>gRd)D0hTf?zfW_Bylsq4)r+Yq?-2H?e&FC2vG9-q8mq$u!Rh+zA$AWPNt`rjn z{r3m+9+QQQ!P}FgWs`^^{UATUrjOC=JZ-nys|vh7X*QfQ+Ko!feon7dEOlw$tE`Nb zd8L2u)k;DpJaDg5cj`|<@E8B@3HT4L?pLAV7^U{N%bnVy8j>5k$znC^gPc`2FGn#` zt8p+M>K&H6!=PE+d5|A{&l01606}~sZ(5x-zvWb%H(-}LW3Y_O%iPwcC}5L z-=Wjf@%j`9_>dUBxR9!C+?ZbF_*@8;Bcn+tnm?pnL0j3usokmf2DmVvluc=rokjI4 zrgSS-cLYCu<@f4=;qw4259}nj;8>dmC$C1lFCNKN4J&WAp?aPB8w-{ixoo5$Hw@Bz zmzU2UiW@(#h?#JicbIc}mnc=0aWjBrQoo%4eEvb)#?s`aD+M>#ZY=q%R6}sUDKyfv z*uJr~>A1(;KBb}Qft=+R#og{Bv(%m*;g0>{UJj5eu*4%jl-cejsmDUT>K(?)>cTuX z(ASZUM}3aRPX=#grRYI8JDAmvxyr=nkrga45x>RM0obKZzy=sY`YxSmxmEPl2ONr$ z=Bu7luPnrFoeo)VkLOdmckqncd9fp;j;W@?aTQy845k(`D6ouGao=W^g#F&qZ?;(D zI&tta&+0XTMt#Hd3N(*){c(ra17=7b4E{fFZu5kCOsodo}N41K7Bp{xWxSm_?a}bHJ0mxlc7Dnp&5APQ^Ga$!`mUQpd+n zjOe?Q)81Ma+;B;xX5lECUB1V6+fF9{-xMW?1u!dK9l!ia=I=r!@Qb^z9%BcqL#0sZ zpP(QM1wSL2uHHbTb0cKs$5T}kGnUUAHJ&d8{a8io=!~_1busxK_)(&jIFn|*#dF*# zA_{yN;Flc7on!Se6`yFp>;F5VGCDev;YicFnC#fpom~c?!uZ5l3zJtwNAV6){qYXEQFDrQX?Q8j zj-Rq)f^kC3eWnIY+OEU2#cL>JC(iIUF^Gz{xoQ(|DsFim;; zHR+)@!BB~Ma?arQJk6|!5BjsG6gRTlA&zsqT$xH#5#RH~0zOmo5wY+sFV>&vJ6E2z zeL*C6bt@=EIJBxqwB-yx65e}bzhy75L1YgMD0CoNNaKNuCiZ*bO+=5D?EHadDoM9x z#Fzo(ugqnsiJC;ik5ia8$_Ewbzz^~i6*4p>lz%OXXvAC&53PxZ#QI=3eIsdn)xIRwx=CLDK7egUw#lT5uX0{StDjSEWIu&QuYZU z-gJc>9hy3c*jV)k0wbw(zcW5GvMTC<>WGK_`0logKajFVk0>Jzz$Uc4wuVivhGkB; z4|EsVlr>|I^E5+E=g)3oUfcP(p0}4X;=ES)&7}?DH8G3T_SN_JAx`Aa!#Bqs>-CPO z`qOE0eYqER-DHouqv+feYw>clK`hNw(RleDdpamBuy3!aGi~luWY^Y*e=O?BwQ)c| zv2L-f{rbDBVdQAv3rco#LgQxKk`01Z~-KTi6saybByLMo$QqV4nAWB*pd#1jdQfbz^3l$Mx< zG`L^g*y_Z-V`SDeJm^O+)TT5nwMuL5lKnZMnsMK)@>ijw8=tjsvB4N-BVllJOlx$g z;OqlgLq8y=&-CxmZY0Zv>MF|bdu*?i>EK3*67=Qjec+p#ljlD2I4MpOd263!#2_n$ zbT9^{3G|_Y@%#^jO1rDc;`@{dstDJ}NHTgwbXn3zA#AaD;4I5gbInmVmhbGIrbE~3 zKPI19;4t-RuI-kI|3mZFI~29NR{L*VQ`*NJl)IJa_knR43@IBl3arkx@_BGnz$n^& zv?`+Y%pa$RK7nG#HqB5*7^ztguD+xDV!0$jRh6k6rG!>wkYr1ADH-*$RO#NFv`|`e zZPrA9w+WeHNwpN-3yxH|a6rq#7U$w3ciimRX7ItA?xheoubu1p(y`r+f$_@0&cy|p zk8a5(RoN{aWTWKSMg5LxRiOc-X$#W zn5y`t$NWo#Ms%sbu0+^!YBBgO+)oONtRjrrj{j}J{*O<}k_*NH;M7wJ-hNTTFQ{sY zX0M=oi!StaZ%kd^HvWgZIa&$wkgWaQDsQnoIDi#Dw+$~EPN+|}r6(b?pF(g@`p_t| zK)R0|76xK4DFZ7dRW&&`j@Ir*@?1QIT&@E6B@=}5-+O7DdeSZ0*F-Nyn23lSiW*#1 zFy5W(vhkG1eu;`|-?|H^I-e>(>hAV(>Rg|PWj(eq>xrkSpWy=%iJ$lK;Yr=xm& zJ!oxoYk`}N*m*sb1enl?r1xr9tXo-OkTVpMkvMXrG#ol@=7i7c<{r#}Z>WWLvsH>` z$7{N45wP-lZn>^VL%zDa5~}HTGQ8r&P0e@^bT3}Loq&4bTs1P?6+^9VT$G4YsJr$q zs4(PXYCQO>gF7ue^POq^&pEY8j-5d;J`sGPSSB_BkvP4^tdWFW_!OHq@xgc)l|5bW zXHb2r69i#~D3xdU4#&x&8gfVgs1n9dOTzOao5tIyFCvhKbNVDuICc;#sQ(pcQrMa)3Eu|H{NzeJ%}r}|B3 zEu|1e2qBKokRb%Z!WU=vgvPNuUAaB@v^Y4`LyB&QW*`;s)+Tqp%g`EuR5S#xY7d;||QdKPD;nHgSpu_ROFVfGVC5E6{ zd(HTAxUNBsW}8&`5$tTm!Ep(m@|axMjA+MQ2j04xaM8JR=Ulv*f)1qcud6pkyCiH`{2Okw)}(g1QVv|OQ|U;2%O$Kd9$9TN3}wX< zdG`z6(x104*y{61f3CL7eQbz&wAy&djx1;@ESbdjXm+lC(Y_SkGMB$E*&3D3X|mu> zez>9|TN}w@2e+x(kzi-A`)@LhJ!s1QL$UK;ehb?giP=qqv)A_eS_&w#L@q4HO(gd# zj_{B&4A|OME6M6S+s1m^pvwDj%SYE|rN^j0__c3rHzmnPpU%{=bIzn2t9Iwj->{vj zR1E{u0s|E-`CizHfpu#_;j~D(vSpNpPkNtfm|EyywGUbEl<6(^`V~gs3gWj2qbISX z#|HmeTZBC>_j@j7szZJ9P;K}V2?2un*u&|t^2BbzE!&>LpRg6h?4T+Bt4CpNe?7~&uNt5^$t)r)qbnew->Zz!_!|4Eeozap6Vm+}4oANF^B{68Fr!YaN$DKwP_ z>V+De%Z^Kq!rat^)WHG77jSOwKvn|w)Uhw^+zd6uZ=$SL&XEVmn*{Rc(&U_GQcV2a zsq2KCYP#I^FUAQ8K$0{?=juAHsf$j*EHm|ESY!F~+y!N4(29GuAvT{GfmdWl zekQZDzst~B*0El1hN_;Bak{QzI>J1p-C7NM6ktH)AdU>D#>8ZvCXkdS(1R?Xc?j>e zphds@^nwd%b?>J$r&>Fyn2Q7yVJ^4tigN?rq5B-5di4uoO{CV;UJy9xUq9w?F|+Nm-Gnia_;~oj zyZ(Ow

G7^f2mY{YS>)(LTBUm3NO`IHb`2h%YQBkhD7c@)K( z7p95$&(PZUZ)&{r_5jJLQK5_a?06Xf$FgWUJCgSM2A{el613Wh@oiKb%R)r^@8PuY zUw@>LFz#e&lclv>3ikGe8Iz@&v6ztKX< zb+eSFm=ni~-++jI~~( zTRekA8aZ}UMNI@4UlcW=5i)XkK5z#sv>=X`9WR`bI$zNKW`BDqGE@3L8w>ql@LsCK zzac#P8BAbEltZNSvc;a7WMq}nw(j9%kb}T-pu}lpk;KY_dM^5D8C&6dbO6GPjKfKr z$?t{%FJ94S7%MAt@2wu;P(sXq9#UC`0;Hc{1z`qsIbD>w=C)fAAc^RBjFQOR56~L% zQ-+4`g@nqQ8-=<5?6@!ZN!A)Ghu{+>csT%Fj7Z6Xo1Pf8c)ceXb0t6J;zeAQ`Rv|k zBwn@WQ2e$D#DaruizTosIqgpoL%+GPim&Jim_FWEQ%osqwR zo?9rnC*!8|1DY|iLef^?RSOAp8av_s3NIzR`!$oKxC*U2bTp@pT8>*gCw zVLdMW?7b1GoaNJ?i5uI~Nimr$4(ZF@>=)PGN@Kg>*9lwN*omO9Phf z0T@z-UVQ6}g6;=+h^7kb552zx$cm6hmZkaeX_;r7l1Q5cY;`Xm=w?x)F&1UmQKHs% zV3sI`nP~#n9T7g1s02)#^7aLHi!pgLBOQY*lQ3%i6WR<(N@CF5EWdmLfzizZj3@(+ z%C}!%%#sJ(;N(bOC~{+t;bC|YC^3c>$>nSjMSgU|k}VS6jizl~tsJ|OS!TnvY#)cq zIe+*J^R(E&TD&CDPsd~LZfUuBCpZfEU|T|Wh0v{a>1RxS%b~jbJxMUvz!#f78UV-e zN~ub#jmQBbv8Xnlud(x;yLJvv_}(u>X;ALtc-nbtnls6PYwe8<*;1zm5^7|$9NbM0 zgLCVIhv>=)(xLq$FrfKFW~1lH#Bdu*Uf0}roe?j6a10v%fSuB97GJw2eU9tCp?bTV zDMFU*w)j<Ozd(%^*?^;mWGY>+cceO1)4JghLHz6hT^*%C}<(a_ZQ@~aI0 z>3LNA-RYACoAD*9cjRt%jN;n4I%hO3hQZChg{M8085WnT{Y7>C8NXsT1PXp9f~{?B z#I+3&KK;*R?XJb9BE1E-?cxe&eniU4N23mJeh>Ah@zRS?3bApMzv+6sKK<2MA2pBU z0Z$GCx+)}UrF4y2?2ANb2)U&dbwkEzozO0LivgOJ0pPNX{Z|0MwIrS77?BpiN>O_k zrpqyUN+KXpNh%>4iRb=3gsTINGTPW1UvSRi&Gze2J`>Tg+*3vAf7{aYdD!vPF=wmW zf!yeV+iA(Q-ch7-pqPk**|J(|4^Y2APQWotHlIn%Ap?O?yxpnTXu&xmC;rAmosdJ9 zOEc{#S}abU(AtR>QD%CE^t-qYc#YAHfeCEnq2a)z1ExbceRfgu3Os^9eZk;~XG8qH z!U~unV`ezdrB&IaPrC{55?Ms%D0F(`7P^)Ht+fb3CF&%EgD{WIT)}u^4Ojj)(t1huiN2W zS`X62%J@6iq36A@?c7C(pr>SHy4SZ^2NO94j%_i6WihW7&PCS=J=QYTC+Eu7*|msL zvW4mx|BzDwQpAJx&jyb*#7mL|qaPmv5B5I}m3{7vn-n)QY-vvXW#Lu21PkLcG+3v9 zO{SQ7y-K=!^eI;R=+UczN(qC_8zPQi_@=YWK ziTtPrF2H)?D!$~Xt@aQuRAjKGO5j%JWXEcy5 zWI@aZ5IiSVoR77PH>{m_wt6g51P}oz#q(8drcrD*dtgyjNrnWp8&GroFbtd{p!428 z7jYE!Z3W~R6HO4Eppn#E7@6n9c3D-2wo^iuiwTj00Qab>FUBZwS%3flBjS4a>#2qe zAAf8M#Xa*+)x7Npchs@7AMSDLDan;l7ggND_hYGZmJF`ekMAdaOnz@czIC>wJqeQj z&WN5nwgrwy*Ga4;L|-&wpBibjcq3U@JMZw2x_T)zPi*oL9t37V(0d*d(d8%{xW2-T z5%&ISPyLog*q5-8qYdhWvf4ZK0(%U$il3GmFaoSFCu?pbktJBcvC8o@AUX{Fe`*~L0eYLNp=g{nZE3!1vKs+gML_N5=Ob^vrEJ7IWq|sB&~`gzk9P zVB=s)AdmyR9&D1e23AV(_(Fh-)`^G(-5ArE92 zpJ13-^Hlz@%R3i&q)>)QEW4KC&d9B|s6^wtV3073fAW3KWrwD<@gY|5^;{Nzc$pY2 zIpE@^_3~yi6rFK=QwZNC$v;)|U~Y_{ZPKs>KZhv%!9AsSEoogw=|VUe$8-u7!qV&O z+}zibIz-WU901u8tQ;TmGc^qMCF3SY;t zIcmlIL~HQ{UmpsiacW-f(%pAq{-Lc6(E!z3iZe0i>#) z$SZ+%Z<`oi(>C!Rr5!5N8;20gt@qF4s@g-s>azc{ep7o`r1DY(#rN)rFVFxZh5oH4 zU4m!QTg{Tsn$KTykAUldq^Zq8GE46g{K^f5B;WGHq01Vf8NWz9Sb^}K8J-$6H3B}I)pJkHg zoc~s|N*-~Ad;^l0^ZoSUE9mT8Ik`MA{}sIvWD4WTMkHXr()7qIwHRR=I-(I@RSd3) zFur+L>N3>QXsOE>9F9qqIDATXqAi)+Z=?S7cvwh$_H>fkr~0@s23w*V9b1fS%u?@= zzBIh~b9{Tvi1{=%E#>$pQ`qy0vEWD7Iu92F*iu&8a9yjXCT1#63-!iG*L-}LV`UCO zQCan})y8MKV|7)TiP^1bR(?b4D+h5P=i}zm;AYJW*#0e_{R%bmaQSWzdIo$6Nya9* zsctap))4s@-pUcj@CUc!CnS|N%nvi5VYE_;A(b{J@mQ9ge#{@DKBI~T_t-v;~y3n`oS z>nQkGP11xeLQ(N^ov=7A8Q)QU)HA6jF=aC6i4{w;G*MdLT@+(JH4RGGzu>oV&~Tj% z-|l5PoIFISej~v8v_`Vgn6x}qAXfs+ophQ*odx$GFL?Ccys(>>8l0iwSR>kHsPt_U zk|VhJjuls+ZL-d>%Xw?!{HQDcE(>+0hrfE)e_-?K{6pqDk74RpG4!2r-UR|<{KON`X#%Z;gdP`5e1%keHW+62OX~s zC{Z$4#-k5q&Sm0f8y0#KKTWiB9DT$)(A9^EA97R%PNi;cYgc`3^xYYU_@gF3D4dRN zUQS`cT>&;6DBPH$f2g>{mqCj7n9P^%ks7{1EraqjfW!UDI{JQTvsmjCxrmDkquI^U zo%i2t)P@=kj{=^}Uih7aWK3ViM{xIuUKX44;-$bFNBClrLY@b3y0Y!g zy_V*j7qn-rcqiO&YIa+(1R+L{oiu7Yj_4QS0d2AGl2PPW?$gNU4Lc2?*F10U96BuT zHrRU4beS3?Z&(G6dSzZl6|a>*m`ZyJ-)n^lc4$ex|L>f5CA1j5#q=0f`#2&0pK7Iu z|5mNk!gf`?CkF#7T8cS+J{6%8;d;NS$TX3xWNq!ueXy&j%p@>z8=p2b5|kU*D>sm6 zuUYUvmP&oqd5W#E9!PkyITAnDEzt>~+k44Ge>@fCWzyQpU?+6B`jK!tYS2{ovdD2S zfx{$E^=_9MdRQN^+ebH8A9~cJeL7&JFFXp`h+qMXtkl3~67BWrIU80qL}yiVXITU) zI9;!4ST zf-PruI&BF#(N^tZ8JYQFBfn6ZgCB_ef%j57CF*z=^qu$lyZ)QzU`FHBV6Kv^M`V^1 z*$mkw&t9oFx808^oOkFYA7)%vv(=S{`4`b55BA%ewNv_&&@cU>pheEl@)1t_Q+ew1 z;$=jB$g}D@fedW~{IZwoB9LY|XzG?&L4O*yUz269R-Yj+91x^S=5*;Vf?8bHjT8}^ zB@-jmx-U@+NpFGm)--IRfs+B0GPaCbTqyfBbCx`I|NdHH$g{}ej^8WmBCg^5A927r z>TtI|#p>j2-%g3j&8GxTigq?ecK~B6`CPkC*cQmWCtmxfqpHbpsg4>VP%kG}7mbC# zsf5BKezuGI3v%3EzveunwwReF9O&V(9*r+gB z3l>-!T!w6_)B3VVJkJ$Lz(yLpdiFvj z9Gp#K--6PC=le0sj^A;?fN@-~8rs@qM+q`v#ie`iSO|!KhRr+XJjS=39JF)zS=K%P z*MN|Ulf0yELB8z%2O3FB`<6O1ufZ)}$47p&{}x8v9QyoI_3!nIfJAZO3$q>ik5`uf z%Gkt^m_$c}-W6y4jQ4Vf$3T-Qb8c7dQi1GgFB?RZVnKv+t-ePtqm<}UFN>kjkIO(u zAmTADz|r3$mxyqYfVuD*(ruw3^7O~_IeBKi?4^pz8(hhqE~%-=%$hkYUM;>_p%|F> z1K(0^$ijXk5s%GB8}?^qmvpWaM`|_Vk4_pXngioxp4@Tv!W~Mar&3KMYXS|X5Qg6s z?qn~y;B_~}ja~Y5L*$cuXR-zBw?mv1JpdrNuEA~MgJ?)-FJ zDU_O-WoPWH)O{()dp@#+lE2H~~B)vq-n6L{4e24v_?qiq%1njecdi*>+hP+7Wn z*$Z)uSLp0ZGjfkBoH|}b7TNYL`$5-d!Ej!yDZxn&P@LD)_0!TZmVzPs=3^5=fHll3 zbCa?3Yj&~l7Jfq==JM-G2k7N3>`4QywQxmD`Bjuq$+OKzg(nT+%?{-zW@jEd23mt> z@_xeP$$e+1Anks`eG0g8-u7eIK;5BohLmQ4`P3X)%NO!v#S#Suyi1vh8wy-|PwTlZ=>3?iC zU>0g279pPkyvgzqJp2$+^9%2Cgl%czT+&vJ0z0F=d~lB{X_UNtI-!4-xH&z1D&F-- zijBFw^|ZT%wx(o&@8$hHy1AQaE^SF;?x2QeR}o1VF2I(HFeNN%_aeQP z0a?*c%&=pUB0=@r)z9utr=oM#>Jr#$Kc)1$Is9+7pissjcW<#P)*dc`A zxUHK_#}7AWBMebs~$-}GDN8mrfaNW6rlE3 zU|$Uop^XRqmu*gbaUTxMsg!ocsr2?L-?@k|$N4D>r`8c%BbH-_`uvemX}s-p7d!Q8 z4#hX|o8FeH();!LA(c*K)fCw7cx<}0IBjmR#um*qybeW0QhC{^JEu0!f} zM_U|8dmYMDpN}>@EYb}37h^z6)KKQIen;6Tm2C#H!h(z9JkPra)ls5}K4gnlDHv{4 z^**~jMVM$iB(E*9XFhVK$I}K1YLvKBN6|?EiE>>9Rf1pP}cJv$XC?u?~ zjn=)d*>zm87e8*V$$9OUk5pwd!4ZEd#yp{b45!)rW|)Y}3!#UuA3LUd6_8^K9Twz5ioz6BgNtA?nR161HU#!v-eRg&`igrowkh- zibIG}?J7m9{9N+kA0JHxSueZmp0-`FD>Vco>QK_Sj`CDttE~6TH)#`&w4`f|Ph=~5 zg?aNLv&Ubv6&CBt0Yg~H&VJ<;%Wb`5IQbC2;Kmo!P=zMBbjyw>hMl=%dp9a`Ip-w! z`6`bJ4sP+17<}r~-Zoc%QZqjsp@LYzqiYI@YEVD8s=Q1g8<{hgTzN$<_@idcNxmM@ z&BIz0vT}2!7$wyPI^_VS7Aq@l_#7{C$;-Zcus!yuE3~s)&*`dH*sqriM6Msaf4A>f z8Ghqns&aDh^6o?BR+q@rWyCr3;~*zq-pUD{(o^(Z?K}8Al3dr3SYM%UkuhBL!Y5V) zG9hO!cc5SbT^n>^`vFr0Q9k53rkv9HQVaqb&B-m+-quyB2P0aw1SBjIa0nrE6Xxyo@d60Z(Z%=V&}8N6Tyd-tU-#}XZGe^xHtx~6YY3hV0jvUzelV4yn?DO zt*6(^@ur8+&61u4!^fTOZ{?{v-ID@=S+gIhDOM&wTkY88iMXJl#gZwkAJ(sKeT1h+ zbZ*goS7+8tu&Im>4P2XNB0*d zLg*ArC2zP41yeUIQ z;D~_qZv0Z9W#+5)ks{!)_U*tP7v=Dex^_$a1D(!f~jN|l+!0*8{9~4 z@U2w82x4$>_l@T0)-b1Qo+R4MP}aOBoQ~lK+d$CuX#{)S8lF1!DCl9>|5eMCzeC|L zarc#!q^NboH^(k=6|F06xxPZKO<`rN``WCl4Ix)p3X7bDB*%ue>n3Vt9kH@1cUofC zu_`RGujhT<>mPXMnP29a&-^gYGtWFT&ph)v(0=4V52rLiVZLA)9*+p0XxShL7`=(1 z>+bzZlKgail=&%TO2b!rBB{@e|JPy+w08KJ{8z#d2D-K|c)#_>@7mEqn&Io$UhLFn z&+aqaZ{@9{Rq$9_bNYro{;adxxV-8!e%usp4FGs=Iu28ENu04 zeNiZb)wSf*>;rBrKJ)HaVt7RqZnWkWim$-vRT+d>cDdP>TM|3SdIDPv*1qxFtC=(k znf~VGMD*iPbkswg-GX4%@~z zJ|SybKMz$l2>~xEJ_uDv9iE1?g^fQ{$l`1>Uh={poQsy>ogOYBt%L*)9E=b~+0Jjn zldR@&QDtyqKg2n|Isx}AfGz? z8Ak2q=$~Oe>!ae0{nDwibGQ9Q&eUeJi}-B5#;kJ)U5O{)&%P-gb^RVk&GVmXpVG%u zm9}vUy1Ez><@7KBV4$tI--R37U;{L(=Bxk!Xs)x@Ih7J@^V+BIn2MWq5kmZUUMm}s zRdULu20vP=bzv4V{QyPiY=6+v?jpq>YXjU#FG#{^b&rbNj<*%6t<7`|eO0{ibIXIH z%+yp*H?Y{TSsHK@o3J3Eik=vxB;SVQA1U84{NX6Ak` zGgdz|g&29CfM0{)HK3oOHLYM=9bA%Ykr-pWr;&(c^epNklzKn}XiI2hdOIMBJDgo^ z$bE{3IzsL8UzIzg0@;ln%ZVk^O^Pk2Ib61#h7W$`zBGDwb`37Ov^89 zfV|@S8YG4fbQpId`@mxcDKQec)_c;h((U?bpF_g5O={b@pe@Tz?Ykm$BMVN|<$KxY z6VG=!G)q?9-ZxAL31;Q`z&f5(u+?X3!d$H97>)dPV=dyD^W%y^-&a~>c6`R_hJEek zo1gx6j_TE)IP38K4U)(aE1fRn&lovU`r`VUdcdE@MD8LlL-(&ej;Kd&)wy5anIg3;38=$9mmj;28F5=6HZ{$)r;+43||XId|>HDWJ^cWU=f%)GtX`d+i-|{xMAN$+a@gHpr5phi0bP_u3fa=(j}ACu_LvD-F@xO420gbJ`#65-yrHHtk#r}5?Rro`zlWx7 zzOdwWj#Z_3#aOwWGNtOI`F4&)h1vP6zwFF^5@$d;mibWNzQt~r`O7JMRe1sIX*N3D z9(WxnwXcwG`J^Tn1`eP^#B_Yj3N$p9uG`PoUPkTY2p!y?WzjCN`Ma2P@XgIlOIBpF zkFAMym4|Hng>XvNkZOoaX*GB|$CAnm7N)D@kSPI0xP@S_JcQ8MabKvSpHid@0sbxH z)3u*(N!q{RwXd0o6Q`!ICr8-xU?$lWMnG}1(G4CHA3GTzqSe(<(a(tBKUaoPm>WEr z9xx*(Yhr)7*Fyi5%6UyzgJiyD=a7VAPm5R#*=<~#lq`KX_0saYSeo{P3qXi6B2}x; zM<{z^uJ)z%(1>UuwNd`ls>jbnUKMiVZ9}&mrTgJ@j?j{ggT)H{ChwnJQLCK27ZBbh zW!`oUZ;OlWL^4zI^|dYz=@*7Uw@xRZE*+qW$ZG|+9StM+GsLSt z>iYDiNoW;gQab#Ba$e5gRychnG!{`{1$Awcd!W! zD)tfLQjHeXO{D%j@qk10WRGpBR3rJ2au3U;n5D3w>s@Pk8_K7X*j?@*giyxA6$0I6 zK;1~_jOxH9v|eg;u6a1qlB7{RWYVk>*|F{E{-gBfXK``+&jg%SnaHZ?)d*4U;z0jN z6Q{s~PU%7RSL79Cl}Qo-^d?F#4Ydy<9UReL!{P5Jea^HWiW$qZC2IUqJWo85V`lf;`_wBoWtJt5AB=5)Gp6`NX3JyLZ@1^cA07d?39FY~xfIPKxYi?vxdwW;Vouae?FZ9B0gWft z^la=)P1m(9!1|C=g8H|xMHT$)+jVf+EUTFK)|r?1|_okPqF`*ZH9p2cZuMlYs3Fv ap^LD0RijWnIF-zCD2JESYjs!M;{E}`aJ^#y literal 0 HcmV?d00001 diff --git a/docs/.resources/ssh-output.png b/docs/.resources/ssh-output.png new file mode 100644 index 0000000000000000000000000000000000000000..7391a214bc8a888d6b78bb3fc5112bea4f8db03c GIT binary patch literal 41209 zcmc$__dnHfAOD{b%CS;eISxlr$_&|i?-W_bEF?ts-XrUrjFXbRXZ9u$2U*7|GBR?I zb(~`y4&S$~>-yZjf5GSDr%q?R&inOzJ;(j=c*pANs?l6!y?W`=B^nKN<;RyUk-A^H zMAAz|0sPPIrx#9_E-XvZ{vebQRpvsd*WIEZ zmR(jq^<=h#D-7hu@tgk13O*CYWS>vp=;a7LtvQ%+IxnaZ?JmwsG@W{8n;`t_bvJP` z_ut!vG`H8=nHP?q7=%kq3!VlDohC*$?knnC{7lr9Rk@~l*$)7@^$F^3*yMx7^# z(pZ%H+3^|@cyUoy>SUEr54}PfzzpRyV6U&*ogANz(2=gU^XtjV^P3 z5}hyLNwO0qhD99%MS3~rt4R;h>g^uqmDYj~{oh4KZuOp@>~son1neq+Qc#n^gZB+Pj+WxEn^ot* z2Mt8A9tK=w_?ZCI8s}8 zI;1FC9g99S{0i6~Lg*cC&kX{X(EMQ5wXzAAcdEJLQ)nH1Bkr z47BYJvw;QhkCXbq{^hTLjp59zTWR}SGZ^-lQ)~BVISE;m71YuOEY9F2R`lS9EwXVT zsMXwi&T}=IBZxQdevNv%&r&RO;c(u+%G|yGHX_YseR-p-iZ<}c{pOW-tM$_`z7e_e zfFviXp7PpZ)}Hq;j-aF85O;L~@X4l?ZP)?qq_Jh{4P$emnN8q_{vB&zbFMQmc~$)_ zH*uiz6g#NYaRAvgvHx_VhPSMa#REIuOn`e2+%39qZ0@GwOTDtA0Uy-f zc7Ap;CID<#qWd}V5Xt7+CPcXPiAG`tzB(+m1CprwUC}ttns1NR;7Qmt)D}`%QF6hK zibGrGyk=9Yds+Er^eo%X2%C8pa5d~pDS~@DOBBnC_cdRy@}&U#BZCGmnN*I5FnU=} zj`+l->37tTk!4`ma262W?n9!}5ogRVN5*PLWX-_7D+u>l=SG!=uug>_(Fi;yw7q1a|laKVo1|FIt2xFl#20y^)5Y2 zi|_A9rmq;T*BfQpJx;wW_Mm0AX$x-^i5N0$s5W0#M!fCi5!UV=d82sod7qqRr>b_b zl}df_)qYBPu5}j12-}MKsjEt!gAW>&W$J>R&7AXSQH~W#Rbke7PO5KR>Lk9JUWsi` zrlMEsp=RKcBRWI_;lha>JD-RKwF%j&wlL84!rM@n(IN4|IP^FjI(Hi+-u}yfryao* zuF)8iSF@f8!gIg!Jq3x@VpjaL0xNbTs{(3Ehl?5xO}ro3l|pm&re_@xjJ6w}Y$9Q#Apw!Plx zDF&*sr?>~_O*Mfis=009{tb5@|SM}UJ^QF$+1OJ9K?`JjF#zo+kFIO zi8l8&GI7ET)ZXg359l<$=i#_E<1~xcG@Aw~)NWJ^1@@dUa2pC4SrkHnM6fpc4;Ot; z9y$=7sE<&ubYzAigssfZzxh9BMNAhMcfH;f6hzx`CJXluHo@!bSU@XX5FLKID>>^w zaWvumaOOIO>l7iOY7q#kV6qX`aJ}dRyow^66viw0JjM4-W&pNd5LEb_RVIuQ?6c@P zU=O0F!W!l3&lKKZfWaR3*3_}gmQ}XgYom+dS=MxM*5bKQ?>rgG;O@F3FA*b=hq4mM z9heY+3#x8LFzRC5s%iqqlR76^FzdK+Jv!p}ZIgcTHo*<^aVH*fQp9*=&>K1#-bO#R zdgMdAxAXUpDm$L-nZj^q;^kQ7&jBIPaOBVZ-{C&ZdN6`mSSSu+PE~iNiIfJmf40Oz zi_N!m+;u2Z2(S1I@9ECvnfe_a9mHpOxNb@KV1KyVO-Co}Y-((Q(rA?N=Tso96a=S; z=}iGE;qY9Q7!P9i<n3E$6oUW@**B$j@yiU+m_jQKx|<^LrbJT->AP& zWbEIh!f6IYOo&81Vv~z^p1B!IdOj|MjqSnmLpwKeX=b}?qssRPX$=K5gsd8Afy|t% z%SbV7xtQz;fzy3`*<=r!tjSDHxu$akeSNXDd{siB9M%Mee;w@kszuUY7dc z;za$^!e`9ewn;K#6!V2|*MCXGQ`q)Em;?Hu98rs(yJ_Q2n4$S3oFcr?;DUr7b(A%n zmf^LM>T9kXSTtSU&`~KF^o6_{tB;eBsbc}e1dXO6{i-iyYWIc+ltH>3248K$TXHY`FckrAiB zFW@DOY>V57_$x+cQc&gogoR$&ommgZvh`}n#DCPJwqdL&r797PPVQ{?7-bax!$#uF zJ$)mnY8lL>;YtVyjM_LV7c<{D+`cZhTd>5r)?$6FbPq{I(vqzC|L+AE01Ybks zGAUK-bjwQF=JwSc*?MBlV+!iu&agBKdB&*so6XVFcp{jN5fJCtI_R5th)uZ#DiSw_ zbZ2R$5&tE)(f=ATekU4eKB}UNYU*^pp*aFyG6qt+jjN&V>nYENb6FAxw4xf`@hGl- ze5DR1t~1Uk_yrCOM*5Y6w^@{B-dZtPaHU&O%^FKYH4JgB7)F(tw{S6{3#v*xWlQyZ z`RPrF3T)$Ybo3IKR7!m|3=@Ip+U9K)$wPnsy6A>{Tl}P)PaS4l#4t<9PBGIC&9q6u z6xc&VJzUcD_SiHjC6p;wd~8>ad!Yg%-- zi#o+`99g0(a2tmP5sK`84aNmwj>n?wKXn<-jwTHmOm5Cl`Kb)2+!i1xzt={7oO)t8 zl2<(#2S%$z_cG%5<}ekN*>A9;(QUt+u8_Vf)SbEho9CnKazW~J5^Y_a6Rw2T)0Uyx z$Fyu(0-+A_+09^GhA}2lVqtjlbCx}`QO}rIp(%CJ~;sA8B)67RS+g@mJ zz;0KyRomnj-mUh-dFyAB3OpE#U2=?k0viXj;WR^q<~Bi``9Ak038hgw8QdtujOt3* zlcM=+WIWmi(0)RMeXFho4=|wZgfM=ku49rA7(P27-3%63JQI`pc5pO1*oL$d$j_i@ zUnZ#%vGPpIm%P!|CTd?){5pw%J@doK^1e}EUcjA`QhCYBA-E# zujXvs#Db${LA6U86T7b#BN-3KLsYwep<)O4$}`GZP8jF`a?#{aT=5&in$hqRwr-EQ zS-6|$UifAjCBD><rJ~i48kCxr44^HsPA)HZrCspnWy;VlGC2=$q!kr$3DA$NE9B=+I%s)0yC&l==u|< z7Z2_VJHKt)i*HVBqx0{`l38r|u>;D*N~uS>TuolgdwQxtpZ(yBgKm z7SB%3kSVy?_$!Ng6gVx)^I_b3W&VF3*&|ODLFMZnbICpGRk~z-KzCgUjkmPzHX}Y~ zo7Q`-e%{2=HTiu4jiNlK`_zGHqvcF4`LilxC8l(vitz?iK7L88{q9I%A-DU#0h{}p zbJ3M_Y#p>?+d;hjo5p11zDkE$^y15$TVsBETcYsWVGA8hY=XGJIotCZbZxM*fG_-z|E zoEztE@_e6Qtob$0v*$bxMP3AevQ0M0*C*n)Qp9Qw)G(?3XS@{_rP85^F?BbSkRy_h zRw`VvdP(O0i5BHJo6%0wkpKQ<Yp3dPnBx9O@PS0apVlo&1Kl}Ko4wpk zD}T4FOz1tj{k1@m=y|F*vHls@9crPnwvEwFx{9h*vuBzOLB6~#gqKM$nZJ+z6O~^U z=An&0Y~oTS)-r07&{xsov#)BuiT#%QI>1+D-r~Ij^8%6uc>0yl!8tIa8x^L%_#pd^ zZNASgKgbX5R1GgZZr&K(4i^0#mrF zvSQG3g7^UNB9?qjh)gCI;yruW-op7=qoawmpxLWxl?>NE5L0HL;U7pdb76rM3-vNX z6Tcqy$(=EDBCLT0UrkC_7Uu^h>l$E@-}YFRzQjnq8C9T+oOWo(Pw_G8KC(UrCinqh z+GVeHxBxIQY9jav!$Y`2kHfLnw8(v6e0>fa%Y@FS4J zvlMt&tF{~ww+dIHjST>Xv^m}~p>|;x086+7kMN$Bqx=K{-uX5~pS-T3>j7T&@B#Htsk5WyK{7gN`d%!irT5X#0d|5IxI!RqJ-k zC>i_yD^4Ac_*+>3p!&VVINh7maq_oTFXL`s?PaR#*wPN^#Dr>Z*3kI=@I(45JOaY2 zdF@UUukaJwD+ZK^8n(?*FxqIRh`{BBb&shIk0?{4>u0=ecCPrVf8B4=a@kJ~_SBv0 z9ibawR}BA+A{t^UYVZAh;BZ|4P->;YGGW}P5~YOoE5zlfnb3y9c~~$JFW3NZ)>m+z z6}l@II5O<@UPn_A3p`1)C0_wfPbG|6@HBi6YID>XcU#N!cY#N&7k=bNy%QNZmD~R= z5?wTS{Z99Y$RU7MDPy@?PvIQOsB>v!^~rvw6=G1gxY2!n8>f@EUDB|(8MNFV!yz}rR>tGy&qKw zr-n}SBfF5p4_TME1h`3?Kfm}+WU}xupi5$3iu&@bHS#_u3F?}ANH*^*WyuQrlEmYi zJJ716gqzYPsri$42UXv{Q_i55Sw)dGE52eF^^=Y{*Xfj8VdCVhI@ze>c~>f{PMuzk zTwYark6~z5YFJUqn%doaUm{hN;XfI^t*!UrU`lr*{8{sYWP_{(btQwx%a-@%D|e8R z&yp~#RqQPE-e6VyV@vL|X(P6yCbjl*zK1lGx-+VosA8{tGUAt%wv)P#SYMu1SAxmx zF3JS?{$Fk6%PG+HdgeL#bP!;zD9{;!BQRdnUMmhWaw^@1c_W$%P z|F{1+-0t~iZTLALCHzC?$3QX}I9v#}ya;tUmCrfR;FfqGC+{5sY|W?xfcdh+PIY6d zd=@PpcdOd4n#X&6949#`WH%`QhAs?f6{$(GgyI1Fq%r$^9!>oMP#4UC0QrG-e|&hG z9gsT|&$~e)+5pA0T-pazh;wU#9CbLYqyx*F??Qty&_w3dPW+TvXPJNu2;c;JAA@G@ z>5CIRfpVPKf*>aA$=>az5jSVCj$l~Y0TwDZldYGnv;Jo}NiI=O#9^(v4=hC(0H7jc z3vn@=j!^UBUy&C1H;T^r;s0E|`79gY(>JXhjLhA>)u6cIQUD2|ZoOT7;jz|(rx&t^ zAfcT)>J_j=fz9$-U4RYSfAzuNeUTM-P;&vAfzp+iWVg;CuXz*Z^Bbb3Zj=>*Fq#(V zIO4+5g0Ry2-^Zbrs(!#S5Uaoy+TN=BBH~B#r@~vV&LtTqqEoX9TAt ze~dLiHt*|6?CnDS%4~}B=^y!#nBhokwHve64%O<Nb}J38}P_<%G9X>JfF5b z*BV{@yS-^O&1?Xu8Q0cFq;}eBW?q&>?(MQAJi-4gR{)dp*2yw8j>mle@+20Kr7)`QLB&VPkMEGW;m-m)~Z^>ZlSO zO|BczdtFvg3RwX3p4}8KEntmrQ1O^1RZA32*lQGLbOcOS_IL#gV5sxT`+hzE@EQcd z?fO<_;KcG);{rdRakw4t1fR1V&b=9tS#6kg;gkCNS;_Zrb>G+Ua4K^kkNhU416P`h zop{kFtpZ)@1OLC(YCh&bsb0kbx=0F807PS$s@8$0*gb)Z?lf>4X^xd@UhxEk3pLBd zyB`3uKj=Aa!Q@=TJ~=C+j`TlR2tJ220>iWMMG;$SA&lPELwcP|cb+}HXp3vMTQ(`I z%K}Y0@z|w;una)8 zV>umifW#PahI=CbvHReG*6{yTX8F=`UgJ69DSKU`u(Y8^$Awl2kR7R*M<%P23QwbP$}VikBkPSSrE;Xm^JpaW1ul_>u)ZRkJ_Q$*n5oHt#&gRO0- zFRjw`r`QkIPc-K~TNU)N%AJ*1m$t~>n?PFV!%fJAo0}&8fk}* zK(49y3*=8X4jI8y%3H7HeStix6s@jUMJkcAvp*u&>9INWAcj@AyuE%6NDAgaHj3n> z>{7g>_vm*7WCm3#n?FBe`f)J)7kcmzNJ9Jo_RxnPB?ABM3$90#`&8`S4aHMd^@Nf4)F4&%;(CO+aq-MMBwQ&>{)`#~C5 z4A6@q@g8x-Sie15u8(b|GkSr(%^wtq{ZZOn?`Mjj0>bDL4oKBT#P#IyH>G+IP3g~6 z`Dev6(n$kTu%Qsl7(-Yj#xIdxDlj7x{v9}tvNNhgoPsdd%S?@}rRMQJggJF+!gT?6 z^=fy6%+3jh*KZXht))WWvI|7G`c%!8ziE*9(R1_~21k1>@&peS+Vhj6N{ zFk5pMhgmE0U4lXYzo*)(86$!A&Gz_wBtQkO-PMbt zUAG1KYM`P#H0eBLtQ8sno;24E5cA+mZN&U{7+yGwbT~pf`>fh@{%8E z%Wm_=PEKzS2^C_+t5BV`=cp#9dX9&Fk%9DX+#`eGYhls_Ti=u=sA_|XIFjjvir!$y zeANu|29Ro#5_1!tv0I_}oJ9n1I-*iF%qZ(Jkuh|Fa&v#Ywm}t_vYEbz?xj|@ueW%4 zQi7C?Kyg}U1`tUi4qhB&vO?G0vLU#qUCWw{mQqQsCtCsR#1cbvpO_ zAc zWF?KGa8|4a>xB%b0M}gW_T_ILIR}5b_J3hIQy00UhB7Z7yL|4V7)!!9ZB{hWDykG=M|svQJ{1)4 zIBUs{WFV=CWqvIP`|)|SiDXDh2~$$m**L5*CbbQBWz={gl(x<>u(xhAk_pD_`%-I! zPXbloEWPv8#Tn8rxnAXAOE5X#x3PLl0Q!SOWVoz}NIKBTl8N}mp;#PPxLl9szvx)9 zl(R@pGs{I~sf8KXm7k6%**`F;ja&k0S`-gII+}gR7mgz9+3bGQl$0YjDncIQy>l@( zQ@oR=x|8?KVK)jQjLLDJkr%+ec*1gjvjw9BmgerBzYG=Zi>oaB*jKx9djkgUN4dE&nNV6zenfPW$YaVi!n41yk)c zldV^-*#0V)!|pYTs;g_+EJh&dz^dQ}`GYBe2mhessfjw*e-IwmSS~7={XYz-am4E`r}y+$Am>n1yzpcE2Gc45C5??xk!}BN;^P6 zQUQ<1iTJb=FL_)Zn>EQJ=qz(huAY84yVCqHooRE+J)w@; zaLwWTTh6F8xNx&zR>Hn0-{R9(QK}NF!&|vFT`fuUtX|hj)lS~LR zypjnV&2?t_?5J$*R$@vwWVXF8&VkZ?F7(-Rh4+6e>o%uo6N{1%mPCZK7o!G9Z*fbV? zN>B`k9B$X|E^I4@+V-o`6>KrzUq{>^jN9WFgsE@XOy80DaYK`C+imU->ETq9^G43j z50(;FxB@uj;ml=CdMwLKW?WlO=&-D`8uK~qmKetqGCkaQ$HDhw)Y#K`%uDN`}``sxM ztNE?E>sVtniuB617alOoG7NTJbj8>BKMNwLInFw2_FYtIX2HE8oeE*yc?=5)MV6b* zs{m$Biqg!-iyuRktODpCf$RKE>FGW?5GTnZnD?%VQsmU=)nS)aEx_cm2)x_7!h-AqI}JpLMr<5e6&d{S4jlzog|vsRZ32*E)qi z>2g|5Up}Z1>i!$^RPDKORa_ez{#(<&pm1G~cd6=fwa%7;@zS7%UNqHv+=imjN~}3Z z(gJcdap78Axt|UEYQD;kSoBQ?qZ5eu2IQ0e4Jr`gqE(1Do&tREz zTvomh*Oz=-Z@T|MyX`Q273&+?G5NPQEd%x-k7l&KixDGaF`t5ZtjhLA>2It~L9^i^ zU{${{RrO3hdT!uR_X6icaxCLI zi|+gJkbTvC@!UzoGdtL`7;F)Ey}xqBIM~~dsyJ8;_INtw`Ac&XzVgqCb&S5HppEPW zKOsojdA)za;J=ek!WjHkt+MX&O;73MyI|EslI6Wco!`y$sK&6vu(3a$rC|2MScDhg z0*Mm8(qF>E3vr7#TXwtzsy$&Pd&_kd6}g-Zrv~4cS5$ox)E2cAcQ@I4;P{<1{h|-_ zP!Jn)RqtB*Mn6fy;!sH+HKMt9P)XN^Qcr5D?r7FG6C@|V9KHeTO?CTotni)QAR=s! z$tf;i`_NkjPxaPvs+R0Gi;dmj6Sgo;F}6<?pjeaeK$T?uKhS9TVL2BkGbG%A)o1^+2Y<@dJ314hyk)@#TJGgO|vv5#r zHjeCZ^btHfdg3k^dnhcwa|2b=@yFYJqc!HX>n$SZH|%I|>iP%C(XxEMCET4zI8#qI5Q!7|kO6poVn(n3iOKzh~T(Z;Ng^cn=HF)mtmuKly z)^-dxz~tm_t$$ZrzxIWe^29JGfS8+lp&xx7-y%;eekzD5q$)$aksG=4^+{1P{Icr1 zMrs9{7#4?dgBZv%tmqPpG)L4YhCg`4YnrpUzV=9e z`T~c-qc`wJ<*H!=sHuHnc9Cx)#V%;hODNsTI}Go7H;uwOx#T_fDTTk;eq%J0d1_a} zqn#3En{v;`33H{tjO5iMrH1m0mGJMQ_Nj6F42S4HS45u2+|Tr$_x-K1!6M-h{Di3{ zj(abvzuPyHD%B6#UwQlo@woDAbp}97U;)Y*##o`bmy*?_%|hQcVQckV8mQ6+Sxk2L zlHcuwn*GYWT^OO|HEye0v)(ox6$J1yx8gA0jv-OUq+;_d6?(@i}TRZR`G64VNl3k1&;}Meck3or3?}lok z0HNE; zm8%XKvAV5+;yNx^b2H>H^j%TBno%%l)>l?a2k)OzT~P?~P+eQe<)}e7Hawwpg!7T7 z)9TD7uLB(Bip={Lo*Z+}w0fz_D|{$?G54%jS4AE;elSV5&u~+vmvFY$v;eDrXmK(Q zWKK7dBd2mp<#|_Tx#z;!f@*Ly6)r*AD{$l)x}yxGu-bkGi(3W$ez;Cq`?upFTsr`< zlYn_>_d&}&EOHjm58Q`87LK6vkRYN7d;9fC&rgNL_}lo!uKma1r{ke#s^XbEnPZae zm6b6Za}TA`Z(sBq!4D`xw1;Ea)w@RNKf-0tm$3h5SXLL{tLsyLqYYG93be)NJe~tqS%Iqd1JmR6qO5@n zm8|t7>Xtj|pS2YL1rIuyOdWEBmtvr4fNgX`kI|InVrKLO%*6wAa;Kwaj`n~nx(09x zrvOgvLTSL%xe5>jSHA^%C6ECvV28LcYDa_T0giQHW&Y->L?im-C-7(xpmRpDfIb%V zxF}Jum)Ta?7l2(ldONcK0vUMASNUwa^ZX1u=ex+ZdUsA%QQ%cQSpJE_iJui3H%L4u4eN2Y3XT^EX1sXsL3$ ztpveAPhaz7t2(I@+pf~dk)q(c-Q8U-}rvOFzAeakm@s->o z;^6`kxRMPQKJDi~(d8f47ST!B12*RnZhN5=0td+V*JcNRbD;wt?cQm8^|_aI8Z!+1 z4yK-H5W9kG%&lr`qQ0TfB<-9&fYIF31W-)e34$p<%0D|fhtq{gl8mw%0|MjAqVK# zQRbpV0I$Icvw{fjz;95MdjueW-20N;hRcJ=UIya6GFTLJk94iWGMFfu>9pSJy)*x0 z`l2bu_D6R7qWVUo&R|k>V%G1P!>UlO*rzsPA8Zrt%Z`3mZa9B5{ zrEj6_YW(fTeJ7vi{Weut0;%2aMq9H5;>MO)$uz(eiLc%ai5kP7!sJ#k0PyEc)|GUm z2T>&N<&%*+eDa)%m4uSUFT@FSFq4P6;Tzi~(_MT@B)zw9!4MyUfICn?d1dn}3LpBb zH%iOAo>8_0?{-lR0*IZ3n>{7zH7A;i()K&OczDY?+khhfMD$-2n<4=~;*|YpN_vJC zG+j#c?!bb~PTRh&&+jv;8HT%)(||D_4^KtD8^(*;DV)43V}Y|0IID0o1yD%xb}Jwe z4Fb+O`jv4af!jUd6cFG8@lP=?^Ag0a5}`!|cM*&THjht|6wd+#^K$bp`uFOkY84-Z zc}tG1T@r}uoxQf)F6omQDlUuB3S^W3=7B(@VBsXebmv<^%HlTRPVxP|5*vvU=pKok9drBD-qlb_Fx5^P zT|D4zG?2AXpb$RzPIjoa_*99PS)?a*O>r(1VT)q+cpiB4J6eI%>xXspQ81t;(2*Vj z=Q@HmfFEd21V`ImVGAjhqhZWSH7z4D35IrUTHC)@;T&8f=nG}*w~8V7>jc9}Gz1F0 z;gO_2A!eN+^?{T-{9uwlhB8;1Qu+~)i@fL!JtcvRAKv7^K_uIg?_lxsbyBk{wAVLY zM{rA)5NTK@jOn=-W0hFp?+zez?uA)<0f>4i_c*L&BO2=SbsW1i(vRvLfFyGJ)~ z-Sb{M^9{FQu*3a0p2zI0MZbYwq}S)?;`0a2Bb=_y4ftR4K_^>oBOLW^7v-98i`{R9 zzVZUwTibz9?4h9wY2`9XM;B_651V*4R0J@Sz?dx~dZXP+gGEs4A?tU^I&dI4vXQbC z@5AYmXTeZXP+BJo$3i@{EuYN0Y9RAOMJslo$d~!)I2;R-vs~Rh$e;HEY3Gif$pd3p z(4m5$PMJ{M#_$o>7hJC(hg%PWkd8l~FR68)=;+wFBIqH$g`vJbbR||(ATpD@`#6YE z%qGCC87XFW3g`3HGJG;l=U|rX491+fHV} z^QZwpHoHmudi~(yz8{zf{_vy!y4LZ)ZE7Onz$|r8oE>6~8V?3;O&WFFl0tKpqq!<# zC`cdA*8M5C57rrvvU>z5d*PqOlqUTrwRDm`mxz4ASjMCiL=U<%@p&`R0n=wi9rYFF zd2+$f6={n?5j-VK&7IT4ZfUZ%cO2hq52~&hLDrnk{g~cdNFX8`n{?Io3#W0J8l9UX zg_XV&AMq^tKlV!nHsw6>hMeYJ2Fc=zIm`-QFNRX~691d*nlAe9MIp9Nl$E@X`FdPS*qu)N|oHTL+!CiN{Oig-kpX_!c9iT`0I|%1<%+ zqyqmkUd)w7$=)=Yb9vHAUt4an-u$eRqC_U8Z$J0eW*#aVZ1pnPo3h#cQxU0&@-v1} zKy`cACL1sF_4&qF3lDzHAmdd{e;D(-1U0g1d1Z{&oR7D51(&KiICn|XHQS%q@ymVi z8*#&0CgZd}!Vbc|QaJkpCTcg%s_y8^;QQET|MY?0!i9@R`?eU_&dud*7*^<)`gL{( zXhbw+*_q`|0iAM+S~AaA9hWP;07Q>oSkHJyYZlVn7H}b|#AQr>JHlCAWk$%qSgCNv zu@UkpVWP@tT(MuWik$w!fqv#)(@de730#|thvM1{qhpaJv7)X5@ucuB?u8)U)%ioq zOK;+1c09+l&$Z3#;);>k8*esV1IW8aR9RPYtGqM)AfI|9-aazJvvlElM+;;L)x4Jc zcl&AO$@;9wQe^TLBg*|OL69ni1$mh9Mb9s(QdWSnmz0W-pp zjWnMrya+U0P?N0h=Wt&9H%@Wb!YeIW&j`lULZ2^@R8yzzDSM3o;SKS+*leI}4+Q#W zB10i+V}eT$x?^Es|3C8Big{hDl)FIY=ma{vcp>omG4cODjSOu6nd5Cm(&%GybK6Ya zg)^us1q1jp z$>k}z87nJjZ`M{|Jwo1G`Xl6(Ff)8+PL=xOvvQKH)MQlxc^dBzDm(3x>Qld)riJ$O zRU?J*awqv|7iD=GQ)O62VZuqr58Mt&m1h6!SQm9WtCJ==*2p4!bJS|y5s zkgX>a%9T-S@Zs%et%vzlLIZ!l)Xr8$Y4AF`q5WPwbMhO{!q#fh3vopY|K+b+){_-o z@T;nK@yebdIyT-pp5v(qm<;_@dED9it88=G+|}zeU2;mktH3$olmB|jA0;MPFVeWq z=)b}lD~A=Y$cx)u3L5uo1`1rfqGpaAnC|;B_x9qp>&HJsyUq2=i=QL9&P7in{CML! zerZvxzD-^j<66HSaK`Y{ciTa`tN8chhK7OKfYDIakMpDd=x@Wi@0{ zt#uOG|5A>^eM0teU+4_oOLO_wQkipXefJN~&gng^V;tJx{xIP_e4+Mf-xZ?z`RkX| z66QRvTj#h#d&CM5Ws;aGU<#~^5*Pe(b=8WV@haIBp{A?Lka=X+0IeSQPL2xbhhkt% zX%dz2u(U)>wjfjD4PpJOTGpQdqXBUsip}Lm`0Hjh-sl(h+N`^)wxid%dKQ}iOCj}xgrS|E|lmL)pxy6;T_EM)*KO$R?3)7K$f9(jT~hI-5Qw#?$*79 zPZj81bmf$dh^8kkjM}C@-v&$^iS7}@a9H3lz{#o9#z2btkJv*(t-sI$ZUU-fPVMN| z95WwiBZldN@+q$Vajpmr{HTzLy~(eXAp;grGZH!?TrsH^35&Rneh@f{lpimvXfVay zAnN(YCZHZkriP47{!yHQ&!%@J_TVtjzomBt8^#kjA6|RdIyuV2hzT>M~_vZFyuV|p*soaPyK)9R6rj--N>@iLudcA7; zCcQOzCk)(zaO@=(<+8@E5LYW(!He5R1;ye?N$p;XXFny29u4tvN9ByuqO9pfi;d`R zpkpFp6aJ7#9SAlV?Zk&p1jgrwpq3IR*$Zu&IJxl&%;^u`Cx1JSq0Q~d_I0uceWMcD z-IxDh`l1IRZWnI7=Z$A=pj7%Q6?Kctf8#4vIzZSp$6ubQftd}vj97S-qroh%dsz)$ z`(1(#8D{h2v|gyvH9uzRMRJxbRv3(IgqBeL5?8`s=X$07U@4UQB~SivBNqO$H=!KM zglQu7LlPbV6OW?a28fh@--pwLRG-=^{`xxG42Sh$qta3t^2v8G=PEfzIqo=wsx)fp zdLm#V76R2CIm8GCilh)Y6!U_%3#t-hZehk}uKaZ0Ac0l{5SiBHi|Oe`Vr9F476uP- zGz=}Di;Ea<+vtN)T@M}^ zflrIwD28`WH3IU=Z@_3v*Jv{qa{{Hi3E_1FW>Ou!Hg`fp!1`AaO^O~(wk`_tQHjm} zc>&m7(QiFTs$@(aX&;I)4|Hh@xl&qQ#fg6*KrbNxO&BdgJzX}vb1gQMEl_6#PQ!B- zH%z3^1z+tA8GCrNclMCNarHsTxG}|O?>bxfUE#+gq!r^#qAhZ^UFuX1e+7-YP>_k_ z@dz)DnrTk zC5^kzhGN!3j}wi5vqLIsYf?dr_a=79x5pL9+!EC^$tbBgdt9+?tmil8g->Bvn6%xLC?Bmt z9jc87)DvZ(nLLj4;sRWmLUz+}`l;z_sk%PoAG>N7O~wy#;>we?=6dcW%W9uyraJI3 z;`37O%)uW>s>Lcxs*sRDNu2A5=t#z!Y(%B000Az5jXXm0jNGc3uf6MPn~LNcNkEPP zG(@U$y2Qm(2}}QyXxv%+9RGKf2e=1G8dLR=UHisv1hc%33>OE5G+D}BYS$(Z2eOKbhA;k}9EJXyG)z~!CL z65T_rYC2d2=0gV`@vHK{OFs**zsuUICiANbCav0LLzVMTI$ZslQtWj^77w|jgWfgJ zd}6CRNBDDj9;S33&y;U@-9J!SZtr?M3LWKp!YLJ%gXT3>A;lofh2wM@qr#3Fr225j zJz<`~BtMNO=~v7ZMf7*Zo?XG=jbXvDz}xkeoaA=5Ir30iITrN^CFL)lAi`94$@kL6 za!#}*IN3H(ulG^#Sx-L$OFULVo#BSv$I6ve*_C*N@{eDAyyLNARuTQmE->bvSpJHN zrQa*5x%L8AhQ5RsZqH;Q>DPZ(|Mr|}ELeM>xQ(L;L_Nu)vnk-%>?TAm)UgB#{gU>d zi3$L%Hc6ZGRS?4H3nxLg@sKOjl1qen|a*;_Lc~j&<7%eY&mUk*mLS#Ez$vAJ&nv@9J~; z&CJw&UKq_S?vN5!jy{Gsdy;gxg0m00LfKaD zIm3$mxQ$LWvBmRIrAmaQz|!%l1aPbBoKd^FnK<7B4M+V@>8WU-$dkaq+C8O)mP_p} zqx!0!9;aER=C$V}H&nY$(A?R0y5p$>qq+heH0y7A_f%@4WvXT)?9@-z**43qJu~iJ zyKsKRT34EwtBuwcBGdGE>g*}gF1mnTcp!k!BQxB^vn=0L zZtKr^MPBF9>qzncvG=CoQ2+nmcOnsmRCWg0B5Md^A4>_9vhOPSO0pYkmKfPZ$Qor| z${NNl`@W6rJ2Un%!Z4ig`TqXD<2r9#cdp~Oj`P;(4jl(FpLuVu*Yo*&yq!NaVzSeH z3!!Mt{U_3jHKpkbCK;DjDt0Um;CY9&y6llyl(tm&^Tc*-?d{SOerEZ>122sM?JX9C z7muUd^J+^Z=-tYnv+>b~wKYXT|9mB7gw|8;r!%F(b3Ki&lkze?ofS5}K9buX_VPYG zsW8+A`U+~1F19iJNCdozuq;&Uf9=^>YO#EB{}v{I*20e$j4iY`X7)f5oADEE|>X48~RI;w0ocKQ&G#}KXw27rY%gl$-Ln4^)mC4%>m^m zo?Z}B8j{u|slf3xcr@&{ZM6mWCUvD=iE!sxxuun~wS&hz$Bai4$z_a9ab&*J;f zRJ10xcsQ)6H_ud+JTHETqkWrM0Vn@ZPFqw(cguVVEpQ|B9jy+>k1mo0y4%lRxLIij z3)7BJ9Xkm{v%M`jPSY3&^bWo$w%8Xp+b>skMRFc@;YT?Z08OF|jor5>FI#ndG4lz` zy>c)_ee17WSBtR9&(UDnOq1L3>|@GBaJxf10s!}5l%J)-IBA;wFFC7Ww*l<}0@dNA?Rdy4 z`ZF_FEMEf_%hZgcQ+>$X_PnMKVxhqp%f>0i^DuYOFsx6_pCa?fm?HfXk59Oyy43C1 z4lN&%ud=D;L*=yO%PZgMe^rFcJ(haPzx@SCXfL-bFxDhQ{#13c~4EPqIFkf-s?~dOZe$oY^8#Zl0L9Bb!V|hp0E5+iMQ0y1SxoD9JH<9qB zo@bMbGGq5&KL32h9QNXd(eh2$t&N@K;-6Wa{6|7N@dB!3y6FcHtop?<&+Dohm&=0k zU%k+2dc2&QUJx+7*PSnMd>UfO`GF$V?ga`HunLXvQx)|lFS|ERNtSl=exd<=Sjo>u zS|c(;x!tn-Iy=`xZhs2KG!sxsgo|=Y@*3DEzJBBKEm`^pxq=(c&~Bf%wms!FGi!}5 zaZ*@Ys`~RdYf^}ObR3C1=v5hciInGRle?di+kX5>lWB+9@%mG1uNz^?ZI4K}G`N1G z3yYMQ`LFI;%yj(;s2C&|5{Bd1CFFLC+WfgW&&~q|A`UgUwLl5EeaG)-P zn#;D6vZb|0EywE(ZRsandGAkr)aWJUILF9>f%4E7VY5;1WW1j~y6YSpoBPo;=S8eY z+wY2euRnQ8IvaRcrN%OBqO{oxUeRgo%Thl=<9J&p?UT`0p>*-vz4e$*t-Q!o#N&ET z*Gy_X6o@ryck*$NMTP1xA#)MQUR=&u`}^Ht8zH@%Z?LLRxX=NKIM;8C{y?-ECY7?g zFfTGzgHQKY$h~e=_%JG{H>KDCP&>k4i#s3BykHDj`q@R?uANCsuAVWBo_gUCHI?>= ztF6&wqQf~Gv~nY%4NM+n?J~J;eW~7XXIk0WbY`XuRM!m->-Q88E~Mto@r2mE8;(2| zx7EJTlE3I=7Ixl+>qkGdY9^hP}h%Sv56gn=Lgir-#)%Qjl{)WGAcN zX%px#nDc^ImpHKP<513kSTP|E)VV}p*l5UDo%*ho_&S#u1j<-V`OjuHXZ={+n;1PI z=41X9iGfgjn0qsX@ePqz17KjsBi%=WgO&CuVoo&y2!D-@pZ^tRfhn|x7;j;ll^_zS zfS4$*X;Eqo+Ll7V>h4X9a^PbDqKmjjpHaKMS`P)04rkB>j|Vxrl3q!a=?chsoX$iN zWzs)HxfUpgkBOA0BL!kSvz12Clqek$)yR0AG}#33jux2u9j`3#OahTC@J16zTs(;a z4~3Xh3AwxhGNM;?Gf(D#qFDySf&^u9rf*Q-gk5Q)*A*g);L$ju-tAcz1w?nvIv_)~ zpMxS^MFxCN51?b2f|n5uxl2?y;Xq9VPdfFf0_fv_0tN`CcZsQ9&r3idKf!`b=4YZC zqMI4OrFwuQY@h>t`bQ2#eL79fBMPcW#DM|jEKwIkMm*pJ^jye3si}C*P}VXe$Ui)3 zzynQO{bewnIzLhElG*&x+70C7gE|~0?-a=X1;lX6OCb42NkIh5a(w?y|}WQ7bxiDaAnpn3tfB}Lc~DW>Dhq)S$V4Wb`8<9 z5Iq-j=QgQ;F;Rz|1VR;Sur>Idg2c!L9E4MPK=9_qH$?7bJJnU7^&@vjADj@uWyEMm z4wZq4LnY+haL+jicL@U{of>TpQ7Tv_^2NGASnKBUHL*HC)XLf<>Z+X&y^|*0&Oum; z{u>UzQA%UIVlErQ?xgxERtyVyh;&#^x64VEeRjL-FCge70;yLLF$iLq9Bl|96U`uo zx9tbhEC`lpYE=WrgQJ0qH2Ur^xeEwtkvOP%&RzKT<>vA>)xSV&gfX+%gC`<^^u#XT)HC-! zV*6PO5><=m_9ZpE6q7`YLR%O$m^eD4RJ2IGbWbjdINgEq2w(8)7qnsKvArOzF5|if zRA+JloU*z%IsVWtKFwec$dw4}SPJS16Eb%DxkX#TwXqd|LAx?DGP1*5=d$)%)j3wf z4;lMHT7J_%IDM8yK6E*@8v6a;4Vg>KGE*;6*sQh>6s!whlO3x51O_L)vJW99_j?u3 zPn97t(qw_CP=>3NNnV)zR{LP2=n=4hyoP?1MR~yA_X(K#VGA^f{M0IeYtGB`DZs)p+&7D8AS| zHdjp-df6R*3e|h@j9fQGw&L(_emOEm==MW4Ftf%X?o`6REMvHC$3u~heWJ}|^zmRU z$WJy`2&ic14o8Cs4Cm!E&fn0_P`8rOA1zmu+eSmz;uuDlVGgZwp-K6rvJRDF`kXED!wl_BcF|=@qkp9CQs&%Z z@;}_a0vtXL3%?h?f}^>!XBREi2psD)Q=e$&ZWJT7+%w7<_?}U-b>q9w@iZ8}E7{Qs zSFQ)TYDTy5qn>5DB2~vW+9g8ylid@l8-a&tGROXpXM8+R;TiI4m*cdo9hk9vy0ao~ zaqN_F8D$_DMo2p2aq%W3O{%@~?C1<>>e7(+9DP*C<=pL1rG9N$OA+drV^FDPcA{>9 zV01Rl{Q+kfvtWrCs4ml*`XY}Wi`GGN9Dg2nq$n&KHE6&+atHRe8T6Oa$;oQj<3X2y z#i1|~(jbs^JV2S(#8$rnu{)}ZR?G*1RKiDkmsEYKz$;GrM-8R}j6nh2EZ@$Ep*T;O zF%v>;!G9iB*hh0-=l>C!!bqs#|8;G_!nyt*z(m#ve|E%h-}WP?_Ed~z$3KncAhC9K z(qUX(o1ZB!^sD-B|Ds>rUHZn~#E7A6*@LeY=pOYCXZfX+e5pS)pzded8 z{yiwKE3OOWq|8_9u+iqB1g`49U(?hvedze1IxMWw_NZ4p#H918`m}s!NLuU}L;pqP zazhJ4+QTbuTolER*|+I)VC%G;;;C56wQn1p-v(K%(}9B3kuwwT?sVmewS>~u%hn9G z-VoN7*AbHAhCh2og$?EIJFwG!>eqSn^-=JICrAY@R*)?~N41UQrwlC*g{`?Qjwhbq z!6Dw=f&6lewB@U~!nFCm(mtVAvOQgtOA=A~j%)d;Km3oA@zT(rWRupHl0$^ z*|JTja6RS4yR27gMwf{E!?P^5t%v&lWd*tp9kurQESdlk22MIzC^3H0s0audwUGD- zb!T&gL_ecgH>0!IY@4ZSMQYr5PEkr(&NWo=QO2t-p^!nus=q(@0GsC-Wr;=2FJBP@#i* z@APa>6V;Tc+JDGzQ&~BQs4S-%AIdrfY}0DyK7l;f90sl;7P43A@YOKy->KQ$ZS5To zZVr!xWp|`Dybm5?OVcW3$KG+^d^Q?j`>BLh02QOPHc^m$Dg^+n_Yb}r$q~i;A%&Jo z$hhV`-;WXoHvRcD^>08p=SdZmPTUTc{BXO1&$mFjX0kfFVZKug|Mc_H(7KubUh#CT zob-QAiaTFjPN*oPeA@{-;n9iWCtTkFIzv??sbDKX>`;zFDy#)HTiY*AyM&3qN3XcWuU_O1Qt()Y!H zMFRcQHCo85=8F+|s48ZhdRb3cJhbg&UB?tclM|lMo5#mA09N1KM>21*txm5xCxI7=y)9O!D_}IALnQ03zQyqu*);*z+sRmEGZr^NNBFKa z7YgcwkE{64{Pm(qqoeuuLF3XwL0cvhqjktssPvVu{0?FR1($oI1Djl0xj_o;*_np; zsXI6*#sl+@NVlNFvdXaz@4Jtr1CYSZ>?P>9*BeIh`4=I?BA=7UmTl=-stEe4#Qw-c zHakACt9dU{DGnnm{H+zY3bt)#;Afe?dQYu~s>^=eWRiKK?}n9~Nk{wscT>H1O&S^o z-#ot3TWnQ|e+!?KL|J}G=wE5g4mITpM~GrSxS9d1i+rC(%_P~7%I3o$9W zW314ZDjw;X4UXaaX{vIv2gvaBOqB5}dDdtmTgz(zu+gcWWRPhm^V&J@-00GVn3v!t%0m z0a+HECP(1=m}ickZOU19Ue@X!>tsR-k(W5s&!)qhQUP&88`bqdP_zs?7Iql1)^pD# z&AMW>r+J@(3!Z?k)w|vK{*==b^H9gWn-&I3yr%8O0RqxrN4}&Zmu0ppMgm`Nf%BWw zOeLr|1SseSzz*aNPS+lx8>cZ2dcSgNV_(1`Jg$e0S5Ywj0jj!xaN@v?U-*JVM{zJP zK2czP=86bpvEt^-AW=^q;blU)CE%~!5()OptF|Y?^g}1u|I*6i1#HhGK&D~uov|(sC{gY7sExmfnoB< zpyw#jdeScUE;###DilU;|4iu9_?;0tdhq;3C+3qO)TO@VIvX3)+*3SdoGn-oPD{ zi^HI7@1)NM>j0mZoUY}OZIV?8B#ENSA^;$oiXVa6bOn^LXr8!p0~=883x={fYl12P z-VLg810wH=k^AhQ*B$3)hmF8%{z`yYsl$N_IBQ4y-Vp3=HsI04uIsrffWoEExgUept0FK@bJkZSMRp9kVPU@#48AUr-U0_oYfTT`@ zC{S_x0)WA10L0Dg1@3A#AAiBH4$5p_sP$zizhLdL8D=kT;N?Jo~y3!2f%=T zzNv4>saa^d4ggGoT6Zg-;ac@{WWE#08=Om^IMmDe@=w8QX@?W=>^0^xONl9QC;$O) zqKHs6Sz}PLEiz$+3N{`J7T@qqE+KkeV>SR_{|=G(xbp&=TA{ncln`p4P7`d#=Gbt& z`int;JMruQ%pu8Q!5J@suNDJ&(1Ri1%2#Ya8`O_ApA&mr5%f4`U}IEge=(?7Az?NH zUrT%Vb2aw>5uqYb(1CeLgvQ`7XgJCopRcfF^tb~I?XSe<59dyt zmM{|;s$9qylutMj>VM`-*cr+9K+u8Gruj7^Bhi}v8N6F^P#BRZVyfZ8m`5Z?*yXro z+BN~lIeU=sb*np@M8XKMB&IIG66xAZi4aqtJ_jpiXa^};6e7`H-Y;vGv7yhC;BkdkCv4D z{U%lk!59T10Rr2K^Y2Lmd#?ifdSlP0Lk)SjRE&|^6PiQu$JkdmMwpxR5fdvc;uQG} zbQ4V(E!skclEDh!+9dfYgHyv0zTr7ZYmNWvO{QsrHGMBti|rQ7)|p%YL-a)3Je1w* z^*TL?J-P1+C>tq&C3~jUZNqALz15L=8Vn$o7fnOxfOKcmoynJv=VEN|LtgrgU5FCtpYGFtI9~`ihH$aYL z4{&xVK$EEJ8*&|DCANa0oK!Dh@pKQok*;F`3vP?Wbdvy=R{L$*k)lJ@(`?lfF4$nrV!*q>>KTw4i?(J1%`Sd3%}!+ zxCg!rVf#pYU-{x6r5AKETamPTMYZG9_yRv(d0#t?t;Ls3E*ci;HUpswFIaas(bX9A z7Y0&aV?`){u>=lwCF(#2()kF35?OcUZ7@qK7r&u&DAF02Z5S@*_M!Ft*NSsChX2N` z8V!Tv7%a;_tMy4o({Gl*Wq6SKigKB-r(0l(FoKh%U2;M%wn0t% zU4qfo1s2%RAuotsye)H_^02vPm8?WWBzjt-T44*d3Oe}_F_5IbOoicYy*azyAdO2- zPk7DHS`q0qt=(D%_384YY-5#=yBFb~s%dCg<)0hV6XdsA-hHPqxEK4h;cRRO=i!@EfUMlncU%Syy<2eju`y@{ zsQ@CMdN)?(iCg$7q#Ie)2T>e&Uz;cAdz@lh@3jZ=+Um#B8`aPCQ3Vlr<^iTG?L^#y z2i#uKc}yxX!+9+H@|Z1%IebJy_b1yKVIGq~9)rNAavLu#D^W1}jLC@n{nyfw$Ft9_ zHbs0SnM{#uUD;xlkzjNuYyZp;Elp!5{+gM;{t}BOlPik41o}RQl}^Hr`jq_9a;q=Y zj{JELFH_emFT_t3+GV>;sR``n?j2D)xv6sj3pQ|bZ(8(z4uf{Ss1#dQsSrCYdS-)J zJ|?3d5O!F|yI5q(9{OVfkBI%$ud3*-!jkS)$%Q8iPv)B+bF{VKavHS<#PVLarzKV} z7Y<8Z?S|xwh>%#DN|W3Rbc#!FR?S1x{e(2)W3&jJZK}!&=Fiym(k0lr4+rJqmK|kz z{L8h;JFlu1zwP8cE--j#j5km$! z(&<<1xDPRflO^K;=8QJ@{U?o>58qg7hhGif3tCfRgQp(Qn{)dHASc5OK1MzA$I9+k z4DtQxGT7MsqcVwR5nE;w{~*BOHoOW|#nZ{xawI>encG4gq6bRgVPb@m;xh~HLz3?g z^vC^?wcahSS^_h}5kZhVeoOKj++!GZ-j7F+G?!bsOlp zZ*Bm2t9|);=ynF@u>RM9&d}N=N;jnJa}Dgh*@I7?6;_jgm)2svC%D*qMt;#)E=-*; zC2wh*G8m^pXdBJ*a&~0m8%?Ns{;DzZCN|S-tXTGGb@2CmkCy;5+$*goV*=$M4&nbfWrKe*l-tYPsVnyfaZ$|LzveK{xy^VP>?XxCJO`_Vi zPJ1chXRcF+mqiccp9{R=VTz>1x&H+Ai`i6u<9lhxl1F)^y|pqSOiW@TCEfG`GM_;u z6k;vZ{_!bVET(&Pk}T|0oGeN@As>nD=a=zkG@rfe);HLdf>v5tFnWjFXL35`Xjb30WUB|J!y{+yfWRrGxZeI}B5BH^ zF@XW)aY{Rt)1*CMXW$$5_?gaH^7vRochR<)ZsVA`DzzZ$wTmwt;h+*8vzL56cI-a- z_4L>09YQHJHlJRvG(hTsgsWPBqnSr;c<^Q8t8zdv{^>w$Q2*nr=wF2na%;#QoZBmP`E*qCKK zOttB_SAWtfhW}{4LA68zGh+@KjkLq=(dHrBrFU@hdtth!e+;;|gmuUNZcTYCig5~G z(ru^lY$9DHi4)tu))N*&Dw;HRGJBZ*o2~WL$5zYJh2S5Equ0t!dw)GU=Zi-Umuy&Q zD%hncC$y-TZqPXyxzte9Ai&43Q#;#G;ujy{V#2{ELw**6y2-JAg}Qj+TJv)Ww zN*2ue1x7WiFI{(jcnTP2nu&;d|2ZjZ$s!YRF}Xj#;`nnIIlcV>6HO-QP%r8al~Wa> zJm5i;jUi?wuvvtgVIS`4XBm@~-&uFsjF7^$G^*X^t0nCYv%HB^6Td|;jORYf@@|!P zNA3(5yRHyS!fy(#|DmK346YP=YkG@fbIZI+X|s&ggKM$7Pq; zwAA{?Ml-K(W+pguBTAn8CRR9%QIyZ0Iu+gY;-<)LMp;u7{$aIQNp>k>mf$y$ky7zD zjI{fnl^CXmuD8W6+`(#$vv3|Re)2sK@vU&~0J{8@MPAj(-^h|pm*3jKj&b#>a z5fXX!t3&>6LxZwKdf2_d$4uXf-{|wmCL)3oeA+J9K;#RV#ugA6IqCJZJ1%R2^mLrC zOPpf*mbIVp6YS*!ZpDigkhX^kb0%HVe|gvn$vm#maO+ZM?$YZ|*EYBo-K%hZGLvtQ zdKQX_SQz3PZT$=B?k<|aab%eA-2eM->~moopOawYYo53G_0GtBM0C6ljo>N zHm5`AKd3DAiM-i7)x)F9JsMIwCQ{`3OaX5B`ru?pJ<2S>pP**e6Ma_LS474m+>SBz zMI98sxy@WrT_xlGd<8L-qiBEm5TTG=3U0(Wx<7Z0&uLgN9*Iqg#!SmhI*&EfVO=-n zbL5K~MsvF7<=ia4uitlH_RsZxWM026Vo@S?aj9VHr?U@&=MdqZ6h+3tv8ZM7WAV96 z(MPww=Z8t|xazZuTQ+ZoGtzRWu^5ukpIF{#ZsfFtOP@gXXMtXhZZ(L$U;&SQ(>-#=Vt_B=_P|rlOYS))i|;!<$(+Q zry&777kG^ohipx_g5sL>OnH>W43v`)ac?0vSf5Wzt%YSdDsg{dd}A)CJ7N9fsu(Bl zryW?Zbe>U7_xvoVpffI8kXAIuEKEM=lxg213&UPj-LAzhtu4^_AEh#oce-0r2iY^N zI}}T*PwpDFS#}~A>oh1F#j38C-x)q&GJ}`P1RNPlT!59on=Xhog z=FV`q$IuoTHXx+3445ZXePn$5$1RuGN2DwGtO{5IuTDKspXp4gt)L2$eLT>euVCQd zBsHjWG18lVFgJ(WyY?Zfm6@}^VTQX90vii`tj%2n?hWCU|AD6379+F}Z zjoe)NKeaaRkn(cheZTeI>6UC;bO5kP2X$XynPzNAtC~oT+N^3yVy50k=m(;Z^-LSL$N52 zVk=y{OVbbWByROoAC}FrG*`s65RY#!GmPgXKFU$bxOK)*M#$zw21mqRvue2@{tMOs z8ML;EtiQ{|rQ%Gs@?00A!rswOgNeOAHJec-(O~n8(r2qTPYg%)HR+#WZtRxPh9RN9 zwT(wx#NNd>ZX%vb_ zi3V<(o?lc(bl(_#pV3~@8mRwvM!|R(hr}e}DVrZW6JH%3Onjpz>3(tVLYD7=?_rpf zlUd;VywS66MWoskXLme&+Ge|yE>zdzFf&_`E)bS}8tvWUgz-y=agjfUJY-vH);dd7 z41Br49ejgRywYU4=alS@fL7qvL zb{$<3_iNE+oo9kQyZ9}#SU!1&YJ!B#cZEA<)-HSzx!47gH=9bTtOcYF+M{;f$D`2| zJ9#2mI_x3?0vN>6gjHg*^`j-m2}Y`r;Jx`~#*ntmRXbE>o6^<|5y+pK`geem=af=DBE(&4mz{TkQK5_(PsdRNXWhJh!2 zZ`XC8T+Q`PowGy(_WoaEHaFD>^QSjF)}r#|$em=lm^I$b{4^VL1=pCl`r5uTP~ciK ztVmcI?VGr(s*qZGmvH3g`H%j>i5O3J=N(1eL@%F-R`$P~bwZlnjCzVT8{7x7WF=Vs z9d3@}P9vr8cRPfv=j=7lBhcF94zj}rqkE#SO896Jac^V2AQa11-gUdobTinkH0Vk! z`%f{pKYX9~>4e~K(2|p?$?h#4++~U+k{D~UO!j84Fmi&Dul)|)vY{Vt=%?G5yZZT; zs7E94Oh`O}z$vVr5?$Qx9(bQyX;Tj4sp2fx-L&ytXOzWhl^ul=3FDj|%P6bsXm__} zSDMx%wKi%L<;@dh7pJ+R`l5i!p;QFh7KIy|*_*Y2Ri7WcL@gf7p7|AoY8{5#d;K!y z@e;Xu0L6EN&Dv~>WJG3ejKoUe=6Po`<%77nbmAjHr;zZ5yzgF~z_p-==G7<<+x9K-p(Xi@>L zhEHF8`cpN@Q@?Lo6kdyF2f~c1cYIMcZPe4lQf`zUWXpHM1?{4MDQfgoN-ZDSY2?3DNQ*V{qz3(0&}Yj7SJ~`YfWJwjegMYz*V( z?p~*@Ies?&$z$*H_y%5T2z-XYo~Ge?(t+IsDC|j0Zu= zsLR@lXnQhYn_|<#Dhi29`Du^L&~j(Icb3iIrlE#0ITZ=2Z0i~9{PC)C0CE5Iw*CRi zhBNA$h}l*Xz1pul#aV^54K3IQ?`HYzxABp`e$)lYma!%7AJC_p&pu0ku=0Ed^N_^7$KxS|ph7Bsl5Z7D>|lYcT=Z8pQRcB}TR_k6IURl2q?SSmk! z8GIYpt%q`QFz_K1pRHHe5^g$)sm|tec+)Fllfuj_*p2Mm;4v?}B67E-_R@`<+$b~i z9Unp4G(~+fMTx^oT4F*y^+tC>QJ%sW4>t*YNsDn$tJ#Z}!>?C0z9@}`56xZt zNV8TuIYo7t13RF1c(d~D1AT{Z`s4N!@Yd|Ne0)wNC9I1J-|}_3iRqM=yGWt|YfJc) z%`Q`Txp-Wby=eaWsQ&y2iPgQVPoNU;6YuP>R$DNPgmW3Lyp&9NUlKw1&S{zd+)f{9 z6!t*WP|g14CdGs1P7^zOwe+Tz4io8)AUyr5+GzkMmxv3|)H|%P-1k>(*!Po+JZY6|HX!Oz z8d{Hatu6`?7^G}iHIgXRl0!KuJL* zNXBOW8zOca7iL+Hs}PIo${wKhyw@$CMs1$A;L_{-TM}D#HUKkid*2|!3PX2!n z#AQy!HmUMFB@3=vQ-9C*2Vz?)yL&m{nuDCp;C0vA(009aY`lygNKKUd;3(m~7fj2~ zey3uEn|%+F?IuV~?U-oUOgr3KS&?kN_ntDakXps-wM+QT(HgHk51OB0lR>A$GBYwGz%o&63kPCJkx*u3G)-6HGK7e0`$;&(a!r4i-9 zF$_x2TN~6xmPnfcMGAb+`=kCF45aNWEt>SNVA1cWqHISQuaM84lLfurhuu=er>;S5 zZy9Hmg|qO?3vu5jA9ZbmNId3RmdI(NE~QlMmuv5wDvhyWs*JNR^!bUwNzb59gQ*rQ@sVp$KY4?h7U||)Z(@Qw^%S!k#-iD% z5oANBY^{Z5Hrd6c17f|1M=9~D@`ZW_LRGVQ7ROvS+P1h{3EG=>HY&jsgE^`f=FmDG zvdnHAlj)fT=5|r}9&ku{7`@mq1yA~IH@gn9y+aDFmf0J3X>NZNcMpZUQm0*{^L{H^ zR!Ju&usZAdBHKxCH3#rgsF?rqMm z`6W=FJgP-k*~K9)&4W@-=HGk!HT4qm?`bv378*1 zHZ_>fW|@7i2;-afH^}IFP(y0+R#j^1fsQ*AyzC6=WGbPdc4MC3^t^6mkwu>J$IUm+nt2gatrBWb0gTLYRbrWy%uQcCV&@r)$ z#B&KD=IMTn;;LP8xl?B7MW#q)qvZ{&HJ15Y5q~+KwqIkqSmcH3#buOTpKtp6gPS3#E9;J8rS0~+ILtC zbOlGNv3u5-4%CY-HYCsLS9hy*MnMJwuk80; zpU$zD|3>k4OYZOnr@Ck1WyQkB`Y3&=!`nJ52GoI%v5D9G}*Z&t2;$&iqt{ol97wO znvA62)gNu9eb$zTrDL9Ss8d>wm8>s_@T1pgyEAZ`j#GQ2`i$2yOr8DqmhyU@){{d@ z*vnW8H!arV{&TX(zu08g4E$(r|7<_H^VKdpMLTG>VEJAh;BibjA1gfL*G6whY?uDD$Q77%Qp_VA zDcYt(E%8)%Ys~@A*sro_ZbCHi!T?PAonSxLgJj9BXBF9CY%+b zuREqg>3N2&^FmRJ6A6e2LDeo#!IUyueymmPN6#1UzOVU=c$VmX>r4^94z9{3;49&ty&ZD354eNylhxiD5 zs#r-F6nj~0T7qWo&Mlf8bbmM-In{7cU#>u7ZT}%%UX)wOsbIDjN-D?Em+u_^vFym) z|0&0Aa;@{}M6TXs6lZ6=)d_p~Fjh6`PIQ^wWfk?Ab?MO z4@M%`uOVI3A<_9SkESF;Agf(^3<@a6WsCYe7cPKl%$5Bs8*r90K%3lcIjNW7A`gG+ z?gpKe8B>gZN%80aqrhxpd0Y&|sAa_R9e(w09hmqu?glsLsQZF#HCdmn{YKE@=CYQ# zLF;KnYaVe-8=2@<3$-+8lY1T1=M-hUrioc^|eZq3wr$O4%@ z7kp>r2xt^Hpw*>ohj3vTM`11}^_b_SvR?*(3E-v9;cpSYJ)bE1q{SCIc&wAetmqz!e0tGpDQ489jw(=c|rqug=c28gW`{ zc)h=|$|Q0}#jUj;HNL)HDi95(+jY zx*g`sQO7MJr!DC8L*yFnlEv<&eOnZARWi43dPTVWXtLUI&b8Eg#$HOuqjn_imDAU# z9hZ!gN76N2+BpN~rvn-6yYDaeI!F)4Dz+;zM-0#RG;H?dl;R6Yzmz^8^WB&B-#{V3lVly-IPSn;bp73$f)Rn_vwQYh>U+xENA zwfe#uQ54{^bbT$eb@rAZltFm*4zH`zR8z~LwlvQL=U=wi`$g!xR zCA<`|+=}9;NUUI;c(ji|%4xv>$58-B(upLu*P7fMyy3GmajYEs2#FQ$$ZZ>=YR8B0 zc;aw2;y>A|NBZ`meELpPj!vr_PpXcY+v@%j-H@yI8ke;imh&d$*l`>LO@I752X50wRU=Z^m4=BZ?|ovSEtI5t z+u<+=OPQ z-E#ti?G>RF=bgM3=`-$A-8s;qm0zILO_KL5>@LXIEfR~zz@~hE8~FSdO7c8D!4S z>nJdA(|)YDpFEJNxP-p_&-bql74=B^NaUTy)1F4?p~Q;*<^HiopN4{K?tyuKFMLy& z17lyCI51_Z1xUU++RO=m>Wlav z_t@%E2iY}AQa-CI~@ zW+9HlUmbm6q~CO=}^@$5JS%^kU0Xo>Y4 zb+9i@4Up!O#5aM_a1@RX^;-{(V(*EekIxxqoY)!}BI^M3!t*~(;%|sO^jCwnkC>>e z132}BFUBoA@qTtz1vy5o^6?)Hh+QiZ*;%`F{N#x^=2(6KC`25|T^hhWO1b ziM8uDgQ;m|LIUJGxRNEh>8T?k@8#5~n$PtChs75!T^R5pf&hMts5BZHS3aY03oh4$vQ z{h^%5D!57Xv}TTjiY||)0h>^odP!WQ!4+JFtJip&F(FM;%7Fl8%DzTV>8$7LvBFwz z6$Hel>j12RGHe$o>fiPbb85-LHg#T$9P8y`x6_$zexQAABAl;d*nNP`+apXmn8Z7Mrf@?QE$}7wAij%! zRiXngrg=464(b#E<+i?F3#JTEP_6L95O^)y>zvwT7G!dMx1R*z*_GF- zWz(W4%&cePH|~5bXY=i-oRKEAvommWd9aiA&*c@DX#Pf*_}?7fCyA-@4Z6v;{l;2%^hvC! z(+<{4#$t-z8-p6)N9B>ejA`)pM6B5KXbpB%+usk#?b%~Libn-S+jm8~CM2U+VVT~~ z8fJ0}%`Y+DH()o@nBq^VJviQ_@ZuL$ulcO7rm*thlZbEl5wn|zUAnQu+Xy{!-)=W~ zn3vL+?f1iFK1KM7{B=45b}8buT;=i$@as}Mi6hwDn z35|lZ8(!7@(wuy>q`iC3QB=zFx=@a|ryPPds6hG9@SBFKXW*)D%&i@c*5-Z5S*m>| zT?W-nJS;oF)ck5rgsjzfA#(K*p0*&H?|n;U-7d?f>LK^%IYmD-n^-liUFD`gTx)5! z)Y%ls-Pn`LBUNwlcE+f%(Ip{0I+&eT#6(Y`G@|$1gq!oGyH^3yp#v#Xy;u5)gLafz$&&5$Ou@1e~@b;;uk$j7!&*!a*r>)tu(_3K6C@2myUHRl6 z7`5QP%*`Q_Xu-j=o-pOOGEP(3I5!!hF>ZZz*32BTb;#1V$KsOqOQd4YFtvFE_F6MM zR{!$kbHA|11kE{#?_DgNyHT=_qjNsOUsO{eZ8#rQKqwm1UXg{QdvZojlTfRt0Azjx$HE+aO1+n3(dzz#ha9K#mj_0?N|XobQ}BUO z3A!u1n-u@73`HL>(J+@Rr8`;BK4~ZORpIc6P{6SI_SW#w-Y9Y$s1)rZR?8 z;JkcG^~Jn38B~&mpYZ{yXzR0a0m!P(mO;!X6`p00Gj3B~$6QXXbh4(>tH$ z!}P~`>ONI<&po&5e}3oQIy-+PeCyH3ayY)Ub9A;&|AKk8N8{p=g!Nm9ib_SFhn2v zly%mb;)y1E$_HUdClm!{Nd3c8L5{P!O><{#Pwt1|H^(zm0Dr;MR zSBS0W=RBeLnWMtJd-9!Jz0MkE$!{F}DcN%kE{gR`@&8I>!OwrNC4{NjcIqK_~wr#P8-sNUMZKL~Kt%9Mh3A0n=?^J;|^6rZ7x$ZqjDA+yn!TT>P zK(BHKGds<0Uhj_mnc>L}d>3?Q*RB~bsF3ke<7$6}%)BYTyL0r}@Mz1)HzRk0-m{IZ zGeWk7gR70+wq`7uU)%QJTH4paE0wHCb&e>M(0j?B`g1{mUl4n5X{!HeH^0E)@MlH- z{sHf`u3zwf*nKIW^j6Nr*q6P&0Z~EE97YZ0P$3M!&}EuYE5skRQB!WBIPbGF^Mi1~=D_(h!s} zsZP1&T!Z!(x7P`cy)W%9Y&~F+sD7yC;~B9d&EF(e($g!p=z4v>F8bHzA7AID270F# z`-g=+)eG^UeE$XVE&lqB=;q!nr+7@v`U`s!HKH$Ctj*k6I#qh;TOUs&W@RT+dO1$e z<>@%$?REC%zvaka7tf|i-g!>(#K*Qy-ZD51wKKcN?^J~m)y7;wTrkiZKb~lIElV>K zj>eW2^p;zXpr?_q!JD-Ed1Y+gHAO z%YpT_iv?pA`mQmwh{bC<`jO2vJRIqf=VEfx1z@(%SH2Xl7Z&CTq8k4r?Z2Nc@#;9_f048`yJi zmatW*&W>aInTY54Cy?1cxTKHtqR!M@OHl4F%PAMlh1Yx%W+h+o^}cJ;c7in4iCfyU zu62o6?_mKZ`@XTokjpI)t3ue#fJI}^kW#aNC-f8Uk^9^b&WTHlv=0(a6g zNA|Ex2EMtz&ni_yLHg3R(b<0K^``8d&qsm2DxvaH2^{5K!7vR{lsJQ zqd0KKP)BR;O(8u(?Kh#(r2~Db`G(7WL~Gu1IMu9`QiwzV>MpWIdaJ*sVhGUVqOigJ zWNQ0h2q2hfQI(vi=_*h`S#iB8lYi*KIqG}xo@y12CWqkodKa#8Tc?*qr(}fAa>++YA+TIO@z^1=7ALeV zp3~(}6$6sT=p@w;wx@_9?IR{`4+;vBxK(AiO^Q;tiH5(>s!2k;e%KkK}nnUf&PU;{D4}&POqEJ;Q#o{2^4d9^L+mwg;y_yUGHkN=F zTc*N+N0=)6a2j;(mgCLRq^+qazp!3Rz7+{X>n3j+L)4ta&z^K_aMmI$)LYUIK+s6B{M3<3g%yD)NO z;;11EmoypTGH0h=cWcc4sVsP0uOFI3)`4SUwjbh%I5ysf2HF)18W_NTElg%LB2>g0 zw2wqc8w5~zO>(0E|A%D=U{N7*Doz2?fVD{z3U4JXmzFEM`d;4EWiNfeq4}L-l4?GG zb%UynOZX$gc~euGX}tr@E8mzqF@Yb>)HPlORo8FYkyj&X-pY!h8Sm3jkv_D#NCjRX znx^=WTBapqN2kG#cWKDCN(IB!=+RXS@aV7|%?a0^&r_AARegj?ACRcIqTeurl;WnC zAiko)o1}_C)KNrV#K9_(7hcgOK?VgpFa^^ z0?N^&+-k}FdXbY<^|U*z1(M*=(}*#pEOL{OKDdN#MjX~#ljjH}%|1bAb_ZM9 zFf0Yu5Kvyn0Pj^SQq9m|9q$_*y+u4uOCx%9rFsdq>9ikpO<^)nG?9ZT5Pmnu7*#o` zs+^@nnbPW$4m>Hw5uaJsw@*BfE9Ba!oJd+sszd@yQLcbaR*hDQ4P250F>`3Z8>dJD zu8ZqXO1^<=4gbV&Fv5A74)_#K<7trgeWwxgj}73AOm!CHIQu6pHo@l2bpve*W~K2x zI5v#%^`K`I0&B2=q5~`Rw5oWF{An4Q?~u+DfMd?5$#HQ}HE&HRN3cclmA#`ja#BLA z4jhYdOcV?|6t~v`R$X>Hc!>@I8?%@!C5n~w1$I_{kS_rcqihfx<%?vwYr}vY4LDaBpX`E@KSev@Cno5G zFFjU*O`T1&$o8<=8Ss53Xj}+-zO**feUvsR8(`TN`!T5P0Q121DzFKGJM@bt3Ra9B z)!-`;sl;s30CIbHcJllan%G6P1Q2A&%PUokI_FviR&~hOF{+b}LXyitWD8@mTK0#3 zt9Z!dULua~Ll9by;K6UqgY?Y9k;LvQ>+E!KcVR2XK1`b5{VcCpsdZ{o1q@j9XLE#f z8`yrb8+1nN1}%+W*EMe5xWmv;b9c;eV5N_=GEyRdtM zvYKAQ_)eM$SqE{6%E(YKUY zRwntlrcG;i*QBLs>hj)5$3ZrS2MgJ>1FzIMmk;6WL22Ysn*8=zZrGX%wA{GWnp#U3 zqnbQH+u<+C-=&&MFQ*W@pxx}r)k!%dOzw6a$r`HC@fHg&tMH$HFGI`fD>_6Y8aI-^5_2r<<@|i!R6)vtcsrWp6MveL;`~j*gm7(YDr0H;!P*py>VZ*MC2ym(P6?PprQ&{wAtUCYlz|CvN|et6=q@Zet(F#j1#{N4C}t^NKs9jKSB?*HvM ze|ye~WB#xDuF_?dI^VAxxcUfuo^@Wwd_2nC&R_cv DFY)-g literal 0 HcmV?d00001 diff --git a/docs/Makefile b/docs/Makefile index 49c3b9536..a192210be 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -3,7 +3,7 @@ # You can set these variables from the command line. SPHINXOPTS = -SPHINXBUILD = python -msphinx +SPHINXBUILD = python3 -msphinx SPHINXPROJ = Red-DiscordBot SOURCEDIR = . BUILDDIR = _build @@ -17,4 +17,4 @@ help: # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) \ No newline at end of file + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/autostart_systemd.rst b/docs/autostart_systemd.rst index b8d522ccb..1af55e478 100644 --- a/docs/autostart_systemd.rst +++ b/docs/autostart_systemd.rst @@ -1,4 +1,4 @@ -.. systemd service guide +.. _systemd-service-guide: ============================================== Setting up auto-restart using systemd on Linux diff --git a/docs/conf.py b/docs/conf.py index 18d2855a9..98ba46e63 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -92,6 +92,9 @@ todo_include_todos = False # Role which is assigned when you make a simple reference within backticks default_role = "any" +# Includes substitutions for all files +with open("prolog.txt", "r") as file: + rst_prolog = file.read() # -- Options for HTML output ---------------------------------------------- diff --git a/docs/getting_started.rst b/docs/getting_started.rst new file mode 100644 index 000000000..6e45d8215 --- /dev/null +++ b/docs/getting_started.rst @@ -0,0 +1,360 @@ +.. don't forget to set permissions hyperlink + + commands links + guide links + +.. _getting-started: + +=============== +Getting started +=============== + +If you recently installed Red, you should read this. +This is a quick start guide for a general usage. + +.. note:: + + If you haven't installed Red, please do it by following + the :ref:`installation guides

`. + +Assuming you correctly installed Red, you should have a +window like this: + +.. image:: .resources/red-console.png + +.. _gettings-started-invite: + +------------------------- +Invite Red to your server +------------------------- + +When started, the console will show you ``Invite URL`` (here at +the bottom of the screenshot). +Paste the link into your browser and select the server you want +to invite the bot in, like any other bot. + +.. note:: You need the ``Manage server`` permission to add bots. + +Complete the captcha, it should tell you ``Authorized!`` and you +should see your bot in the members list. + +.. attention:: + If Discord shows ``Bot requires code grant``, please untick this + option in your token settings + + .. image:: .resources/code-grant.png + +.. _getting-started-interact: + +----------------- +Interact with Red +----------------- + +As a chatbot, you interact with Red via the Discord text channels +(not from the command prompt). To send commands to the bot, you will have to +use the prefix you set before, followed by the command you want to use. For +example, if your prefix is ``!``, you will execute your command like this: +``!ping``. + +.. note:: Since the prefix can be anything, it'll be referenced as ``[p]`` + in documentations. + +.. _getting-started-commands: + +~~~~~~~~~~~~ +The commands +~~~~~~~~~~~~ + +The command you're going to use the most is help. That command will +show you **all of the available commands** of the bot with a small description. + +.. code-block:: none + + [p]help + +.. tip:: The message is generated dynamically and users will only see the + commands they can use. You can change what commands users can use with the + permissions cog. + +You can also pick a command to get its detailed description and the +parameters. + +.. code-block:: none + + [p]help command + +The parameters are shown as enclosed in ``< >`` if they're required, or +``[ ]`` if optional. +As an example, the ban command will show this in the help message, assuming +your prefix is ``!``: +``Syntax: !ban [days] [reason]`` + +This means that it is necessary to provide ``user``. However, the +``days`` value (number of messages to delete) is optional, as well as +the ``reason`` value, used for the modlog. + +You can use help to show the **categories** too, generally called cogs. +Just do something like this (notice the capitalization): + +.. code-block:: none + + [p]help YourCategory + +Help also shows **command groups**. They are group of commands. +To get the description of a subcommand, type this: + +.. code-block:: none + + [p]help commandgroup subcommand + +When using subcommands, you also need to specify the command group. +As an example, ``cleanup`` has 6 subcommands. If you want +to use one, do it like this: ``[p]cleanup messages 10`` + +.. _getting-started-cogs: + +---- +Cogs +---- + +Red is built with cogs, fancy term for plugins. They are +modules that enhance the Red functionalities. They contain +commands to use. + +Red comes with 19 cogs containing the basic features, such +as moderation, utility, music, streams... + +You can see your loaded and unloaded cogs with the ``[p]cogs`` +command. By default, all cogs will be unloaded. + +You can load or unload a cog by using the load or unload command + +.. code-block:: none + + [p]load cogname + [p]unload cogname + +.. tip:: You can load and unload multiple cogs at once: + + .. code-block:: none + + [p]load cog1 cog2 ... + +You can enable and disable everything you want, which means you can +customize Red how you want! + +.. _getting-started-community-cogs: + +~~~~~~~~~~~~~~ +Community cogs +~~~~~~~~~~~~~~ + +There's an entire `community `_ that contributes +to Red. Those contributors make additional cogs for you to use. You can +download them using the downloader cog. + +You can start using the downloader cog by loading it: ``[p]load downloader`` + +You can find cogs by searching on ``cogs.red``. Find whatever you want, +there are hundreds of cogs available! + +.. note:: ``cogs.red``, the website that list all of the cogs is not + ready for v3 yet. For now, you can refer to `this post + `_. + +.. 26-cogs not available, let's use my repo :3 + +Cogs comes with repositories. A repository is a container of cogs +that you can install. Let's suppose you want to install the ``say`` +cog from the repository ``Laggrons-Dumb-Cogs``. You'll first need +to install the repository. + +.. code-block:: none + + [p]repo add Laggrons-Dumb-Cogs https://github.com/retke/Laggrons-Dumb-Cogs + +.. note:: You may need to specify a branch. If so, add its name after the link. + +Then you can add the cog + +.. code-block:: none + + [p]cog install Laggrons-Dumb-Cogs say + +Now the cog is installed, but not loaded. You can load it using the ``[p]load`` +command we talked about before. + +.. _getting-started-permissions: + +----------- +Permissions +----------- + +Red works with different levels of permissions. Every cog defines +the level of permission needed for a command. + +~~~~~~~~~ +Bot owner +~~~~~~~~~ + +The bot owner can access all commands on every guild. He can also use +exclusive commands that can interact with the global settings +or system files. + +*You* are the owner by default. + +~~~~~~~~~~~~ +Server owner +~~~~~~~~~~~~ + +The server owner can access all commands on his guild, except the global +ones or those who can interact with system files (available for the +bot owner). + +~~~~~~~~~~~~~ +Administrator +~~~~~~~~~~~~~ + +The administrator is defined by its roles. You can set multiple admin roles +with the ``[p]addadminrole`` and ``[p]removeadminrole`` commands. + +For example, in the mod cog, an admin can use the ``[p]modset`` command +which defines the cog settings. + +~~~~~~~~~ +Moderator +~~~~~~~~~ + +A moderator is a step above the average users. You can set multiple moderator +roles with the ``[p]addmodrole`` and ``[p]removemodrole`` commands. + +For example, in the mod cog (again), a mod will be able to mute, kick and ban; +but he won't be able to modify the cog settings with the ``[p]modset`` command. + +.. tip:: + If you don't like the default permission settings for some commands or + if want to restrict a cog or a command to a channel/member, you can use + the permissions cog. + +.. _getting-started-hosting: + +------- +Hosting +------- + +If you are hosting Red on your personal computer, you will soon notice that +if you close the window or if you shut down you computer, Red will be offline. +She needs an environment to work and respond. + +You can try to host Red somewhere she will always be online, like on a virtual +private server (VPS) or on a personal server (e.g. Raspberry Pi). + +If you want to do it, follow these steps. + +.. warning:: + Before trying to host Red on a Linux environment, you need to know the + basics of the Unix commands, such as navigating the system files or use + a terminal text editor. + + You should follow `this guide + `_ + from DigitalOcean which will introduce you to the Linux basics. + +1. **Find a host** + + You need to find a server to host Red. You can rent a VPS (it can be free) + on an online service. Please check :ref:`this list ` for + quality VPS providers. + + You can also buy a Raspberry Pi (~$20), which is a micro-computer that will + be able to host Red. The model 3 or above is recommended. + +2. **Install Linux** + + Most of the VPS providers have tools for installing Linux automatically. If + you're a beginner, we recommend **Ubuntu 18**. + + For Raspberry Pi users, just install `Raspbian + `_ on a micro-SD card. + +2.1. **Log in** + + .. note:: This section is for those who have an online server. If you have + a local Linux machine, just open the terminal and skip to the next part. + + As we said before, a VPS is controlled through command line. You will have to + connect to your VPS through a protocol called SSH. + + .. image:: .resources/instances-ssh-button.png + + On your host page (here, it is Google Cloud), find the SSH button and click on + it. You will be connected to your server with command line. You should see + something like this. + + .. image:: .resources/ssh-output.png + + .. note:: Don't forget to type the command ``logout`` to close the SSH properly. + +3. **Install and set up Red** + + Just follow one of the Linux installation guide. We provide guides for the + most used distributions. Check the :ref:`home page
` and search for + your distribution. + +4. **Set up an auto-restart** + + Once you got Red running on your server, it will still shut down if you close + the window. You can set up an auto-restarting system that will create a + side task and handle fatal errors, so you can just leave your server running + and enjoy Red! + + For that, just follow :ref:`this guide `. + +.. _getting-started-userdocs: + +------------------ +User documentation +------------------ + +You will soon start using the Red core cogs. A detailed documentation is +available for every core cog, under the :ref:`How to use
` section. + +The cog guides are formatted the same. They're divided into 3 sections: + +* **Guide** + + This will introduce you to the cog and explain you how it works. + +* **Commands** + + A list of the available commands, with details and arguments. + Each command guide will be formatted like this: + + * **Syntax** + + A line that will show how the command must be invoked, with the arguments. + + .. tip:: If the command show something like ``[lavalinkset|llset]``, that means + you can invoke the command with ``lavalinkset`` or with ``llset``, this is + called an alias. + + * **Description** + + A detailed description of what the command does, with details about how + it must be used. + + * **Arguments** + + A list of all arguments needed (or not) for the command, with more details. + + .. tip:: + Arguments enclosed in ``< >`` means that the argument is **required** + for the command to work. + + Arguments enclosed in ``[ ]`` means that the argument is **optional** + for the command; you can decide to use it or not. + + Arguments followed by ``=something`` means that, if not specified, + the argument will be equal to ``something``. + + For example, ``[days=1]`` in the ``ban`` command means that the number + of days of messages to be deleted will be equal to ``1`` if not + specified. diff --git a/docs/host-list.rst b/docs/host-list.rst new file mode 100644 index 000000000..47398d898 --- /dev/null +++ b/docs/host-list.rst @@ -0,0 +1,81 @@ +.. source: https://gist.github.com/Twentysix26/cb4401c6e507782aa6698e9e470243ed + +.. _host-list: + +============= +VPS providers +============= + +.. note:: + This doc is written for the :ref:`hosting section ` + of the :ref:`getting started ` guide. Please take a look + if you don't know how to host Red on a VPS. + +This is a list of the recommended VPS providers. + +.. warning:: + Please be aware that a Linux server is controlled through a command line. + If you don't know Unix basics, please take a look at `this guide + `_ + from DigitalOcean which will introduce you to the Linux basics. + +------------- +Linux hosting +------------- + ++------------------------------------+------------------------------------------------------+ +|Link |Description | ++====================================+======================================================+ +|`Scaleway |Incredibly cheap but powerful VPSes, owned by | +|`_ |``_, based in Europe. | ++------------------------------------+------------------------------------------------------+ +|`DigitalOcean |US-based cheap VPSes. The gold standard. Locations | +|`_ |available world wide. | ++------------------------------------+------------------------------------------------------+ +|`OVH `_ |Cheap VPSes, used by many people. French and Canadian | +| |locations available. | ++------------------------------------+------------------------------------------------------+ +|`Time4VPS |Cheap VPSes, seemingly based in Lithuania. | +|`_ | | ++------------------------------------+------------------------------------------------------+ +|`Linode `_ |More cheap VPSes! | ++------------------------------------+------------------------------------------------------+ +|`Vultr `_ |US-based, DigitalOcean-like. | ++------------------------------------+------------------------------------------------------+ + +------ +Others +------ + ++-------------------------------------+-----------------------------------------------------+ +|Link | | ++=====================================+=====================================================+ +|`AWS `_ |Amazon Web Services. Free for a year (with certain | +| |limits), but very pricey after that. | ++-------------------------------------+-----------------------------------------------------+ +|`Google Cloud |Same as AWS, but it's Google. | +|`_| | ++-------------------------------------+-----------------------------------------------------+ +|`LowEndBox `_ |A curator for lower specced servers. | ++-------------------------------------+-----------------------------------------------------+ + +------------ +Self-hosting +------------ + +You can always self-host on your own hardware. +A Raspberry Pi 3 will be more than sufficient for small to medium sized bots. + +For bigger bots, you can build your own server PC for usage, or buy a rack +server. Any modern hardware should work 100% fine. + +------------ +Free hosting +------------ + +Google Cloud and AWS both have free tier VPS suitable for small bots. +Additionally, new Google Cloud customers get a $300 credit which is valid +for 12 months. + +Other than that... no. There is no good free VPS hoster, outside of +persuading somebody to host for you, which is incredibly unlikely. diff --git a/docs/index.rst b/docs/index.rst index ab262fbd5..bcec8b9f2 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -3,6 +3,8 @@ You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. +.. _main: + Welcome to Red - Discord Bot's documentation! ============================================= @@ -23,6 +25,12 @@ Welcome to Red - Discord Bot's documentation! cog_downloader cog_permissions +.. toctree:: + :maxdepth: 2 + :caption: User guides: + + getting_started + .. toctree:: :maxdepth: 2 :caption: Red Development Framework Reference: @@ -51,6 +59,12 @@ Welcome to Red - Discord Bot's documentation! changelog_3_1_0 +.. toctree:: + :maxdepth: 2 + :caption: Others + + host-list + Indices and tables ================== diff --git a/docs/prolog.txt b/docs/prolog.txt new file mode 100644 index 000000000..3b75c347a --- /dev/null +++ b/docs/prolog.txt @@ -0,0 +1,41 @@ +.. This file will be run at the beginning of all files. + You can add the subsitutions you need. + +.. this is a .txt so sphinx doesn't error because it's + missing in the index + + +.. These are the comments for permissions locks + +.. |owner-lock| replace:: This command is locked to the + :ref:`bot owner `. + +.. |guildowner-lock| replace:: This command is locked to the + :ref:`server owner `. + +.. |admin-lock| replace:: This command is locked to the + :ref:`admin role `. + +.. |mod-lock| replace:: This command is locked to the + :ref:`mod role `. + + +.. This is for describing how a format should be formatted + +.. |quotes| replace:: enclosed in quotes if there are spaces + +.. |role-input| replace:: Please give **the exact role name or ID**, or it won't be detected. + If the role name has spaces, provide it enclosed in quotes like this: ``"my role with spaces"`` + +.. |member-input| replace:: You can either mention the member, provide its ID, its exact name with + the tag or not, or its nickname (|quotes|). + +.. |user-input| replace:: You can either provide the member's ID or its exact name with the tag or + not (|quotes|). + +.. |channel-input| replace:: You can either mention the channel, provide its exact name or its ID. + +.. |vc-input| replace:: You can either provide the voice channel's ID or its exact name, |quotes|. + +.. |color-input| replace:: You can either provide the hexadecimal code of the color, or one of the + colors listed here: :class:`discord.Color`. From 9b60816ebd0dbbc358ddb8f97fda68c23d795140 Mon Sep 17 00:00:00 2001 From: Flame442 <34169552+Flame442@users.noreply.github.com> Date: Fri, 4 Oct 2019 22:19:00 -0400 Subject: [PATCH 168/183] [Downloader] Catch OSErrors from invalid repo names (#3029) * [Downloader] Ensure repo names only contain the characters stated * Create 2827.bugfix.rst * [Downloader] Catch OSErrors from invalid filenames * Update 2827.bugfix.rst * Style * do the thing again * Update 2827.bugfix.rst --- changelog.d/downloader/2827.bugfix.rst | 1 + redbot/cogs/downloader/downloader.py | 14 +++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 changelog.d/downloader/2827.bugfix.rst diff --git a/changelog.d/downloader/2827.bugfix.rst b/changelog.d/downloader/2827.bugfix.rst new file mode 100644 index 000000000..98c6b940d --- /dev/null +++ b/changelog.d/downloader/2827.bugfix.rst @@ -0,0 +1 @@ +Repo names can now only contain the characters listed in the help text (A-Z, 0-9, underscores, and hyphens). diff --git a/redbot/cogs/downloader/downloader.py b/redbot/cogs/downloader/downloader.py index b59cb4be2..a7f85074c 100644 --- a/redbot/cogs/downloader/downloader.py +++ b/redbot/cogs/downloader/downloader.py @@ -1,6 +1,7 @@ import asyncio import contextlib import os +import re import shutil import sys from pathlib import Path @@ -222,12 +223,17 @@ class Downloader(commands.Cog): async def _repo_add(self, ctx, name: str, repo_url: str, branch: str = None): """Add a new repo. - The name can only contain characters A-z, numbers and underscores. + Repo names can only contain characters A-z, numbers, underscores, and hyphens. The branch will be the default branch if not specified. """ agreed = await do_install_agreement(ctx) if not agreed: return + if re.match("^[a-zA-Z0-9_\-]*$", name) is None: + await ctx.send( + _("Repo names can only contain characters A-z, numbers, underscores, and hyphens.") + ) + return try: # noinspection PyTypeChecker repo = await self._repo_manager.add_repo(name=name, url=repo_url, branch=branch) @@ -241,6 +247,12 @@ class Downloader(commands.Cog): branch, exc_info=err, ) + except OSError: + await ctx.send( + _( + "Something went wrong trying to add that repo. Your repo name might have an invalid character." + ) + ) else: await ctx.send(_("Repo `{name}` successfully added.").format(name=name)) if repo.install_msg is not None: From 36f494ba635c8db483f2d0a8dfdeed75ecd483a1 Mon Sep 17 00:00:00 2001 From: Draper <27962761+Drapersniper@users.noreply.github.com> Date: Fri, 11 Oct 2019 03:09:01 +0100 Subject: [PATCH 169/183] [Audio] One PR to rule them all, One PR to find them, One PR to bring them all, and in the darkness bind them (all-in-one pr) (#2904) * More changes Signed-off-by: Guy * Fixed auto play defaulting to playlist Signed-off-by: Guy * Localtrack fix Signed-off-by: Guy * Updated deps .. since for some reason aiosqlite is not being auto installed for everyone Signed-off-by: Guy * Yupo Signed-off-by: Guy * Fixed a crash in [p]now Signed-off-by: Guy * Fixed crash on playlist save Signed-off-by: Guy * Debugging Commit Signed-off-by: Guy * Yet more prints Signed-off-by: Guy * Even more spammy debug Signed-off-by: Guy * Debugging commit + NEw Dispatches Signed-off-by: Guy * Debugging commit + NEw Dispatches Signed-off-by: Guy * Fixed localpath checks Signed-off-by: Guy * more fixes for Localpaths Signed-off-by: Guy * Spelling mistake on method Signed-off-by: Guy * Fixed Crash on event handler Signed-off-by: Guy * Fixed Crash on local search Signed-off-by: Guy * Reduced fuzzy match percentage threshold for local tracks to account for nested folders Signed-off-by: Guy * Fixed a crash on queue end Signed-off-by: Guy * Sigh ... Removed a duplicate dispatch Signed-off-by: Guy * Sigh i removed this before ... Signed-off-by: Guy * Reorder dispatch signatures so all 3 new dispatch have matching signature Signed-off-by: Guy * Formatting Signed-off-by: Guy * Edited Error Event to support localtracks Signed-off-by: Guy * Fix a Crash on track crash :awesome: Signed-off-by: Guy * Yikes soo much spam Signed-off-by: Guy * Remove spam and improve existance check Signed-off-by: Guy * Repeat and Auto-play are mutually exclusive now Signed-off-by: Guy * DEBUGS for Preda Signed-off-by: Guy * Vimeo tracks can be from both these domains "vimeo.com", "beam.pro" Signed-off-by: Guy * I mean Mixer can be from those 2 domains .... Signed-off-by: Guy * Fixed `search sc` command Signed-off-by: Guy * Run everything though lints. rename localtracks module to dataclasses Clear lock on errors Signed-off-by: Draper * Try to speed up long playlist loading Signed-off-by: Draper * Im an idiot Signed-off-by: Draper * Im an idiot Signed-off-by: Draper * Added logging for writes Signed-off-by: Draper * Fix crash on cog reload Signed-off-by: Draper * Fix for runtimewarning ? Signed-off-by: Draper * Fix for Local Track cache Signed-off-by: Draper * Remove broken tracks from queue on exception Theoretically do not auto play if track stop reason is Stopped or cleanup Signed-off-by: Draper * Previous commit was a fluke ... ignore it Signed-off-by: Draper * Change from cleanup to Replaced Signed-off-by: Draper * Fixed AttributeError: 'Track' object has no attribute 'info'. [p]skip will only work for autoplay is there a track being played. Fixed Console spam if query saving failed in the background while reloading bot. Autoplay now respect [p]stop command Signed-off-by: Guy * Black formatting Fix Issue with auto play working when there is songs in the queue Stop notifying queue ended if autoplay is on Signed-off-by: Guy * Fixed a crash on track load timeout Signed-off-by: Guy * [p]playlist start will now show the playlist name in embed body Improved Logic for handling broken tracks when repeat is on. Signed-off-by: Draper * Enqueue tracks as soon as we have the youtube URL .... This basically changes how spotify urls are handled Need to test saving spotify playlist Need to test loading a spotify playlist from file Need to test enqueuing a spotify playlist Signed-off-by: Draper * Updated a track whrn enqueuing spotify playlist Signed-off-by: Draper * Debug Signed-off-by: Draper * Debug Signed-off-by: Draper * Debug Signed-off-by: Draper * Debug Signed-off-by: Draper * Debug Signed-off-by: Draper * Debug Signed-off-by: Draper * Debug Signed-off-by: Draper * Debug Signed-off-by: Draper * Debug Signed-off-by: Draper * Debug Signed-off-by: Draper * Revert spotify_enqueue changes Signed-off-by: Draper * Revert spotify_enqueue changes Signed-off-by: Draper * Allow to set Lavalink jar version from Environment vars Signed-off-by: Draper * Allow to set Lavalink jar version from Environment vars Signed-off-by: Draper * Fix for a crash on Equalizer, Merge Spotify_enqueue changes and revert manager changes Signed-off-by: Draper * Break playlist enqueue after 10 consecutive failures Signed-off-by: Draper * Auto DC, is not compatible with Auto Play Signed-off-by: Draper * Make notifier aware of guild its being called for Signed-off-by: Draper * Type checking Signed-off-by: Draper * Remove lock from 2 exits that i didn't before Signed-off-by: Draper * Fixed TypeError: spotify_enqueue() got an unexpected keyword argument 'notify' Signed-off-by: Guy * Reorder toggles to alphabetical order Signed-off-by: Guy * Update Query to handle spotify URIs Signed-off-by: Guy * update database Signed-off-by: Guy * Dont say tracks enqued on invalid link Make autop lay a mod only setting Signed-off-by: Draper * Dont say tracks enqued on invalid spotify link Signed-off-by: Draper * Set default age to 365 days Signed-off-by: Draper * Allow Audio mods to set auto play playlists. Save playlists songs to cache when migrating Signed-off-by: Guy * Black formatting Signed-off-by: Guy * [p]eq cooldown is not triggered is player check fails (i.e if nothing is currently playing) Adding and removing reaction is no longer a blocking action Signed-off-by: Guy * changelog for non blocking reaction handles Signed-off-by: Guy * Show auto dc and auto play settings by default Signed-off-by: Guy * lint is being a bitch Signed-off-by: Guy * lint changes Signed-off-by: Draper * stop caching local tracks Signed-off-by: Draper * List of Lavalink.Tracks natively added to Playlist Objects Signed-off-by: Draper * Fix UX changes and should fix autoplay Signed-off-by: Draper * Fixed Skip x number of tracks Signed-off-by: Draper * Lint changes Signed-off-by: Draper * Remvoe dead code Signed-off-by: Draper * Update playlist embed formatting to reflect Preda's suggestions Signed-off-by: Draper * Update change logs Signed-off-by: Draper * Add `async with ctx.typing():` to queue and to local folder Signed-off-by: Draper * Stop queuing now when queue is empty with [p]queue Signed-off-by: Draper * fix ctx.typing() Signed-off-by: Draper * fix ctx.typing() Signed-off-by: Draper * Part 1 Signed-off-by: Draper * Dont check local track author and name if title is Unknown Signed-off-by: Guy * Makes auto play more random Signed-off-by: Guy * Fixes local play Fixed missing format Signed-off-by: Guy * Query.process_input accept lavalink.Track objects Signed-off-by: Draper * docstrings Signed-off-by: Draper * Add TODO for timestamp support Signed-off-by: Draper * Improve autoplay from cache logic (possibly slightly slower but more efficient overall) Signed-off-by: Draper * Add My Lavalink PR as a dependency Remember to remove this .... The PR will bump it to 0.3.2 Signed-off-by: Draper * Add My Lavalink PR as a dependency Remember to remove this .... The PR will bump it to 0.3.2 Signed-off-by: Draper * Add My Lavalink PR as a dependency Remember to remove this .... The PR will bump it to 0.3.2 Signed-off-by: Draper * Compile all regex at runtime Signed-off-by: Draper * Fixes local play Fixed missing format Signed-off-by: Guy * Revert Dep error Signed-off-by: Guy * black Signed-off-by: Guy * Fixed attribute error Signed-off-by: Guy * add `self.bot.dispatch("audio_disconnect", ctx.guild)` dispatch when the player is disconnected Signed-off-by: Guy * Removed shuffle lock on skip Signed-off-by: Guy * Better logic for auto seek (timestamps) Signed-off-by: Guy * Better logic for auto seek (timestamps) Signed-off-by: Guy * Fixes timestamps on spotify tracks Signed-off-by: Guy * Add ctx typing to playlist enqueue Signed-off-by: Guy * Fix Deps Signed-off-by: Guy * Black formatting + Using new lavalink methods for shuffling Signed-off-by: Guy * remove ctx.typing from playlist start Signed-off-by: Guy * Fixes typerror when enqueuing spotify playlists Signed-off-by: Guy * Fix keyerror Signed-off-by: Guy * black formatting, + embed for [p]audioset cache as I forgot it before Signed-off-by: Guy * Fix Error on playlist upload Signed-off-by: Guy * Fix Text help for bump Signed-off-by: Guy * Allow track bumping while shuffle is on Signed-off-by: Guy * Edit bump embed to be consistent with other embed Hyperlink tracks and removed dynamic title Signed-off-by: Guy * Black Signed-off-by: Guy * Errors not printing fix? Signed-off-by: Guy * Errors not printing fix? Signed-off-by: Guy * Track enqueued footer now shows correct track position when shuffle is on Signed-off-by: Guy * Update changelogs Signed-off-by: Guy * Fix is_owner check in audioset settings Signed-off-by: Guy * Changelogs Signed-off-by: Guy * Dont store searches with no results in cache, fix malformated playlist to cache upon settings migration Signed-off-by: Guy * _clear_lock_on_error > Needs to be reviewed to see if it has been done correctly Signed-off-by: Guy * _clear_lock_on_error > Needs to be reviewed to see if it has been done correctly Signed-off-by: Guy * Fix Query search so that it works with absolute paths for localtracks Signed-off-by: Guy * Extra error if lavalink is set to external and the query is a localtrack and nothing is found Signed-off-by: Guy * Black Signed-off-by: Guy * More detailed error message Signed-off-by: Guy * [p]seek and [p]skip can be used by user if they are the song requester while DJ mode is enabled, if votes are disabled. , [p]queue shuffle can be used to shuffle the queue manually. and [p]queue clean self can be used to remove all songs you requested from the queue. Signed-off-by: Guy * black Signed-off-by: Guy * All the fixes + a `should_auto_play` dispatch for the tech savy peeps Signed-off-by: Guy * Spellchecker + Pythonic changes Signed-off-by: Guy * NO spam for logs Signed-off-by: Guy * Pass Current voice channel to `red_audio_should_auto_play` dispatch Signed-off-by: Guy * Black Signed-off-by: Guy * playlist upload also updates cache in the background Signed-off-by: Guy * playlist upload also updates cache in the background Signed-off-by: Guy * Add scope to playlist picker Signed-off-by: Guy * Delete Playlist picker message once something is selected Signed-off-by: Guy * OCD Fix Signed-off-by: Guy * Facepalm Signed-off-by: Guy * Fix a Potential crash Signed-off-by: Guy * Update my stupidity Signed-off-by: Guy * Auto Pause + Skip tracks already in playlist upon playlist append + a command to remove duplicated tracks from playlist Signed-off-by: Guy * Fix DJ mode when Role is deleted - Credits go to Neuro Assassin#4779 Fix an issue where auto play MAY not trigger Signed-off-by: Guy * Change log to Neuro Assassin#4779 fix Signed-off-by: Guy * Black Signed-off-by: Guy * Dont auto pause manual pauses Signed-off-by: Guy * Adds `[p]autoplay` that can be run by mods or higher Signed-off-by: Guy * :facepalm: Signed-off-by: Guy * 2x :facepalm: Signed-off-by: Guy * Fixed wrong import Signed-off-by: Guy * Added Autoplay notify Signed-off-by: Guy * Added Autoplay notify Signed-off-by: Guy * Black Signed-off-by: Guy * Store Track object as prev song instead of URI Signed-off-by: Guy * Black why do u hate me Signed-off-by: Guy * Fix command name Signed-off-by: Guy * Fix Autoplay notify Signed-off-by: Guy * Fix missing await and TypeError, Thanks Flame Signed-off-by: Guy * Add a list of tracks to show as a menu Signed-off-by: Guy * adds the `[p]genre` command which uses the Spotify and Youtube API Signed-off-by: Guy * Enqueue Playlists from genre command Signed-off-by: Guy * Pretify `[p]genre` Signed-off-by: Guy * Fix a Typo and correct jukebox charge order Signed-off-by: Guy * Add genre command to error handling Signed-off-by: Guy * Type checking Signed-off-by: Guy * Update naming scheme for `[p]genre` Signed-off-by: Guy * Black why do you hate me Signed-off-by: Guy * Fixed `[p]local start` Playlist picker auto selects if theres just 1 playlist found `[p]queue cleanself` added Signed-off-by: Guy * *sigh* back compatibility with old localtrack paths Signed-off-by: Guy * *sigh* back compatibility with old localtrack paths, even more Signed-off-by: Guy * *sigh* back compatibility with old localtrack paths Even more Signed-off-by: Guy * Fixes localtracks in playlist info command Signed-off-by: Guy * Debug Local Strings Signed-off-by: Guy * Debug Local Strings Signed-off-by: Guy * Fixes `[p]playlist info` for local tracks + fixed error in `[p]remove` Signed-off-by: Guy * Black Signed-off-by: Guy * Fixes formatting in `[p]playlist info` Signed-off-by: Guy * Fix an issue with User Scope playlists were not being deleted Signed-off-by: Guy * Typechecking Signed-off-by: Guy * Black Signed-off-by: Guy * Fix the logic of `delegate_autoplay` Signed-off-by: Guy * Fix a Crash on Load due to type hinting Signed-off-by: Guy * Fix a Crash on Load due to type hintingBlack + fix order of `red_audio_should_auto_play` Signed-off-by: Guy * Add `red_audio_initialized` dispatch so that ownership of auto play can be maintained after a reload Signed-off-by: Guy * Check if the current owner is loaded before raising an error Signed-off-by: Guy * Fixes the Existence Check in `delegate_autoplay` Signed-off-by: Guy * Turns `own_autoplay` in a property of Audio and improves `delegate_autoplay` Thanks Sinbad! Signed-off-by: Guy * Fix for Localtracks playlists Signed-off-by: Guy * When disconnecting send `Disconnecting...` Fix Stop after a skip Fix UX discrepancy on Playlist IDs Fixed Exception when theres a track error Signed-off-by: Guy * add `on_red_audio_unload` dispatch Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Fix a crash on track start where `player.current` can be none? Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Missing new line Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Allow `--author` for playlist to be used to filter playlist for an specific author. Plus a few bugfixes for UX Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Rename `remdupe` to `dedupe` Make global scope always be referenced as Global add missing backwards quotes around the Playlist ID for 1 string Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Towncrier entries for dep changes Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Remove track index when shuffle is on Fix Progress bar for livestreams Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Trigger autoplay on `QUEUE_END` event instead of `TRACK_END` Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Can't reproduce Ians bug but here a safeguard agaisnt it just in case Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Fixes 2 Messages that had the wrong formatting Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * standerdize playlist naming scheme Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Fix `[p]autoplay` message when Notify is enabled Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * y u h8 me black Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Fix an issue with `[p]audioset localpath` where the localtracks folder was incorrect Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Pythonic formatting Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Ugh Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Fix a typo Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Silently try to delete messages + fixes error Ian found with `[p]genre` Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * sigh black Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Add humanize_number usage correctly Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Bump RLL to 0.4.0 Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Update changelog entries Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Change `bot.db` to new API's added by #2967 Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Additional reformatting Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Remove PyCharm noise + Fixes a few Pycharm warnings Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Rework `index` parsing for youtube urls Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Addess Aika's review Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Fix a potential crash, saves guild ID to playlists to avoid an scheme change in the future Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Add handling for Python installs without sqlite3. Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Address Flame's review Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Fix ma stupidity Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Address Aika's latest review. 1. Update docstring for `[p]playlist rename`. 2. Fix punctuation for playlist matching. 3. `[p]playlist update` now respect playlist management perms 4. Playlist management errors now shows playlist name, id and scope where possible 5. Remove duplicated code and dead code. Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Pluralize string Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> --- changelog.d/audio/270.feature.rst | 1 + changelog.d/audio/2861.bugfix.1.rst | 1 + changelog.d/audio/2861.bugfix.2.rst | 1 + changelog.d/audio/2861.enhance.1.rst | 1 + changelog.d/audio/2861.enhance.2.rst | 1 + changelog.d/audio/2861.feature.1.rst | 1 + changelog.d/audio/2861.feature.2.rst | 1 + changelog.d/audio/2861.feature.3.rst | 1 + changelog.d/audio/2861.feature.4.rst | 1 + changelog.d/audio/2861.feature.5.rst | 16 + changelog.d/audio/2861.misc.1.rst | 1 + changelog.d/audio/2861.misc.2.rst | 1 + changelog.d/audio/2861.misc.3.rst | 1 + changelog.d/audio/2861.misc.4.rst | 1 + changelog.d/audio/2861.misc.5.rst | 1 + changelog.d/audio/2861.misc.6.rst | 1 + changelog.d/audio/2890.enhance.1.rst | 1 + changelog.d/audio/2890.enhance.2.rst | 1 + changelog.d/audio/2890.misc.1.rst | 1 + changelog.d/audio/2890.misc.2.rst | 1 + changelog.d/audio/2890.misc.3.rst | 1 + changelog.d/audio/2904.bugfix.1.rst | 1 + changelog.d/audio/2904.bugfix.2.rst | 1 + changelog.d/audio/2904.bugfix.3.rst | 1 + changelog.d/audio/2904.dep.1.rst | 1 + changelog.d/audio/2904.dep.2.rst | 1 + changelog.d/audio/2904.enhance.1.rst | 2 + changelog.d/audio/2904.enhance.2.rst | 1 + changelog.d/audio/2904.enhance.3.rst | 1 + changelog.d/audio/2904.enhance.4.rst | 1 + changelog.d/audio/2904.enhance.5.rst | 1 + changelog.d/audio/2904.enhance.6.rst | 1 + changelog.d/audio/2904.enhance.7.rst | 1 + changelog.d/audio/2904.enhance.8.rst | 1 + changelog.d/audio/2904.feature.1.rst | 1 + changelog.d/audio/2904.feature.10.rst | 1 + changelog.d/audio/2904.feature.2.rst | 1 + changelog.d/audio/2904.feature.3.rst | 1 + changelog.d/audio/2904.feature.4.rst | 12 + changelog.d/audio/2904.feature.5.rst | 1 + changelog.d/audio/2904.feature.6.rst | 1 + changelog.d/audio/2904.feature.7.rst | 1 + changelog.d/audio/2904.feature.8.rst | 1 + changelog.d/audio/2904.feature.9.rst | 1 + changelog.d/audio/2904.misc.1.rst | 1 + changelog.d/audio/721.feature.rst | 1 + redbot/cogs/audio/apis.py | 1131 +++++ redbot/cogs/audio/audio.py | 5600 ++++++++++++++++++------- redbot/cogs/audio/checks.py | 37 + redbot/cogs/audio/converters.py | 495 +++ redbot/cogs/audio/dataclasses.py | 486 +++ redbot/cogs/audio/equalizer.py | 7 +- redbot/cogs/audio/errors.py | 64 + redbot/cogs/audio/manager.py | 17 +- redbot/cogs/audio/playlists.py | 428 ++ redbot/cogs/audio/utils.py | 425 ++ redbot/core/commands/errors.py | 20 +- redbot/core/events.py | 7 + setup.cfg | 4 +- tools/primary_deps.ini | 2 + 60 files changed, 7297 insertions(+), 1499 deletions(-) create mode 100644 changelog.d/audio/270.feature.rst create mode 100644 changelog.d/audio/2861.bugfix.1.rst create mode 100644 changelog.d/audio/2861.bugfix.2.rst create mode 100644 changelog.d/audio/2861.enhance.1.rst create mode 100644 changelog.d/audio/2861.enhance.2.rst create mode 100644 changelog.d/audio/2861.feature.1.rst create mode 100644 changelog.d/audio/2861.feature.2.rst create mode 100644 changelog.d/audio/2861.feature.3.rst create mode 100644 changelog.d/audio/2861.feature.4.rst create mode 100644 changelog.d/audio/2861.feature.5.rst create mode 100644 changelog.d/audio/2861.misc.1.rst create mode 100644 changelog.d/audio/2861.misc.2.rst create mode 100644 changelog.d/audio/2861.misc.3.rst create mode 100644 changelog.d/audio/2861.misc.4.rst create mode 100644 changelog.d/audio/2861.misc.5.rst create mode 100644 changelog.d/audio/2861.misc.6.rst create mode 100644 changelog.d/audio/2890.enhance.1.rst create mode 100644 changelog.d/audio/2890.enhance.2.rst create mode 100644 changelog.d/audio/2890.misc.1.rst create mode 100644 changelog.d/audio/2890.misc.2.rst create mode 100644 changelog.d/audio/2890.misc.3.rst create mode 100644 changelog.d/audio/2904.bugfix.1.rst create mode 100644 changelog.d/audio/2904.bugfix.2.rst create mode 100644 changelog.d/audio/2904.bugfix.3.rst create mode 100644 changelog.d/audio/2904.dep.1.rst create mode 100644 changelog.d/audio/2904.dep.2.rst create mode 100644 changelog.d/audio/2904.enhance.1.rst create mode 100644 changelog.d/audio/2904.enhance.2.rst create mode 100644 changelog.d/audio/2904.enhance.3.rst create mode 100644 changelog.d/audio/2904.enhance.4.rst create mode 100644 changelog.d/audio/2904.enhance.5.rst create mode 100644 changelog.d/audio/2904.enhance.6.rst create mode 100644 changelog.d/audio/2904.enhance.7.rst create mode 100644 changelog.d/audio/2904.enhance.8.rst create mode 100644 changelog.d/audio/2904.feature.1.rst create mode 100644 changelog.d/audio/2904.feature.10.rst create mode 100644 changelog.d/audio/2904.feature.2.rst create mode 100644 changelog.d/audio/2904.feature.3.rst create mode 100644 changelog.d/audio/2904.feature.4.rst create mode 100644 changelog.d/audio/2904.feature.5.rst create mode 100644 changelog.d/audio/2904.feature.6.rst create mode 100644 changelog.d/audio/2904.feature.7.rst create mode 100644 changelog.d/audio/2904.feature.8.rst create mode 100644 changelog.d/audio/2904.feature.9.rst create mode 100644 changelog.d/audio/2904.misc.1.rst create mode 100644 changelog.d/audio/721.feature.rst create mode 100644 redbot/cogs/audio/apis.py create mode 100644 redbot/cogs/audio/checks.py create mode 100644 redbot/cogs/audio/converters.py create mode 100644 redbot/cogs/audio/dataclasses.py create mode 100644 redbot/cogs/audio/playlists.py create mode 100644 redbot/cogs/audio/utils.py diff --git a/changelog.d/audio/270.feature.rst b/changelog.d/audio/270.feature.rst new file mode 100644 index 000000000..8ab87d40f --- /dev/null +++ b/changelog.d/audio/270.feature.rst @@ -0,0 +1 @@ +Added support for nested folders in the localtrack folder. \ No newline at end of file diff --git a/changelog.d/audio/2861.bugfix.1.rst b/changelog.d/audio/2861.bugfix.1.rst new file mode 100644 index 000000000..4fe209e39 --- /dev/null +++ b/changelog.d/audio/2861.bugfix.1.rst @@ -0,0 +1 @@ +``[p]playlist remove`` now removes the playlist url if the playlist was created through ``[p]playlist save``. diff --git a/changelog.d/audio/2861.bugfix.2.rst b/changelog.d/audio/2861.bugfix.2.rst new file mode 100644 index 000000000..5a686e790 --- /dev/null +++ b/changelog.d/audio/2861.bugfix.2.rst @@ -0,0 +1 @@ +Users are no longer able to accidentally overwrite existing playlist if a new one with the same name is created/rename. diff --git a/changelog.d/audio/2861.enhance.1.rst b/changelog.d/audio/2861.enhance.1.rst new file mode 100644 index 000000000..22e392132 --- /dev/null +++ b/changelog.d/audio/2861.enhance.1.rst @@ -0,0 +1 @@ +``[p]playlist upload`` will now load playlists generated via ``[p]playlist download`` much faster if the playlist use the new scheme. diff --git a/changelog.d/audio/2861.enhance.2.rst b/changelog.d/audio/2861.enhance.2.rst new file mode 100644 index 000000000..bd0810d96 --- /dev/null +++ b/changelog.d/audio/2861.enhance.2.rst @@ -0,0 +1 @@ +``[p]playlist`` commands now can be used by everyone regardless of DJ settings, however it will respect DJ settings when creating/modifying playlist in the server scope. diff --git a/changelog.d/audio/2861.feature.1.rst b/changelog.d/audio/2861.feature.1.rst new file mode 100644 index 000000000..b26f4049e --- /dev/null +++ b/changelog.d/audio/2861.feature.1.rst @@ -0,0 +1 @@ +Playlist are now stored in a dataclass and new APIs were added to interact with them see :module:`redbot.cogs.audio.playlist` for more details. diff --git a/changelog.d/audio/2861.feature.2.rst b/changelog.d/audio/2861.feature.2.rst new file mode 100644 index 000000000..768f22b13 --- /dev/null +++ b/changelog.d/audio/2861.feature.2.rst @@ -0,0 +1 @@ +All Playlist commands now accept optional arguments, use ``[p]help playlist `` for more details. diff --git a/changelog.d/audio/2861.feature.3.rst b/changelog.d/audio/2861.feature.3.rst new file mode 100644 index 000000000..d0089f1f2 --- /dev/null +++ b/changelog.d/audio/2861.feature.3.rst @@ -0,0 +1 @@ +``[p]playlist rename`` will now allow users to rename existing playlists. diff --git a/changelog.d/audio/2861.feature.4.rst b/changelog.d/audio/2861.feature.4.rst new file mode 100644 index 000000000..1e79bb342 --- /dev/null +++ b/changelog.d/audio/2861.feature.4.rst @@ -0,0 +1 @@ +``[p]playlist update`` will allow users to update non custom Playlists to the latest available tracks. diff --git a/changelog.d/audio/2861.feature.5.rst b/changelog.d/audio/2861.feature.5.rst new file mode 100644 index 000000000..0ef6b9d1b --- /dev/null +++ b/changelog.d/audio/2861.feature.5.rst @@ -0,0 +1,16 @@ +There are 3 different scopes of playlist now, to define them use the ``--scope`` argument. + + ``Global Playlist`` + + - These playlists will be available in all servers the bot is in. + - These can be managed by the Bot Owner only. + + ``Server Playlist`` + + - These playlists will only be available in the server they were created in. + - These can be managed by the Bot Owner, Guild Owner, Mods, Admins, DJs and creator (if DJ role is disabled). + + ``User Playlist`` + + - These playlists will be available in all servers both the bot and the creator are in. + - These can be managed by the Bot Owner and Creator only. \ No newline at end of file diff --git a/changelog.d/audio/2861.misc.1.rst b/changelog.d/audio/2861.misc.1.rst new file mode 100644 index 000000000..f0956ddb6 --- /dev/null +++ b/changelog.d/audio/2861.misc.1.rst @@ -0,0 +1 @@ +:class:`ArgParserFailure` was added to :class:`redbot.core.commands.errors` to allow user friendly errors from ArgParser Converters. diff --git a/changelog.d/audio/2861.misc.2.rst b/changelog.d/audio/2861.misc.2.rst new file mode 100644 index 000000000..f06aadea7 --- /dev/null +++ b/changelog.d/audio/2861.misc.2.rst @@ -0,0 +1 @@ +Automatic handling of :class:`redbot.core.commands.errors.ArgParserFailure` on :meth:`Cog.on_command_error`. \ No newline at end of file diff --git a/changelog.d/audio/2861.misc.3.rst b/changelog.d/audio/2861.misc.3.rst new file mode 100644 index 000000000..fe1653d55 --- /dev/null +++ b/changelog.d/audio/2861.misc.3.rst @@ -0,0 +1 @@ +Playlists are now stored in 3 different scopes ``GLOBALPLAYLIST``, ``GUILDPLAYLIST``, ``USERPLAYLIST``. diff --git a/changelog.d/audio/2861.misc.4.rst b/changelog.d/audio/2861.misc.4.rst new file mode 100644 index 000000000..563d7245b --- /dev/null +++ b/changelog.d/audio/2861.misc.4.rst @@ -0,0 +1 @@ +:class:`ScopeParser` is used to parse optional arguments for all playlist commands. \ No newline at end of file diff --git a/changelog.d/audio/2861.misc.5.rst b/changelog.d/audio/2861.misc.5.rst new file mode 100644 index 000000000..73ff90b55 --- /dev/null +++ b/changelog.d/audio/2861.misc.5.rst @@ -0,0 +1 @@ +:method:`Audio.can_manage_playlist` is now used to check users permissions when managing playlists. diff --git a/changelog.d/audio/2861.misc.6.rst b/changelog.d/audio/2861.misc.6.rst new file mode 100644 index 000000000..5469346e1 --- /dev/null +++ b/changelog.d/audio/2861.misc.6.rst @@ -0,0 +1 @@ +:meth:`Audio._migrate_config` will automatically migrate old schema playlist to the new schema. diff --git a/changelog.d/audio/2890.enhance.1.rst b/changelog.d/audio/2890.enhance.1.rst new file mode 100644 index 000000000..55fa674a1 --- /dev/null +++ b/changelog.d/audio/2890.enhance.1.rst @@ -0,0 +1 @@ +Spotify, Youtube Data and Lavalink API calls can be cached to avoid repeated calls in the future, see ``[p]audioset cache``. \ No newline at end of file diff --git a/changelog.d/audio/2890.enhance.2.rst b/changelog.d/audio/2890.enhance.2.rst new file mode 100644 index 000000000..0af2598a9 --- /dev/null +++ b/changelog.d/audio/2890.enhance.2.rst @@ -0,0 +1 @@ +Playlist will now start playing as soon as first track is loaded. diff --git a/changelog.d/audio/2890.misc.1.rst b/changelog.d/audio/2890.misc.1.rst new file mode 100644 index 000000000..2a31df96c --- /dev/null +++ b/changelog.d/audio/2890.misc.1.rst @@ -0,0 +1 @@ +Spotify and Youtube API functions have been moved to :module:`redbot.cogs.audio.api` under :class:`SpotifyAPI` and :class:`YouTubeAPI`. \ No newline at end of file diff --git a/changelog.d/audio/2890.misc.2.rst b/changelog.d/audio/2890.misc.2.rst new file mode 100644 index 000000000..326a1328b --- /dev/null +++ b/changelog.d/audio/2890.misc.2.rst @@ -0,0 +1 @@ +:class:`MusicCache` now handles the Spotify, Youtube Data and Lavalink API calls, this queries the cache first before making API calls. diff --git a/changelog.d/audio/2890.misc.3.rst b/changelog.d/audio/2890.misc.3.rst new file mode 100644 index 000000000..2d45531fd --- /dev/null +++ b/changelog.d/audio/2890.misc.3.rst @@ -0,0 +1 @@ +Due to playlist loading order changes users are unable to load tracks while a playlist is currently loading. \ No newline at end of file diff --git a/changelog.d/audio/2904.bugfix.1.rst b/changelog.d/audio/2904.bugfix.1.rst new file mode 100644 index 000000000..74ec8775f --- /dev/null +++ b/changelog.d/audio/2904.bugfix.1.rst @@ -0,0 +1 @@ +``[p]audioset settings`` no longer shows lavalink JAR version. diff --git a/changelog.d/audio/2904.bugfix.2.rst b/changelog.d/audio/2904.bugfix.2.rst new file mode 100644 index 000000000..20ac7f463 --- /dev/null +++ b/changelog.d/audio/2904.bugfix.2.rst @@ -0,0 +1 @@ +:code:`KeyError: loadType` when trying to play tracks has been fixed. diff --git a/changelog.d/audio/2904.bugfix.3.rst b/changelog.d/audio/2904.bugfix.3.rst new file mode 100644 index 000000000..bbea88e92 --- /dev/null +++ b/changelog.d/audio/2904.bugfix.3.rst @@ -0,0 +1 @@ +``[p]audioset settings`` now uses :code:`ctx.is_owner()` to check if context author is the bot owner. \ No newline at end of file diff --git a/changelog.d/audio/2904.dep.1.rst b/changelog.d/audio/2904.dep.1.rst new file mode 100644 index 000000000..a8b0491e2 --- /dev/null +++ b/changelog.d/audio/2904.dep.1.rst @@ -0,0 +1 @@ +New dependency: ``databases[sqlite]`` . \ No newline at end of file diff --git a/changelog.d/audio/2904.dep.2.rst b/changelog.d/audio/2904.dep.2.rst new file mode 100644 index 000000000..dbf929184 --- /dev/null +++ b/changelog.d/audio/2904.dep.2.rst @@ -0,0 +1 @@ +``Red-Lavalink`` bumped to version 0.4.0. \ No newline at end of file diff --git a/changelog.d/audio/2904.enhance.1.rst b/changelog.d/audio/2904.enhance.1.rst new file mode 100644 index 000000000..484991fa5 --- /dev/null +++ b/changelog.d/audio/2904.enhance.1.rst @@ -0,0 +1,2 @@ +``[p]audioset localpath`` can set a path anywhere in your machine now. + - Note: This path needs to be visible by :code:`Lavalink.jar`. \ No newline at end of file diff --git a/changelog.d/audio/2904.enhance.2.rst b/changelog.d/audio/2904.enhance.2.rst new file mode 100644 index 000000000..377bc911f --- /dev/null +++ b/changelog.d/audio/2904.enhance.2.rst @@ -0,0 +1 @@ +``[p]queue`` now works where there are no tracks in the queue (it shows the current track playing). \ No newline at end of file diff --git a/changelog.d/audio/2904.enhance.3.rst b/changelog.d/audio/2904.enhance.3.rst new file mode 100644 index 000000000..25e24feef --- /dev/null +++ b/changelog.d/audio/2904.enhance.3.rst @@ -0,0 +1 @@ +``[p]audioset settings`` now reports lavalink lib version. diff --git a/changelog.d/audio/2904.enhance.4.rst b/changelog.d/audio/2904.enhance.4.rst new file mode 100644 index 000000000..05478b075 --- /dev/null +++ b/changelog.d/audio/2904.enhance.4.rst @@ -0,0 +1 @@ +Adding and removing reactions in Audio is no longer a blocking action. \ No newline at end of file diff --git a/changelog.d/audio/2904.enhance.5.rst b/changelog.d/audio/2904.enhance.5.rst new file mode 100644 index 000000000..03362ff9e --- /dev/null +++ b/changelog.d/audio/2904.enhance.5.rst @@ -0,0 +1 @@ +When shuffle is on queue now shows correct play order. \ No newline at end of file diff --git a/changelog.d/audio/2904.enhance.6.rst b/changelog.d/audio/2904.enhance.6.rst new file mode 100644 index 000000000..d0d48557c --- /dev/null +++ b/changelog.d/audio/2904.enhance.6.rst @@ -0,0 +1 @@ +``[p]seek`` and ``[p]skip`` can be used by user if they are the song requester while DJ mode is enabled, if votes are disabled. \ No newline at end of file diff --git a/changelog.d/audio/2904.enhance.7.rst b/changelog.d/audio/2904.enhance.7.rst new file mode 100644 index 000000000..ac882211d --- /dev/null +++ b/changelog.d/audio/2904.enhance.7.rst @@ -0,0 +1 @@ +Adding a playlist and album to a saved playlist skips tracks already in the playlist. \ No newline at end of file diff --git a/changelog.d/audio/2904.enhance.8.rst b/changelog.d/audio/2904.enhance.8.rst new file mode 100644 index 000000000..a24058949 --- /dev/null +++ b/changelog.d/audio/2904.enhance.8.rst @@ -0,0 +1 @@ +Turn off DJ mode if the DJ role is deleted. \ No newline at end of file diff --git a/changelog.d/audio/2904.feature.1.rst b/changelog.d/audio/2904.feature.1.rst new file mode 100644 index 000000000..fe7641b1b --- /dev/null +++ b/changelog.d/audio/2904.feature.1.rst @@ -0,0 +1 @@ +``[p]audioset cache`` can be used to set the cache level. **It's off by default**. \ No newline at end of file diff --git a/changelog.d/audio/2904.feature.10.rst b/changelog.d/audio/2904.feature.10.rst new file mode 100644 index 000000000..b68931a33 --- /dev/null +++ b/changelog.d/audio/2904.feature.10.rst @@ -0,0 +1 @@ +``[p]genre`` command can be used to play spotify playlist. \ No newline at end of file diff --git a/changelog.d/audio/2904.feature.2.rst b/changelog.d/audio/2904.feature.2.rst new file mode 100644 index 000000000..c7a40961d --- /dev/null +++ b/changelog.d/audio/2904.feature.2.rst @@ -0,0 +1 @@ +``[p]audioset cacheage`` can be used to set maximum age of an entry in the cache. **Default is 365 days**. diff --git a/changelog.d/audio/2904.feature.3.rst b/changelog.d/audio/2904.feature.3.rst new file mode 100644 index 000000000..126f416c0 --- /dev/null +++ b/changelog.d/audio/2904.feature.3.rst @@ -0,0 +1 @@ +``[p]audioset autoplay`` can be used to enable auto play once the queue runs out. diff --git a/changelog.d/audio/2904.feature.4.rst b/changelog.d/audio/2904.feature.4.rst new file mode 100644 index 000000000..7a7a20080 --- /dev/null +++ b/changelog.d/audio/2904.feature.4.rst @@ -0,0 +1,12 @@ +New events dispatched by Audio. + + - :code:`on_red_audio_track_start(guild: discord.Guild, track: lavalink.Track, requester: discord.Member)` + - :code:`on_red_audio_track_end(guild: discord.Guild, track: lavalink.Track, requester: discord.Member)` + - :code:`on_red_audio_track_enqueue(guild: discord.Guild, track: lavalink.Track, requester: discord.Member)` + - :code:`on_red_audio_track_auto_play(guild: discord.Guild, track: lavalink.Track, requester: discord.Member)` + - :code:`on_red_audio_queue_end(guild: discord.Guild, track: lavalink.Track, requester: discord.Member)` + - :code:`on_red_audio_audio_disconnect(guild: discord.Guild)` + - :code:`on_red_audio_should_auto_play(guild: discord.Guild, channel: discord.VoiceChannel, play: Callable)` + - :code:`on_red_audio_initialized(audio:Cog)` + - :code:`on_red_audio_skip_track(guild: discord.Guild, track: lavalink.Track, requester: discord.Member)` + - :code:`on_red_audio_unload(audio:Cog)` \ No newline at end of file diff --git a/changelog.d/audio/2904.feature.5.rst b/changelog.d/audio/2904.feature.5.rst new file mode 100644 index 000000000..51209d660 --- /dev/null +++ b/changelog.d/audio/2904.feature.5.rst @@ -0,0 +1 @@ +``[p]queue shuffle`` can be used to shuffle the queue manually. \ No newline at end of file diff --git a/changelog.d/audio/2904.feature.6.rst b/changelog.d/audio/2904.feature.6.rst new file mode 100644 index 000000000..c37957ae4 --- /dev/null +++ b/changelog.d/audio/2904.feature.6.rst @@ -0,0 +1 @@ +``[p]queue clean self`` can be used to remove all songs you requested from the queue. \ No newline at end of file diff --git a/changelog.d/audio/2904.feature.7.rst b/changelog.d/audio/2904.feature.7.rst new file mode 100644 index 000000000..ab1b46e0c --- /dev/null +++ b/changelog.d/audio/2904.feature.7.rst @@ -0,0 +1 @@ +``[p]audioset restrictions`` can be used to add or remove keywords which songs must have or are not allowed to have. \ No newline at end of file diff --git a/changelog.d/audio/2904.feature.8.rst b/changelog.d/audio/2904.feature.8.rst new file mode 100644 index 000000000..97202c775 --- /dev/null +++ b/changelog.d/audio/2904.feature.8.rst @@ -0,0 +1 @@ +``[p]playlist dedupe`` can be used to remove duplicated tracks from a playlist. \ No newline at end of file diff --git a/changelog.d/audio/2904.feature.9.rst b/changelog.d/audio/2904.feature.9.rst new file mode 100644 index 000000000..9ab73f454 --- /dev/null +++ b/changelog.d/audio/2904.feature.9.rst @@ -0,0 +1 @@ +``[p]autoplay`` can be used to play a song. \ No newline at end of file diff --git a/changelog.d/audio/2904.misc.1.rst b/changelog.d/audio/2904.misc.1.rst new file mode 100644 index 000000000..1676ffd84 --- /dev/null +++ b/changelog.d/audio/2904.misc.1.rst @@ -0,0 +1 @@ +:class:`red.cogs.audio.localpaths.Query` and :class:`red.cogs.audio.localpaths.LocalPath` have been implemented to handle localtracks and queries. \ No newline at end of file diff --git a/changelog.d/audio/721.feature.rst b/changelog.d/audio/721.feature.rst new file mode 100644 index 000000000..ec8ae42a8 --- /dev/null +++ b/changelog.d/audio/721.feature.rst @@ -0,0 +1 @@ +Auto pause queue when room is empty. \ No newline at end of file diff --git a/redbot/cogs/audio/apis.py b/redbot/cogs/audio/apis.py new file mode 100644 index 000000000..bd9f548d7 --- /dev/null +++ b/redbot/cogs/audio/apis.py @@ -0,0 +1,1131 @@ +import asyncio +import base64 +import contextlib +import datetime +import json +import logging +import os +import random +import time +from collections import namedtuple +from typing import Callable, Dict, List, Mapping, NoReturn, Optional, Tuple, Union + +try: + from sqlite3 import Error as SQLError + from databases import Database + + HAS_SQL = True +except ModuleNotFoundError: + HAS_SQL = False + SQLError = ModuleNotFoundError + Database = None + +import aiohttp +import discord +import lavalink +from lavalink.rest_api import LoadResult + +from redbot.core import Config, commands +from redbot.core.bot import Red +from redbot.core.i18n import Translator, cog_i18n +from . import dataclasses +from .errors import InvalidTableError, SpotifyFetchError, YouTubeApiError +from .playlists import get_playlist +from .utils import CacheLevel, Notifier, is_allowed, queue_duration, track_limit + +log = logging.getLogger("red.audio.cache") +_ = Translator("Audio", __file__) + +_DROP_YOUTUBE_TABLE = "DROP TABLE youtube;" + +_CREATE_YOUTUBE_TABLE = """ + CREATE TABLE IF NOT EXISTS youtube( + id INTEGER PRIMARY KEY AUTOINCREMENT, + track_info TEXT, + youtube_url TEXT, + last_updated TEXT, + last_fetched TEXT + ); + """ + +_CREATE_UNIQUE_INDEX_YOUTUBE_TABLE = ( + "CREATE UNIQUE INDEX IF NOT EXISTS idx_youtube_url ON youtube (track_info, youtube_url);" +) + +_INSERT_YOUTUBE_TABLE = """ + INSERT OR REPLACE INTO + youtube(track_info, youtube_url, last_updated, last_fetched) + VALUES (:track_info, :track_url, :last_updated, :last_fetched); + """ +_QUERY_YOUTUBE_TABLE = "SELECT * FROM youtube WHERE track_info=:track;" +_UPDATE_YOUTUBE_TABLE = """UPDATE youtube + SET last_fetched=:last_fetched + WHERE track_info=:track;""" + +_DROP_SPOTIFY_TABLE = "DROP TABLE spotify;" + +_CREATE_UNIQUE_INDEX_SPOTIFY_TABLE = ( + "CREATE UNIQUE INDEX IF NOT EXISTS idx_spotify_uri ON spotify (id, type, uri);" +) + +_CREATE_SPOTIFY_TABLE = """ + CREATE TABLE IF NOT EXISTS spotify( + id TEXT, + type TEXT, + uri TEXT, + track_name TEXT, + artist_name TEXT, + song_url TEXT, + track_info TEXT, + last_updated TEXT, + last_fetched TEXT + ); + """ + +_INSERT_SPOTIFY_TABLE = """ + INSERT OR REPLACE INTO + spotify(id, type, uri, track_name, artist_name, + song_url, track_info, last_updated, last_fetched) + VALUES (:id, :type, :uri, :track_name, :artist_name, + :song_url, :track_info, :last_updated, :last_fetched); + """ +_QUERY_SPOTIFY_TABLE = "SELECT * FROM spotify WHERE uri=:uri;" +_UPDATE_SPOTIFY_TABLE = """UPDATE spotify + SET last_fetched=:last_fetched + WHERE uri=:uri;""" + +_DROP_LAVALINK_TABLE = "DROP TABLE lavalink;" + +_CREATE_LAVALINK_TABLE = """ + CREATE TABLE IF NOT EXISTS lavalink( + query TEXT, + data BLOB, + last_updated TEXT, + last_fetched TEXT + + ); + """ + +_CREATE_UNIQUE_INDEX_LAVALINK_TABLE = ( + "CREATE UNIQUE INDEX IF NOT EXISTS idx_lavalink_query ON lavalink (query);" +) + +_INSERT_LAVALINK_TABLE = """ + INSERT OR REPLACE INTO + lavalink(query, data, last_updated, last_fetched) + VALUES (:query, :data, :last_updated, :last_fetched); + """ +_QUERY_LAVALINK_TABLE = "SELECT * FROM lavalink WHERE query=:query;" +_QUERY_LAST_FETCHED_LAVALINK_TABLE = ( + "SELECT * FROM lavalink " + "WHERE last_fetched LIKE :day1" + " OR last_fetched LIKE :day2" + " OR last_fetched LIKE :day3" + " OR last_fetched LIKE :day4" + " OR last_fetched LIKE :day5" + " OR last_fetched LIKE :day6" + " OR last_fetched LIKE :day7;" +) +_UPDATE_LAVALINK_TABLE = """UPDATE lavalink + SET last_fetched=:last_fetched + WHERE query=:query;""" + +_PARSER = { + "youtube": { + "insert": _INSERT_YOUTUBE_TABLE, + "youtube_url": {"query": _QUERY_YOUTUBE_TABLE}, + "update": _UPDATE_YOUTUBE_TABLE, + }, + "spotify": { + "insert": _INSERT_SPOTIFY_TABLE, + "track_info": {"query": _QUERY_SPOTIFY_TABLE}, + "update": _UPDATE_SPOTIFY_TABLE, + }, + "lavalink": { + "insert": _INSERT_LAVALINK_TABLE, + "data": {"query": _QUERY_LAVALINK_TABLE, "played": _QUERY_LAST_FETCHED_LAVALINK_TABLE}, + "update": _UPDATE_LAVALINK_TABLE, + }, +} + +_TOP_100_GLOBALS = "https://www.youtube.com/playlist?list=PL4fGSI1pDJn6puJdseH2Rt9sMvt9E2M4i" +_TOP_100_US = "https://www.youtube.com/playlist?list=PL4fGSI1pDJn5rWitrRWFKdm-ulaFiIyoK" + + +class SpotifyAPI: + """Wrapper for the Spotify API.""" + + def __init__(self, bot: Red, session: aiohttp.ClientSession): + self.bot = bot + self.session = session + self.spotify_token = None + self.client_id = None + self.client_secret = None + + @staticmethod + async def _check_token(token: dict): + now = int(time.time()) + return token["expires_at"] - now < 60 + + @staticmethod + def _make_token_auth(client_id: Optional[str], client_secret: Optional[str]) -> dict: + if client_id is None: + client_id = "" + if client_secret is None: + client_secret = "" + + auth_header = base64.b64encode((client_id + ":" + client_secret).encode("ascii")) + return {"Authorization": "Basic %s" % auth_header.decode("ascii")} + + async def _make_get(self, url: str, headers: dict = None, params: dict = None) -> dict: + if params is None: + params = {} + async with self.session.request("GET", url, params=params, headers=headers) as r: + if r.status != 200: + log.debug( + "Issue making GET request to {0}: [{1.status}] {2}".format( + url, r, await r.json() + ) + ) + return await r.json() + + async def _get_auth(self) -> NoReturn: + if self.client_id is None or self.client_secret is None: + tokens = await self.bot.get_shared_api_tokens("spotify") + self.client_id = tokens.get("client_id", "") + self.client_secret = tokens.get("client_secret", "") + + async def _request_token(self) -> dict: + await self._get_auth() + + payload = {"grant_type": "client_credentials"} + headers = self._make_token_auth(self.client_id, self.client_secret) + r = await self.post_call( + "https://accounts.spotify.com/api/token", payload=payload, headers=headers + ) + return r + + async def _get_spotify_token(self) -> Optional[str]: + if self.spotify_token and not await self._check_token(self.spotify_token): + return self.spotify_token["access_token"] + token = await self._request_token() + if token is None: + log.debug("Requested a token from Spotify, did not end up getting one.") + try: + token["expires_at"] = int(time.time()) + token["expires_in"] + except KeyError: + return + self.spotify_token = token + log.debug("Created a new access token for Spotify: {0}".format(token)) + return self.spotify_token["access_token"] + + async def post_call(self, url: str, payload: dict, headers: dict = None) -> dict: + async with self.session.post(url, data=payload, headers=headers) as r: + if r.status != 200: + log.debug( + "Issue making POST request to {0}: [{1.status}] {2}".format( + url, r, await r.json() + ) + ) + return await r.json() + + async def get_call(self, url: str, params: dict) -> dict: + token = await self._get_spotify_token() + return await self._make_get( + url, params=params, headers={"Authorization": "Bearer {0}".format(token)} + ) + + async def get_categories(self) -> List[Dict[str, str]]: + url = "https://api.spotify.com/v1/browse/categories" + params = {} + result = await self.get_call(url, params=params) + with contextlib.suppress(KeyError): + if result["error"]["status"] == 401: + raise SpotifyFetchError( + message=( + "The Spotify API key or client secret has not been set properly. " + "\nUse `{prefix}audioset spotifyapi` for instructions." + ) + ) + categories = result.get("categories", {}).get("items", []) + return [{c["name"]: c["id"]} for c in categories] + + async def get_playlist_from_category(self, category: str): + url = f"https://api.spotify.com/v1/browse/categories/{category}/playlists" + params = {} + result = await self.get_call(url, params=params) + playlists = result.get("playlists", {}).get("items", []) + return [ + { + "name": c["name"], + "uri": c["uri"], + "url": c.get("external_urls", {}).get("spotify"), + "tracks": c.get("tracks", {}).get("total", "Unknown"), + } + for c in playlists + ] + + +class YouTubeAPI: + """Wrapper for the YouTube Data API.""" + + def __init__(self, bot: Red, session: aiohttp.ClientSession): + self.bot = bot + self.session = session + self.api_key = None + + async def _get_api_key(self,) -> Optional[str]: + if self.api_key is None: + tokens = await self.bot.get_shared_api_tokens("youtube") + self.api_key = tokens.get("api_key", "") + return self.api_key + + async def get_call(self, query: str) -> Optional[str]: + params = { + "q": query, + "part": "id", + "key": await self._get_api_key(), + "maxResults": 1, + "type": "video", + } + yt_url = "https://www.googleapis.com/youtube/v3/search" + async with self.session.request("GET", yt_url, params=params) as r: + if r.status in [400, 404]: + return None + elif r.status in [403, 429]: + if r.reason == "quotaExceeded": + raise YouTubeApiError("Your YouTube Data API quota has been reached.") + + return None + else: + search_response = await r.json() + for search_result in search_response.get("items", []): + if search_result["id"]["kind"] == "youtube#video": + return f"https://www.youtube.com/watch?v={search_result['id']['videoId']}" + + +@cog_i18n(_) +class MusicCache: + """ + Handles music queries to the Spotify and Youtube Data API. + Always tries the Cache first. + """ + + def __init__(self, bot: Red, session: aiohttp.ClientSession, path: str): + self.bot = bot + self.spotify_api: SpotifyAPI = SpotifyAPI(bot, session) + self.youtube_api: YouTubeAPI = YouTubeAPI(bot, session) + self._session: aiohttp.ClientSession = session + if HAS_SQL: + self.database: Database = Database( + f'sqlite:///{os.path.abspath(str(os.path.join(path, "cache.db")))}' + ) + else: + self.database = None + + self._tasks: dict = {} + self._lock: asyncio.Lock = asyncio.Lock() + self.config: Optional[Config] = None + + async def initialize(self, config: Config) -> NoReturn: + if HAS_SQL: + await self.database.connect() + + await self.database.execute(query="PRAGMA temp_store = 2;") + await self.database.execute(query="PRAGMA journal_mode = wal;") + await self.database.execute(query="PRAGMA wal_autocheckpoint;") + await self.database.execute(query="PRAGMA read_uncommitted = 1;") + + await self.database.execute(query=_CREATE_LAVALINK_TABLE) + await self.database.execute(query=_CREATE_UNIQUE_INDEX_LAVALINK_TABLE) + await self.database.execute(query=_CREATE_YOUTUBE_TABLE) + await self.database.execute(query=_CREATE_UNIQUE_INDEX_YOUTUBE_TABLE) + await self.database.execute(query=_CREATE_SPOTIFY_TABLE) + await self.database.execute(query=_CREATE_UNIQUE_INDEX_SPOTIFY_TABLE) + self.config = config + + async def close(self) -> NoReturn: + if HAS_SQL: + await self.database.execute(query="PRAGMA optimize;") + await self.database.disconnect() + + async def insert(self, table: str, values: List[dict]) -> NoReturn: + # if table == "spotify": + # return + if HAS_SQL: + query = _PARSER.get(table, {}).get("insert") + if query is None: + raise InvalidTableError(f"{table} is not a valid table in the database.") + + await self.database.execute_many(query=query, values=values) + + async def update(self, table: str, values: Dict[str, str]) -> NoReturn: + # if table == "spotify": + # return + if HAS_SQL: + table = _PARSER.get(table, {}) + sql_query = table.get("update") + time_now = str(datetime.datetime.now(datetime.timezone.utc)) + values["last_fetched"] = time_now + if not table: + raise InvalidTableError(f"{table} is not a valid table in the database.") + await self.database.fetch_one(query=sql_query, values=values) + + async def fetch_one( + self, table: str, query: str, values: Dict[str, str] + ) -> Tuple[Optional[str], bool]: + table = _PARSER.get(table, {}) + sql_query = table.get(query, {}).get("query") + if HAS_SQL: + if not table: + raise InvalidTableError(f"{table} is not a valid table in the database.") + + row = await self.database.fetch_one(query=sql_query, values=values) + last_updated = getattr(row, "last_updated", None) + need_update = True + with contextlib.suppress(TypeError): + if last_updated: + last_update = datetime.datetime.fromisoformat( + last_updated + ) + datetime.timedelta(days=await self.config.cache_age()) + last_update.replace(tzinfo=datetime.timezone.utc) + + need_update = last_update < datetime.datetime.now(datetime.timezone.utc) + + return getattr(row, query, None), need_update if table != "spotify" else True + else: + return None, True + + # TODO: Create a task to remove entries + # from DB that haven't been fetched in x days ... customizable by Owner + + async def fetch_all(self, table: str, query: str, values: Dict[str, str]) -> List[Mapping]: + if HAS_SQL: + table = _PARSER.get(table, {}) + sql_query = table.get(query, {}).get("played") + if not table: + raise InvalidTableError(f"{table} is not a valid table in the database.") + + return await self.database.fetch_all(query=sql_query, values=values) + return [] + + @staticmethod + def _spotify_format_call(qtype: str, key: str) -> Tuple[str, dict]: + params = {} + if qtype == "album": + query = "https://api.spotify.com/v1/albums/{0}/tracks".format(key) + elif qtype == "track": + query = "https://api.spotify.com/v1/tracks/{0}".format(key) + else: + query = "https://api.spotify.com/v1/playlists/{0}/tracks".format(key) + return query, params + + @staticmethod + def _get_spotify_track_info(track_data: dict) -> Tuple[str, ...]: + artist_name = track_data["artists"][0]["name"] + track_name = track_data["name"] + track_info = f"{track_name} {artist_name}" + song_url = track_data.get("external_urls", {}).get("spotify") + uri = track_data["uri"] + _id = track_data["id"] + _type = track_data["type"] + + return song_url, track_info, uri, artist_name, track_name, _id, _type + + async def _spotify_first_time_query( + self, + ctx: commands.Context, + query_type: str, + uri: str, + notifier: Notifier, + skip_youtube: bool = False, + current_cache_level: CacheLevel = CacheLevel.none(), + ) -> List[str]: + youtube_urls = [] + + tracks = await self._spotify_fetch_tracks(query_type, uri, params=None, notifier=notifier) + total_tracks = len(tracks) + database_entries = [] + track_count = 0 + time_now = str(datetime.datetime.now(datetime.timezone.utc)) + youtube_cache = CacheLevel.set_youtube().is_subset(current_cache_level) + for track in tracks: + if track.get("error", {}).get("message") == "invalid id": + continue + ( + song_url, + track_info, + uri, + artist_name, + track_name, + _id, + _type, + ) = self._get_spotify_track_info(track) + + database_entries.append( + { + "id": _id, + "type": _type, + "uri": uri, + "track_name": track_name, + "artist_name": artist_name, + "song_url": song_url, + "track_info": track_info, + "last_updated": time_now, + "last_fetched": time_now, + } + ) + if skip_youtube is False: + val = None + if youtube_cache: + update = True + with contextlib.suppress(SQLError): + val, update = await self.fetch_one( + "youtube", "youtube_url", {"track": track_info} + ) + if update: + val = None + if val is None: + val = await self._youtube_first_time_query( + ctx, track_info, current_cache_level=current_cache_level + ) + if youtube_cache and val: + task = ("update", ("youtube", {"track": track_info})) + self.append_task(ctx, *task) + + if val: + youtube_urls.append(val) + else: + youtube_urls.append(track_info) + track_count += 1 + if notifier and ((track_count % 2 == 0) or (track_count == total_tracks)): + await notifier.notify_user(current=track_count, total=total_tracks, key="youtube") + if CacheLevel.set_spotify().is_subset(current_cache_level): + task = ("insert", ("spotify", database_entries)) + self.append_task(ctx, *task) + return youtube_urls + + async def _youtube_first_time_query( + self, + ctx: commands.Context, + track_info: str, + current_cache_level: CacheLevel = CacheLevel.none(), + ) -> str: + track_url = await self.youtube_api.get_call(track_info) + if CacheLevel.set_youtube().is_subset(current_cache_level) and track_url: + time_now = str(datetime.datetime.now(datetime.timezone.utc)) + task = ( + "insert", + ( + "youtube", + [ + { + "track_info": track_info, + "track_url": track_url, + "last_updated": time_now, + "last_fetched": time_now, + } + ], + ), + ) + self.append_task(ctx, *task) + return track_url + + async def _spotify_fetch_tracks( + self, + query_type: str, + uri: str, + recursive: Union[str, bool] = False, + params=None, + notifier: Optional[Notifier] = None, + ) -> Union[dict, List[str]]: + + if recursive is False: + call, params = self._spotify_format_call(query_type, uri) + results = await self.spotify_api.get_call(call, params) + else: + results = await self.spotify_api.get_call(recursive, params) + try: + if results["error"]["status"] == 401 and not recursive: + raise SpotifyFetchError( + ( + "The Spotify API key or client secret has not been set properly. " + "\nUse `{prefix}audioset spotifyapi` for instructions." + ) + ) + elif recursive: + return {"next": None} + except KeyError: + pass + if recursive: + return results + tracks = [] + track_count = 0 + total_tracks = results.get("tracks", results).get("total", 1) + while True: + new_tracks = [] + if query_type == "track": + new_tracks = results + tracks.append(new_tracks) + elif query_type == "album": + tracks_raw = results.get("tracks", results).get("items", []) + if tracks_raw: + new_tracks = tracks_raw + tracks.extend(new_tracks) + else: + tracks_raw = results.get("tracks", results).get("items", []) + if tracks_raw: + new_tracks = [k["track"] for k in tracks_raw if k.get("track")] + tracks.extend(new_tracks) + track_count += len(new_tracks) + if notifier: + await notifier.notify_user(current=track_count, total=total_tracks, key="spotify") + + try: + if results.get("next") is not None: + results = await self._spotify_fetch_tracks( + query_type, uri, results["next"], params, notifier=notifier + ) + continue + else: + break + except KeyError: + raise SpotifyFetchError( + "This doesn't seem to be a valid Spotify playlist/album URL or code." + ) + + return tracks + + async def spotify_query( + self, + ctx: commands.Context, + query_type: str, + uri: str, + skip_youtube: bool = False, + notifier: Optional[Notifier] = None, + ) -> List[str]: + """ + Queries the Database then falls back to Spotify and YouTube APIs. + + Parameters + ---------- + ctx: commands.Context + The context this method is being called under. + query_type : str + Type of query to perform (Pl + uri: str + Spotify URL ID . + skip_youtube:bool + Whether or not to skip YouTube API Calls. + notifier: Notifier + A Notifier object to handle the user UI notifications while tracks are loaded. + Returns + ------- + List[str] + List of Youtube URLs. + """ + current_cache_level = ( + CacheLevel(await self.config.cache_level()) if HAS_SQL else CacheLevel.none() + ) + cache_enabled = CacheLevel.set_spotify().is_subset(current_cache_level) + if query_type == "track" and cache_enabled: + update = True + with contextlib.suppress(SQLError): + val, update = await self.fetch_one( + "spotify", "track_info", {"uri": f"spotify:track:{uri}"} + ) + if update: + val = None + else: + val = None + youtube_urls = [] + if val is None: + urls = await self._spotify_first_time_query( + ctx, + query_type, + uri, + notifier, + skip_youtube, + current_cache_level=current_cache_level, + ) + youtube_urls.extend(urls) + else: + if query_type == "track" and cache_enabled: + task = ("update", ("spotify", {"uri": f"spotify:track:{uri}"})) + self.append_task(ctx, *task) + youtube_urls.append(val) + return youtube_urls + + async def spotify_enqueue( + self, + ctx: commands.Context, + query_type: str, + uri: str, + enqueue: bool, + player: lavalink.Player, + lock: Callable, + notifier: Optional[Notifier] = None, + ) -> List[lavalink.Track]: + track_list = [] + has_not_allowed = False + try: + current_cache_level = ( + CacheLevel(await self.config.cache_level()) if HAS_SQL else CacheLevel.none() + ) + guild_data = await self.config.guild(ctx.guild).all() + + # now = int(time.time()) + enqueued_tracks = 0 + consecutive_fails = 0 + queue_dur = await queue_duration(ctx) + queue_total_duration = lavalink.utils.format_time(queue_dur) + before_queue_length = len(player.queue) + tracks_from_spotify = await self._spotify_fetch_tracks( + query_type, uri, params=None, notifier=notifier + ) + total_tracks = len(tracks_from_spotify) + if total_tracks < 1: + lock(ctx, False) + embed3 = discord.Embed( + colour=await ctx.embed_colour(), + title=_("This doesn't seem to be a supported Spotify URL or code."), + ) + await notifier.update_embed(embed3) + + return track_list + database_entries = [] + time_now = str(datetime.datetime.now(datetime.timezone.utc)) + + youtube_cache = CacheLevel.set_youtube().is_subset(current_cache_level) + spotify_cache = CacheLevel.set_spotify().is_subset(current_cache_level) + for track_count, track in enumerate(tracks_from_spotify): + ( + song_url, + track_info, + uri, + artist_name, + track_name, + _id, + _type, + ) = self._get_spotify_track_info(track) + + database_entries.append( + { + "id": _id, + "type": _type, + "uri": uri, + "track_name": track_name, + "artist_name": artist_name, + "song_url": song_url, + "track_info": track_info, + "last_updated": time_now, + "last_fetched": time_now, + } + ) + val = None + if youtube_cache: + update = True + with contextlib.suppress(SQLError): + val, update = await self.fetch_one( + "youtube", "youtube_url", {"track": track_info} + ) + if update: + val = None + if val is None: + val = await self._youtube_first_time_query( + ctx, track_info, current_cache_level=current_cache_level + ) + if youtube_cache and val: + task = ("update", ("youtube", {"track": track_info})) + self.append_task(ctx, *task) + + if val: + try: + result, called_api = await self.lavalink_query( + ctx, player, dataclasses.Query.process_input(val) + ) + except (RuntimeError, aiohttp.ServerDisconnectedError): + lock(ctx, False) + error_embed = discord.Embed( + colour=await ctx.embed_colour(), + title=_("The connection was reset while loading the playlist."), + ) + await notifier.update_embed(error_embed) + break + except asyncio.TimeoutError: + lock(ctx, False) + error_embed = discord.Embed( + colour=await ctx.embed_colour(), + title=_("Player timedout, skipping remaning tracks."), + ) + await notifier.update_embed(error_embed) + break + track_object = result.tracks + else: + track_object = [] + if (track_count % 2 == 0) or (track_count == total_tracks): + key = "lavalink" + seconds = "???" + second_key = None + # if track_count == 2: + # five_time = int(time.time()) - now + # if track_count >= 2: + # remain_tracks = total_tracks - track_count + # time_remain = (remain_tracks / 2) * five_time + # if track_count < total_tracks: + # seconds = dynamic_time(int(time_remain)) + # if track_count == total_tracks: + # seconds = "0s" + # second_key = "lavalink_time" + await notifier.notify_user( + current=track_count, + total=total_tracks, + key=key, + seconds_key=second_key, + seconds=seconds, + ) + + if consecutive_fails >= 10: + error_embed = discord.Embed( + colour=await ctx.embed_colour(), + title=_("Failing to get tracks, skipping remaining."), + ) + await notifier.update_embed(error_embed) + break + if not track_object: + consecutive_fails += 1 + continue + consecutive_fails = 0 + single_track = track_object[0] + if not await is_allowed( + ctx.guild, + ( + f"{single_track.title} {single_track.author} {single_track.uri} " + f"{str(dataclasses.Query.process_input(single_track))}" + ), + ): + has_not_allowed = True + log.debug(f"Query is not allowed in {ctx.guild} ({ctx.guild.id})") + continue + track_list.append(single_track) + if enqueue: + if guild_data["maxlength"] > 0: + if track_limit(single_track, guild_data["maxlength"]): + enqueued_tracks += 1 + player.add(ctx.author, single_track) + self.bot.dispatch( + "red_audio_track_enqueue", + player.channel.guild, + single_track, + ctx.author, + ) + else: + enqueued_tracks += 1 + player.add(ctx.author, single_track) + self.bot.dispatch( + "red_audio_track_enqueue", + player.channel.guild, + single_track, + ctx.author, + ) + + if not player.current: + await player.play() + if len(track_list) == 0: + if not has_not_allowed: + embed3 = discord.Embed( + colour=await ctx.embed_colour(), + title=_( + "Nothing found.\nThe YouTube API key may be invalid " + "or you may be rate limited on YouTube's search service.\n" + "Check the YouTube API key again and follow the instructions " + "at `{prefix}audioset youtubeapi`." + ).format(prefix=ctx.prefix), + ) + await ctx.send(embed=embed3) + player.maybe_shuffle() + if enqueue and tracks_from_spotify: + if total_tracks > enqueued_tracks: + maxlength_msg = " {bad_tracks} tracks cannot be queued.".format( + bad_tracks=(total_tracks - enqueued_tracks) + ) + else: + maxlength_msg = "" + + embed = discord.Embed( + colour=await ctx.embed_colour(), + title=_("Playlist Enqueued"), + description=_("Added {num} tracks to the queue.{maxlength_msg}").format( + num=enqueued_tracks, maxlength_msg=maxlength_msg + ), + ) + if not guild_data["shuffle"] and queue_dur > 0: + embed.set_footer( + text=_( + "{time} until start of playlist" + " playback: starts at #{position} in queue" + ).format(time=queue_total_duration, position=before_queue_length + 1) + ) + + await notifier.update_embed(embed) + lock(ctx, False) + + if spotify_cache: + task = ("insert", ("spotify", database_entries)) + self.append_task(ctx, *task) + except Exception as e: + lock(ctx, False) + raise e + finally: + lock(ctx, False) + return track_list + + async def youtube_query(self, ctx: commands.Context, track_info: str) -> str: + current_cache_level = ( + CacheLevel(await self.config.cache_level()) if HAS_SQL else CacheLevel.none() + ) + cache_enabled = CacheLevel.set_youtube().is_subset(current_cache_level) + val = None + if cache_enabled: + update = True + with contextlib.suppress(SQLError): + val, update = await self.fetch_one("youtube", "youtube_url", {"track": track_info}) + if update: + val = None + if val is None: + youtube_url = await self._youtube_first_time_query( + ctx, track_info, current_cache_level=current_cache_level + ) + else: + if cache_enabled: + task = ("update", ("youtube", {"track": track_info})) + self.append_task(ctx, *task) + youtube_url = val + return youtube_url + + async def lavalink_query( + self, + ctx: commands.Context, + player: lavalink.Player, + query: dataclasses.Query, + forced: bool = False, + ) -> Tuple[LoadResult, bool]: + """ + A replacement for :code:`lavalink.Player.load_tracks`. + This will try to get a valid cached entry first if not found or if in valid + it will then call the lavalink API. + + Parameters + ---------- + ctx: commands.Context + The context this method is being called under. + player : lavalink.Player + The player who's requesting the query. + query: dataclasses.Query + The Query object for the query in question. + forced:bool + Whether or not to skip cache and call API first.. + Returns + ------- + Tuple[lavalink.LoadResult, bool] + Tuple with the Load result and whether or not the API was called. + """ + current_cache_level = ( + CacheLevel(await self.config.cache_level()) if HAS_SQL else CacheLevel.none() + ) + cache_enabled = CacheLevel.set_lavalink().is_subset(current_cache_level) + val = None + _raw_query = dataclasses.Query.process_input(query) + query = str(_raw_query) + if cache_enabled and not forced and not _raw_query.is_local: + update = True + with contextlib.suppress(SQLError): + val, update = await self.fetch_one("lavalink", "data", {"query": query}) + if update: + val = None + if val: + task = ("update", ("lavalink", {"query": query})) + self.append_task(ctx, *task) + if val and not forced: + data = json.loads(val) + data["query"] = query + results = LoadResult(data) + called_api = False + if results.has_error: + # If cached value has an invalid entry make a new call so that it gets updated + return await self.lavalink_query(ctx, player, _raw_query, forced=True) + else: + called_api = True + results = None + try: + results = await player.load_tracks(query) + except KeyError: + results = None + if results is None: + results = LoadResult({"loadType": "LOAD_FAILED", "playlistInfo": {}, "tracks": []}) + if ( + cache_enabled + and results.load_type + and not results.has_error + and not _raw_query.is_local + and results.tracks + ): + with contextlib.suppress(SQLError): + time_now = str(datetime.datetime.now(datetime.timezone.utc)) + task = ( + "insert", + ( + "lavalink", + [ + { + "query": query, + "data": json.dumps(results._raw), + "last_updated": time_now, + "last_fetched": time_now, + } + ], + ), + ) + self.append_task(ctx, *task) + return results, called_api + + async def run_tasks(self, ctx: Optional[commands.Context] = None, _id=None): + lock_id = _id or ctx.message.id + lock_author = ctx.author if ctx else None + async with self._lock: + if lock_id in self._tasks: + log.debug(f"Running database writes for {lock_id} ({lock_author})") + with contextlib.suppress(Exception): + tasks = self._tasks[ctx.message.id] + del self._tasks[ctx.message.id] + await asyncio.gather( + *[asyncio.ensure_future(self.insert(*a)) for a in tasks["insert"]], + loop=self.bot.loop, + return_exceptions=True, + ) + await asyncio.gather( + *[asyncio.ensure_future(self.update(*a)) for a in tasks["update"]], + loop=self.bot.loop, + return_exceptions=True, + ) + log.debug(f"Completed database writes for {lock_id} " f"({lock_author})") + + async def run_all_pending_tasks(self): + async with self._lock: + log.debug("Running pending writes to database") + with contextlib.suppress(Exception): + tasks = {"update": [], "insert": []} + for k, task in self._tasks.items(): + for t, args in task.items(): + tasks[t].append(args) + self._tasks = {} + + await asyncio.gather( + *[asyncio.ensure_future(self.insert(*a)) for a in tasks["insert"]], + loop=self.bot.loop, + return_exceptions=True, + ) + await asyncio.gather( + *[asyncio.ensure_future(self.update(*a)) for a in tasks["update"]], + loop=self.bot.loop, + return_exceptions=True, + ) + log.debug("Completed pending writes to database have finished") + + def append_task(self, ctx: commands.Context, event: str, task: tuple, _id=None): + lock_id = _id or ctx.message.id + if lock_id not in self._tasks: + self._tasks[lock_id] = {"update": [], "insert": []} + self._tasks[lock_id][event].append(task) + + async def play_random(self): + tracks = [] + try: + query_data = {} + for i in range(1, 8): + date = ( + "%" + + str( + ( + datetime.datetime.now(datetime.timezone.utc) + - datetime.timedelta(days=i) + ).date() + ) + + "%" + ) + query_data[f"day{i}"] = date + + vals = await self.fetch_all("lavalink", "data", query_data) + recently_played = [r.data for r in vals if r] + + if recently_played: + track = random.choice(recently_played) + results = LoadResult(json.loads(track)) + tracks = list(results.tracks) + except Exception: + tracks = [] + + return tracks + + async def autoplay(self, player: lavalink.Player): + autoplaylist = await self.config.guild(player.channel.guild).autoplaylist() + current_cache_level = ( + CacheLevel(await self.config.cache_level()) if HAS_SQL else CacheLevel.none() + ) + cache_enabled = CacheLevel.set_lavalink().is_subset(current_cache_level) + playlist = None + tracks = None + if autoplaylist["enabled"]: + with contextlib.suppress(Exception): + playlist = await get_playlist( + autoplaylist["id"], + autoplaylist["scope"], + self.bot, + player.channel.guild, + player.channel.guild.me, + ) + tracks = playlist.tracks_obj + + if not tracks or not getattr(playlist, "tracks", None): + if cache_enabled: + tracks = await self.play_random() + if not tracks: + ctx = namedtuple("Context", "message") + results, called_api = await self.lavalink_query( + ctx(player.channel.guild), player, dataclasses.Query.process_input(_TOP_100_US) + ) + tracks = list(results.tracks) + if tracks: + multiple = len(tracks) > 1 + track = tracks[0] + + valid = not multiple + + while valid is False and multiple: + track = random.choice(tracks) + query = dataclasses.Query.process_input(track) + if not query.valid: + continue + if query.is_local and not query.track.exists(): + continue + if not await is_allowed( + player.channel.guild, + ( + f"{track.title} {track.author} {track.uri} " + f"{str(dataclasses.Query.process_input(track))}" + ), + ): + log.debug( + "Query is not allowed in " + f"{player.channel.guild} ({player.channel.guild.id})" + ) + continue + valid = True + + track.extras = {"autoplay": True} + player.add(player.channel.guild.me, track) + self.bot.dispatch( + "red_audio_track_auto_play", player.channel.guild, track, player.channel.guild.me + ) + if not player.current: + await player.play() diff --git a/redbot/cogs/audio/audio.py b/redbot/cogs/audio/audio.py index 637bced48..7f1f141e2 100644 --- a/redbot/cogs/audio/audio.py +++ b/redbot/cogs/audio/audio.py @@ -1,46 +1,70 @@ -import aiohttp +# -*- coding: utf-8 -*- import asyncio -import base64 +import contextlib import datetime -import discord -from fuzzywuzzy import process import heapq -from io import StringIO import json -import lavalink import logging -import math import os import random import re import time -from typing import Optional +import traceback +from collections import namedtuple +from io import StringIO +from typing import List, Optional, Tuple, Union, cast + +import aiohttp +import discord +import lavalink +import math +from fuzzywuzzy import process + import redbot.core -from redbot.core import Config, commands, checks, bank +from redbot.core import Config, bank, checks, commands from redbot.core.data_manager import cog_data_path from redbot.core.i18n import Translator, cog_i18n -from redbot.core.utils.chat_formatting import bold, box, pagify, humanize_number +from redbot.core.utils.chat_formatting import bold, box, humanize_number, inline, pagify from redbot.core.utils.menus import ( - menu, DEFAULT_CONTROLS, - prev_page, - next_page, close_menu, + menu, + next_page, + prev_page, start_adding_reactions, ) from redbot.core.utils.predicates import MessagePredicate, ReactionPredicate -from urllib.parse import urlparse +from . import dataclasses +from .apis import MusicCache, HAS_SQL +from .checks import can_have_caching +from .converters import ComplexScopeParser, ScopeParser, get_lazy_converter, get_playlist_converter from .equalizer import Equalizer +from .errors import LavalinkDownloadFailed, MissingGuild, SpotifyFetchError, TooManyMatches from .manager import ServerManager -from .errors import LavalinkDownloadFailed +from .playlists import ( + FakePlaylist, + Playlist, + PlaylistScope, + create_playlist, + delete_playlist, + get_all_playlist, + get_playlist, + humanize_scope, +) +from .utils import * + _ = Translator("Audio", __file__) -__version__ = "0.0.10" -__author__ = ["aikaterna"] +__version__ = "1.0.0" +__author__ = ["aikaterna", "Draper"] log = logging.getLogger("red.audio") +_SCHEMA_VERSION = 2 +LazyGreedyConverter = get_lazy_converter("--") +PlaylistConverter = get_playlist_converter() + @cog_i18n(_) class Audio(commands.Cog): @@ -57,8 +81,20 @@ class Audio(commands.Cog): super().__init__() self.bot = bot self.config = Config.get_conf(self, 2711759130, force_registration=True) - + self.skip_votes = {} + self.session = aiohttp.ClientSession() + self._connect_task = None + self._disconnect_task = None + self._cleaned_up = False + self._connection_aborted = False + self.play_lock = {} + self._manager: Optional[ServerManager] = None + self._cog_name = None + self._cog_id = None default_global = dict( + schema_version=1, + cache_level=0, + cache_age=365, status=False, use_external_lavalink=False, restrict=True, @@ -68,15 +104,18 @@ class Audio(commands.Cog): ) default_guild = dict( + auto_play=False, + autoplaylist=dict(enabled=False, id=None, name=None, scope=None), disconnect=False, dj_enabled=False, dj_role=None, emptydc_enabled=False, emptydc_timer=0, + emptypause_enabled=False, + emptypause_timer=0, jukebox=False, jukebox_price=0, maxlength=0, - playlists={}, notify=False, repeat=False, shuffle=False, @@ -84,26 +123,49 @@ class Audio(commands.Cog): volume=100, vote_enabled=False, vote_percent=0, + room_lock=None, + url_keyword_blacklist=[], + url_keyword_whitelist=[], ) - + _playlist = dict(id=None, author=None, name=None, playlist_url=None, tracks=[]) self.config.init_custom("EQUALIZER", 1) self.config.register_custom("EQUALIZER", eq_bands=[], eq_presets={}) - + self.config.init_custom(PlaylistScope.GLOBAL.value, 1) + self.config.register_custom(PlaylistScope.GLOBAL.value, **_playlist) + self.config.init_custom(PlaylistScope.GUILD.value, 2) + self.config.register_custom(PlaylistScope.GUILD.value, **_playlist) + self.config.init_custom(PlaylistScope.USER.value, 2) + self.config.register_custom(PlaylistScope.USER.value, **_playlist) self.config.register_guild(**default_guild) self.config.register_global(**default_global) - self.skip_votes = {} - self.session = aiohttp.ClientSession() - self._connect_task = None - self._disconnect_task = None - self._cleaned_up = False - self._connection_aborted = False - - self.spotify_token = None + self.music_cache = MusicCache(bot, self.session, path=str(cog_data_path(raw_name="Audio"))) self.play_lock = {} self._manager: Optional[ServerManager] = None + self.bot.dispatch("red_audio_initialized", self) - async def cog_before_invoke(self, ctx): + @property + def owns_autoplay(self): + c = self.bot.get_cog(self._cog_name) + if c and id(c) == self._cog_id: + return c + + @owns_autoplay.setter + def owns_autoplay(self, value: commands.Cog): + if self.owns_autoplay: + raise RuntimeError( + f"`{self._cog_name}` already has ownership of autoplay, " + f"please unload it if you wish to load `{value.qualified_name}`." + ) + self._cog_name = value.qualified_name + self._cog_id = id(value) + + @owns_autoplay.deleter + def owns_autoplay(self): + self._cog_name = None + self._cog_id = None + + async def cog_before_invoke(self, ctx: commands.Context): if self.llsetup in [ctx.command, ctx.command.root_parent]: pass elif self._connect_task.cancelled(): @@ -114,11 +176,84 @@ class Audio(commands.Cog): raise RuntimeError( "Not running audio command due to invalid machine architecture for Lavalink." ) + dj_enabled = await self.config.guild(ctx.guild).dj_enabled() + if dj_enabled: + dj_role_obj = ctx.guild.get_role(await self.config.guild(ctx.guild).dj_role()) + if not dj_role_obj: + await self.config.guild(ctx.guild).dj_enabled.set(None) + await self.config.guild(ctx.guild).dj_role.set(None) + await self._embed_msg(ctx, _("No DJ role found. Disabling DJ mode.")) async def initialize(self): + pass_config_to_dependencies(self.config, self.bot, await self.config.localpath()) + await self.music_cache.initialize(self.config) + asyncio.ensure_future( + self._migrate_config( + from_version=await self.config.schema_version(), to_version=_SCHEMA_VERSION + ) + ) self._restart_connect() self._disconnect_task = self.bot.loop.create_task(self.disconnect_timer()) lavalink.register_event_listener(self.event_handler) + if not HAS_SQL: + error_message = ( + "Audio version: {version}\nThis version requires SQL to " + "access the caching features, " + "your Python install is missing the module sqlite3.\n\n" + "For instructions on how to fix it Google " + "`ModuleNotFoundError: No module named '_sqlite3'`\n" + "You will need to reinstall " + "Python with SQL dependencies installed.\n\n" + ).format(version=__version__) + with contextlib.suppress(discord.HTTPException): + await self.bot.send_to_owners(error_message) + log.critical(error_message) + + async def _migrate_config(self, from_version: int, to_version: int): + database_entries = [] + time_now = str(datetime.datetime.now(datetime.timezone.utc)) + if from_version == to_version: + return + elif from_version < to_version: + all_guild_data = await self.config.all_guilds() + all_playlist = {} + for guild_id, guild_data in all_guild_data.items(): + temp_guild_playlist = guild_data.pop("playlists", None) + if temp_guild_playlist: + guild_playlist = {} + for count, (name, data) in enumerate(temp_guild_playlist.items(), 1): + if not data or not name: + continue + playlist = {"id": count, "name": name, "guild": int(guild_id)} + playlist.update(data) + guild_playlist[str(count)] = playlist + + tracks_in_playlist = data.get("tracks", []) or [] + for t in tracks_in_playlist: + uri = t.get("info", {}).get("uri") + if uri: + t = {"loadType": "V2_COMPAT", "tracks": [t], "query": uri} + database_entries.append( + { + "query": uri, + "data": json.dumps(t), + "last_updated": time_now, + "last_fetched": time_now, + } + ) + if guild_playlist: + all_playlist[str(guild_id)] = guild_playlist + await self.config.custom(PlaylistScope.GUILD.value).set(all_playlist) + # new schema is now in place + await self.config.schema_version.set(_SCHEMA_VERSION) + + # migration done, now let's delete all the old stuff + for guild_id in all_guild_data: + await self.config.guild( + cast(discord.Guild, discord.Object(id=guild_id)) + ).clear_raw("playlists") + if database_entries and HAS_SQL: + asyncio.ensure_future(self.music_cache.insert("lavalink", database_entries)) def _restart_connect(self): if self._connect_task: @@ -219,10 +354,14 @@ class Audio(commands.Cog): "tracebacks for details." ) - async def event_handler(self, player, event_type, extra): + async def event_handler( + self, player: lavalink.Player, event_type: lavalink.LavalinkEvents, extra + ): disconnect = await self.config.guild(player.channel.guild).disconnect() + autoplay = await self.config.guild(player.channel.guild).auto_play() or self.owns_autoplay notify = await self.config.guild(player.channel.guild).notify() status = await self.config.status() + repeat = await self.config.guild(player.channel.guild).repeat() async def _players_check(): try: @@ -231,7 +370,10 @@ class Audio(commands.Cog): get_single_title = lavalink.active_players()[0].current.uri if not get_single_title.startswith("http"): get_single_title = get_single_title.rsplit("/", 1)[-1] - elif "localtracks/" in lavalink.active_players()[0].current.uri: + elif any( + x in lavalink.active_players()[0].current.uri + for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] + ): get_single_title = "{} - {}".format( lavalink.active_players()[0].current.author, lavalink.active_players()[0].current.title, @@ -263,32 +405,84 @@ class Audio(commands.Cog): ) if event_type == lavalink.LavalinkEvents.TRACK_START: + self.skip_votes[player.channel.guild] = [] playing_song = player.fetch("playing_song") requester = player.fetch("requester") player.store("prev_song", playing_song) player.store("prev_requester", requester) - player.store("playing_song", player.current.uri) - player.store("requester", player.current.requester) - self.skip_votes[player.channel.guild] = [] + player.store("playing_song", player.current) + player.store( + "requester", player.current.requester if player.current else player.current + ) + self.bot.dispatch( + "red_audio_track_start", + player.channel.guild, + player.current, + player.current.requester, + ) + if event_type == lavalink.LavalinkEvents.TRACK_END: + prev_song = player.fetch("prev_song") + prev_requester = player.fetch("prev_requester") + self.bot.dispatch( + "red_audio_track_end", player.channel.guild, prev_song, prev_requester + ) + + if event_type == lavalink.LavalinkEvents.QUEUE_END: + prev_song = player.fetch("prev_song") + prev_requester = player.fetch("prev_requester") + self.bot.dispatch( + "red_audio_queue_end", player.channel.guild, prev_song, prev_requester + ) + if autoplay and not player.queue and player.fetch("playing_song") is not None: + if self.owns_autoplay is None: + await self.music_cache.autoplay(player) + else: + self.bot.dispatch( + "red_audio_should_auto_play", + player, + player.channel.guild, + player.channel, + self.play_query, + ) if event_type == lavalink.LavalinkEvents.TRACK_START and notify: notify_channel = player.fetch("channel") + prev_song = player.fetch("prev_song") if notify_channel: notify_channel = self.bot.get_channel(notify_channel) if player.fetch("notify_message") is not None: - try: + with contextlib.suppress(discord.HTTPException): await player.fetch("notify_message").delete() - except discord.errors.NotFound: - pass - if "localtracks/" in player.current.uri: - if not player.current.title == "Unknown title": + + if ( + autoplay + and player.current.extras.get("autoplay") + and (prev_song is None or not prev_song.extras.get("autoplay")) + ): + embed = discord.Embed( + colour=(await self.bot.get_embed_colour(notify_channel)), + title=_("Auto play started."), + ) + await notify_channel.send(embed=embed) + + if ( + any( + x in player.current.uri + for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] + ) + if player.current + else False + ): + if player.current.title != "Unknown title": description = "**{} - {}**\n{}".format( player.current.author, player.current.title, - player.current.uri.replace("localtracks/", ""), + dataclasses.LocalPath(player.current.uri).to_string_hidden(), ) else: - description = "{}".format(player.current.uri.replace("localtracks/", "")) + description = "{}".format( + dataclasses.LocalPath(player.current.uri).to_string_hidden() + ) else: description = "**[{}]({})**".format(player.current.title, player.current.uri) if player.current.is_stream: @@ -323,7 +517,7 @@ class Audio(commands.Cog): player_check = await _players_check() await _status_check(player_check[1]) - if event_type == lavalink.LavalinkEvents.QUEUE_END and notify: + if event_type == lavalink.LavalinkEvents.QUEUE_END and notify and not autoplay: notify_channel = player.fetch("channel") if notify_channel: notify_channel = self.bot.get_channel(notify_channel) @@ -333,7 +527,8 @@ class Audio(commands.Cog): ) await notify_channel.send(embed=embed) - if event_type == lavalink.LavalinkEvents.QUEUE_END and disconnect: + elif event_type == lavalink.LavalinkEvents.QUEUE_END and disconnect and not autoplay: + self.bot.dispatch("red_audio_audio_disconnect", player.channel.guild) await player.disconnect() if event_type == lavalink.LavalinkEvents.QUEUE_END and status: @@ -341,54 +536,441 @@ class Audio(commands.Cog): await _status_check(player_check[1]) if event_type == lavalink.LavalinkEvents.TRACK_EXCEPTION: - if "localtracks/" in player.current.uri: - return message_channel = player.fetch("channel") if message_channel: message_channel = self.bot.get_channel(message_channel) + if player.current and any( + x in player.current.uri + for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] + ): + query = dataclasses.Query.process_input(player.current.uri) + if player.current.title == "Unknown title": + description = "{}".format(query.track.to_string_hidden()) + else: + song = bold("{} - {}").format(player.current.author, player.current.title) + description = "{}\n{}".format(song, query.track.to_string_hidden()) + else: + description = bold("[{}]({})").format(player.current.title, player.current.uri) + embed = discord.Embed( colour=(await self.bot.get_embed_color(message_channel)), title=_("Track Error"), - description="{}\n**[{}]({})**".format( - extra, player.current.title, player.current.uri - ), + description="{}\n{}".format(extra, description), ) embed.set_footer(text=_("Skipping...")) await message_channel.send(embed=embed) - await player.skip() + while True: + if player.current in player.queue: + player.queue.remove(player.current) + else: + break + if repeat: + player.current = None + await player.skip() + + async def play_query( + self, + query: str, + guild: discord.Guild, + channel: discord.VoiceChannel, + is_autoplay: bool = True, + ): + if not self._player_check(guild.me): + try: + if ( + not channel.permissions_for(guild.me).connect + or not channel.permissions_for(guild.me).move_members + and userlimit(channel) + ): + log.error(f"I don't have permission to connect to {channel} in {guild}.") + + await lavalink.connect(channel) + player = lavalink.get_player(guild.id) + player.store("connect", datetime.datetime.utcnow()) + except IndexError: + log.debug( + f"Connection to Lavalink has not yet been established" + f" while trying to connect to to {channel} in {guild}." + ) + return + + player = lavalink.get_player(guild.id) + + player.store("channel", channel.id) + player.store("guild", guild.id) + await self._data_check(guild.me) + query = dataclasses.Query.process_input(query) + ctx = namedtuple("Context", "message") + results, called_api = await self.music_cache.lavalink_query(ctx(guild), player, query) + + if not results.tracks: + log.debug(f"Query returned no tracks.") + return + track = results.tracks[0] + + if not await is_allowed( + guild, f"{track.title} {track.author} {track.uri} {str(query._raw)}" + ): + log.debug(f"Query is not allowed in {guild} ({guild.id})") + return + track.extras = {"autoplay": is_autoplay} + player.add(player.channel.guild.me, track) + self.bot.dispatch( + "red_audio_track_auto_play", player.channel.guild, track, player.channel.guild.me + ) + if not player.current: + await player.play() + + async def delegate_autoplay(self, cog: commands.Cog = None): + """ + Parameters + ---------- + cog: Optional[commands.Cog] + The Cog who is taking ownership of Audio's autoplay. + If :code:`None` gives ownership back to Audio + """ + if isinstance(cog, commands.Cog): + self.owns_autoplay = cog + else: + del self.owns_autoplay @commands.group() @commands.guild_only() @commands.bot_has_permissions(embed_links=True) - async def audioset(self, ctx): + async def audioset(self, ctx: commands.Context): """Music configuration options.""" pass @audioset.command() @checks.mod_or_permissions(manage_messages=True) - async def dc(self, ctx): + async def dc(self, ctx: commands.Context): """Toggle the bot auto-disconnecting when done playing. This setting takes precedence over [p]audioset emptydisconnect. """ + disconnect = await self.config.guild(ctx.guild).disconnect() - await self.config.guild(ctx.guild).disconnect.set(not disconnect) - await self._embed_msg( - ctx, - _("Auto-disconnection at queue end: {true_or_false}.").format( - true_or_false=not disconnect - ), + autoplay = await self.config.guild(ctx.guild).auto_play() + msg = "" + msg += _("Auto-disconnection at queue end: {true_or_false}.").format( + true_or_false=_("Enabled") if not disconnect else _("Disabled") ) + await self.config.guild(ctx.guild).repeat.set(not disconnect) + if disconnect is not True and autoplay is True: + msg += _("\nAuto-play has been disabled.") + await self.config.guild(ctx.guild).auto_play.set(False) + + await self.config.guild(ctx.guild).disconnect.set(not disconnect) + + embed = discord.Embed( + title=_("Auto-disconnection settings changed"), + description=msg, + colour=await ctx.embed_colour(), + ) + await ctx.send(embed=embed) + + @audioset.group(name="restrictions") + @checks.mod_or_permissions(manage_messages=True) + async def _perms(self, ctx: commands.Context): + """Manages the keyword whitelist and blacklist.""" + pass + + @_perms.group(name="whitelist") + async def _perms_whitelist(self, ctx: commands.Context): + """Manages the keyword whitelist.""" + pass + + @_perms.group(name="blacklist") + async def _perms_blacklist(self, ctx: commands.Context): + """Manages the keyword blacklist.""" + pass + + @_perms_blacklist.command(name="add") + async def _perms_blacklist_add(self, ctx: commands.Context, *, keyword: str): + """Adds a keyword to the blacklist.""" + keyword = keyword.lower().strip() + if not keyword: + return await ctx.send_help() + exists = False + async with self.config.guild(ctx.guild).url_keyword_blacklist() as blacklist: + if keyword in blacklist: + exists = True + else: + blacklist.append(keyword) + if exists: + return await self._embed_msg(ctx, _("Keyword already in the blacklist.")) + else: + embed = discord.Embed(title=_("Blacklist modified"), colour=await ctx.embed_colour()) + embed.description = _("Added: `{blacklisted}` to the blacklist.").format( + blacklisted=keyword + ) + await ctx.send(embed=embed) + + @_perms_whitelist.command(name="add") + async def _perms_whitelist_add(self, ctx: commands.Context, *, keyword: str): + """Adds a keyword to the whitelist. + + If anything is added to whitelist, it will blacklist everything else. + """ + keyword = keyword.lower().strip() + if not keyword: + return await ctx.send_help() + exists = False + async with self.config.guild(ctx.guild).url_keyword_whitelist() as whitelist: + if keyword in whitelist: + exists = True + else: + whitelist.append(keyword) + if exists: + return await self._embed_msg(ctx, _("Keyword already in the whitelist.")) + else: + embed = discord.Embed(title=_("Whitelist modified"), colour=await ctx.embed_colour()) + embed.description = _("Added: `{whitelisted}` to the whitelist.").format( + whitelisted=keyword + ) + await ctx.send(embed=embed) + + @_perms_blacklist.command(name="delete", aliases=["del", "remove"]) + async def _perms_blacklist_delete(self, ctx: commands.Context, *, keyword: str): + """Removes a keyword from the blacklist.""" + keyword = keyword.lower().strip() + if not keyword: + return await ctx.send_help() + exists = True + async with self.config.guild(ctx.guild).url_keyword_blacklist() as blacklist: + if keyword not in blacklist: + exists = False + else: + blacklist.remove(keyword) + if not exists: + return await self._embed_msg(ctx, _("Keyword is not in the blacklist.")) + else: + embed = discord.Embed(title=_("Blacklist modified"), colour=await ctx.embed_colour()) + embed.description = _("Removed: `{blacklisted}` from the blacklist.").format( + blacklisted=keyword + ) + await ctx.send(embed=embed) + + @_perms_whitelist.command(name="delete", aliases=["del", "remove"]) + async def _perms_whitelist_delete(self, ctx: commands.Context, *, keyword: str): + """Removes a keyword from the whitelist.""" + keyword = keyword.lower().strip() + if not keyword: + return await ctx.send_help() + exists = True + async with self.config.guild(ctx.guild).url_keyword_whitelist() as whitelist: + if keyword not in whitelist: + exists = False + else: + whitelist.remove(keyword) + if not exists: + return await self._embed_msg(ctx, _("Keyword already in the whitelist.")) + else: + embed = discord.Embed(title=_("Whitelist modified"), colour=await ctx.embed_colour()) + embed.description = _("Removed: `{whitelisted}` from the whitelist.").format( + whitelisted=keyword + ) + await ctx.send(embed=embed) + + @_perms_whitelist.command(name="list") + async def _perms_whitelist_list(self, ctx: commands.Context): + """List all keywords added to the whitelist.""" + whitelist = await self.config.guild(ctx.guild).url_keyword_whitelist() + if not whitelist: + return await self._embed_msg(ctx, _("Nothing in the whitelist.")) + whitelist.sort() + text = "" + total = len(whitelist) + pages = [] + for i, entry in enumerate(whitelist, 1): + text += f"{i}. [{entry}]" + if i != total: + text += "\n" + if i % 10 == 0: + pages.append(box(text, lang="ini")) + text = "" + else: + pages.append(box(text, lang="ini")) + embed_colour = await ctx.embed_colour() + pages = list( + discord.Embed(title="Whitelist", description=page, colour=embed_colour) + for page in pages + ) + await menu(ctx, pages, DEFAULT_CONTROLS) + + @_perms_blacklist.command(name="list") + async def _perms_blacklist_list(self, ctx: commands.Context): + """List all keywords added to the blacklist.""" + blacklist = await self.config.guild(ctx.guild).url_keyword_blacklist() + if not blacklist: + return await self._embed_msg(ctx, _("Nothing in the blacklist.")) + blacklist.sort() + text = "" + total = len(blacklist) + pages = [] + for i, entry in enumerate(blacklist, 1): + text += f"{i}. [{entry}]" + if i != total: + text += "\n" + if i % 10 == 0: + pages.append(box(text, lang="ini")) + text = "" + else: + pages.append(box(text, lang="ini")) + embed_colour = await ctx.embed_colour() + pages = list( + discord.Embed(title="Whitelist", description=page, colour=embed_colour) + for page in pages + ) + await menu(ctx, pages, DEFAULT_CONTROLS) + + @_perms_whitelist.command(name="clear") + async def _perms_whitelist_clear(self, ctx: commands.Context): + """Clear all keywords from the whitelist.""" + whitelist = await self.config.guild(ctx.guild).url_keyword_whitelist() + if not whitelist: + return await self._embed_msg(ctx, _("Nothing in the whitelist.")) + await self.config.guild(ctx.guild).url_keyword_whitelist.clear() + return await self._embed_msg(ctx, _("All entries have been removed from the whitelist.")) + + @_perms_blacklist.command(name="clear") + async def _perms_blacklist_clear(self, ctx: commands.Context): + """Clear all keywords added to the blacklist.""" + blacklist = await self.config.guild(ctx.guild).url_keyword_blacklist() + if not blacklist: + return await self._embed_msg(ctx, _("Nothing in the blacklist.")) + await self.config.guild(ctx.guild).url_keyword_blacklist.clear() + return await self._embed_msg(ctx, _("All entries have been removed from the blacklist.")) + + @audioset.group(name="autoplay") + @checks.mod_or_permissions(manage_messages=True) + async def _autoplay(self, ctx: commands.Context): + """Change auto-play setting.""" + + @_autoplay.command(name="toggle") + async def _autoplay_toggle(self, ctx: commands.Context): + """Toggle auto-play when there no songs in queue.""" + autoplay = await self.config.guild(ctx.guild).auto_play() + repeat = await self.config.guild(ctx.guild).repeat() + disconnect = await self.config.guild(ctx.guild).disconnect() + msg = _("Auto-play when queue ends: {true_or_false}.").format( + true_or_false=_("Enabled") if not autoplay else _("Disabled") + ) + await self.config.guild(ctx.guild).auto_play.set(not autoplay) + if autoplay is not True and repeat is True: + msg += _("\nRepeat has been disabled.") + await self.config.guild(ctx.guild).repeat.set(False) + if autoplay is not True and disconnect is True: + msg += _("\nAuto-disconnecting at queue end has been disabled.") + await self.config.guild(ctx.guild).disconnect.set(False) + + embed = discord.Embed( + title=_("Auto-play settings changed"), description=msg, colour=await ctx.embed_colour() + ) + await ctx.send(embed=embed) + if self._player_check(ctx): + await self._data_check(ctx) + + @_autoplay.command(name="playlist", usage=" [args]") + async def __autoplay_playlist( + self, + ctx: commands.Context, + playlist_matches: PlaylistConverter, + *, + scope_data: ScopeParser = None, + ): + """Set a playlist to auto-play songs from. + + **Usage**: + ​ ​ ​ ​ [p]audioset autoplay playlist_name_OR_id args + + **Args**: + ​ ​ ​ ​ The following are all optional: + ​ ​ ​ ​ ​ ​ ​ ​ --scope + ​ ​ ​ ​ ​ ​ ​ ​ --author [user] + ​ ​ ​ ​ ​ ​ ​ ​ --guild [guild] **Only the bot owner can use this** + + Scope is one of the following: + ​ ​ ​ ​ Global + ​ ​ ​ ​ Guild + ​ ​ ​ ​ User + + Author can be one of the following: + ​ ​ ​ ​ User ID + ​ ​ ​ ​ User Mention + ​ ​ ​ ​ User Name#123 + + Guild can be one of the following: + ​ ​ ​ ​ Guild ID + ​ ​ ​ ​ Exact guild name + + Example use: + ​ ​ ​ ​ [p]audioset autoplay MyGuildPlaylist + ​ ​ ​ ​ [p]audioset autoplay MyGlobalPlaylist --scope Global + ​ ​ ​ ​ [p]audioset autoplay PersonalPlaylist --scope User --author Draper + """ + if scope_data is None: + scope_data = [PlaylistScope.GUILD.value, ctx.author, ctx.guild, False] + + scope, author, guild, specified_user = scope_data + try: + playlist_id, playlist_arg = await self._get_correct_playlist_id( + ctx, playlist_matches, scope, author, guild, specified_user + ) + except TooManyMatches as e: + return await self._embed_msg(ctx, str(e)) + if playlist_id is None: + return await self._embed_msg( + ctx, _("Could not match '{arg}' to a playlist").format(arg=playlist_arg) + ) + try: + playlist = await get_playlist(playlist_id, scope, self.bot, guild, author) + tracks = playlist.tracks + if not tracks: + return await self._embed_msg( + ctx, _("Playlist {name} has no tracks.").format(name=playlist.name) + ) + playlist_data = dict(enabled=True, id=playlist.id, name=playlist.name, scope=scope) + await self.config.guild(ctx.guild).autoplaylist.set(playlist_data) + except RuntimeError: + return await self._embed_msg( + ctx, + _("Playlist {id} does not exist in {scope} scope.").format( + id=playlist_id, scope=humanize_scope(scope, the=True) + ), + ) + except MissingGuild: + return await self._embed_msg( + ctx, _("You need to specify the Guild ID for the guild to lookup.") + ) + else: + return await self._embed_msg( + ctx, + _("Playlist {name} (`{id}`) [**{scope}**] will be used for autoplay.").format( + name=playlist.name, + id=playlist.id, + scope=humanize_scope( + scope, ctx=guild if scope == PlaylistScope.GUILD.value else author + ), + ), + ) + + @_autoplay.command(name="reset") + async def _autoplay_reset(self, ctx: commands.Context): + """Resets auto-play to the default playlist.""" + playlist_data = dict(enabled=False, id=None, name=None, scope=None) + await self.config.guild(ctx.guild).autoplaylist.set(playlist_data) + return await self._embed_msg(ctx, _("Set auto-play playlist to default value.")) @audioset.command() @checks.admin_or_permissions(manage_roles=True) - async def dj(self, ctx): + async def dj(self, ctx: commands.Context): """Toggle DJ mode. DJ mode allows users with the DJ role to use audio commands. """ - dj_role_id = await self.config.guild(ctx.guild).dj_role() - if dj_role_id is None: + dj_role = ctx.guild.get_role(await self.config.guild(ctx.guild).dj_role()) + if dj_role is None: await self._embed_msg( ctx, _("Please set a role to use with DJ mode. Enter the role name or ID now.") ) @@ -403,16 +985,19 @@ class Audio(commands.Cog): dj_enabled = await self.config.guild(ctx.guild).dj_enabled() await self.config.guild(ctx.guild).dj_enabled.set(not dj_enabled) await self._embed_msg( - ctx, _("DJ role enabled: {true_or_false}.").format(true_or_false=not dj_enabled) + ctx, + _("DJ role: {true_or_false}.").format( + true_or_false=_("Enabled") if not dj_enabled else _("Disabled") + ), ) @audioset.command() @checks.mod_or_permissions(administrator=True) - async def emptydisconnect(self, ctx, seconds: int): + async def emptydisconnect(self, ctx: commands.Context, seconds: int): """Auto-disconnection after x seconds while stopped. 0 to disable.""" if seconds < 0: return await self._embed_msg(ctx, _("Can't be less than zero.")) - if seconds < 10 and seconds > 0: + if 10 > seconds > 0: seconds = 10 if seconds == 0: enabled = False @@ -422,7 +1007,7 @@ class Audio(commands.Cog): await self._embed_msg( ctx, _("Empty disconnect timer set to {num_seconds}.").format( - num_seconds=self._dynamic_time(seconds) + num_seconds=dynamic_time(seconds) ), ) @@ -431,7 +1016,29 @@ class Audio(commands.Cog): @audioset.command() @checks.mod_or_permissions(administrator=True) - async def jukebox(self, ctx, price: int): + async def emptypause(self, ctx: commands.Context, seconds: int): + """Auto-pause after x seconds when room is empty. 0 to disable.""" + if seconds < 0: + return await self._embed_msg(ctx, _("Can't be less than zero.")) + if 10 > seconds > 0: + seconds = 10 + if seconds == 0: + enabled = False + await self._embed_msg(ctx, _("Empty pause disabled.")) + else: + enabled = True + await self._embed_msg( + ctx, + _("Empty pause timer set to {num_seconds}.").format( + num_seconds=dynamic_time(seconds) + ), + ) + await self.config.guild(ctx.guild).emptypause_timer.set(seconds) + await self.config.guild(ctx.guild).emptypause_enabled.set(enabled) + + @audioset.command() + @checks.mod_or_permissions(administrator=True) + async def jukebox(self, ctx: commands.Context, price: int): """Set a price for queueing tracks for non-mods. 0 to disable.""" if price < 0: return await self._embed_msg(ctx, _("Can't be less than zero.")) @@ -452,7 +1059,7 @@ class Audio(commands.Cog): @audioset.command() @checks.is_owner() - async def localpath(self, ctx, local_path=None): + async def localpath(self, ctx: commands.Context, *, local_path=None): """Set the localtracks path if the Lavalink.jar is not run from the Audio data folder. Leave the path blank to reset the path to the default, the Audio data directory. @@ -460,14 +1067,17 @@ class Audio(commands.Cog): if not local_path: await self.config.localpath.set(str(cog_data_path(raw_name="Audio"))) + pass_config_to_dependencies( + self.config, self.bot, str(cog_data_path(raw_name="Audio")) + ) return await self._embed_msg( ctx, _("The localtracks path location has been reset to the default location.") ) info_msg = _( "This setting is only for bot owners to set a localtracks folder location " - "if the Lavalink.jar is being ran from outside of the Audio data directory.\n" - "In the example below, the full path for 'ParentDirectory' must be passed to this command.\n" + "In the example below, the full path for 'ParentDirectory' " + "must be passed to this command.\n" "The path must not contain spaces.\n" "```\n" "ParentDirectory\n" @@ -475,12 +1085,12 @@ class Audio(commands.Cog): " | |__ Awesome Album Name (folder)\n" " | |__01 Cool Song.mp3\n" " | |__02 Groovy Song.mp3\n" - " |\n" - " |__ Lavalink.jar\n" - " |__ application.yml\n" "```\n" - "The folder path given to this command must contain the Lavalink.jar, the application.yml, and the localtracks folder.\n" - "Use this command with no path given to reset it to the default, the Audio data directory for this bot.\n" + "The folder path given to this command must contain the localtracks folder.\n" + "**This folder and files need to be visible to the user where `" + "Lavalink.jar` is being run from.**\n" + "Use this command with no path given to reset it to the default, " + "the Audio data directory for this bot.\n" "Do you want to continue to set the provided path for local tracks?" ) info = await ctx.maybe_send_embed(info_msg) @@ -490,127 +1100,142 @@ class Audio(commands.Cog): await ctx.bot.wait_for("reaction_add", check=pred) if not pred.result: - try: + with contextlib.suppress(discord.HTTPException): await info.delete() - except discord.errors.Forbidden: - pass return - - try: - if os.getcwd() != local_path: - os.chdir(local_path) - os.listdir(local_path) - except OSError: + temp = dataclasses.LocalPath(local_path, forced=True) + if not temp.exists() or not temp.is_dir(): return await self._embed_msg( ctx, _("{local_path} does not seem like a valid path.").format(local_path=local_path), ) - jar_check = os.path.isfile(local_path + "/Lavalink.jar") - yml_check = os.path.isfile(local_path + "/application.yml") - - if not jar_check and not yml_check: - filelist = "a Lavalink.jar and an application.yml" - elif jar_check and not yml_check: - filelist = "an application.yml" - elif not jar_check and yml_check: - filelist = "a Lavalink.jar" - else: - filelist = None - if filelist is not None: + if not temp.localtrack_folder.exists(): warn_msg = _( - "The path that was entered does not have {filelist} file in " - "that location. The path will still be saved, but please check the path and " - "the file location before attempting to play local tracks or start your " - "Lavalink.jar." - ).format(filelist=filelist) - await self._embed_msg(ctx, warn_msg) - + "`{localtracks}` does not exist. " + "The path will still be saved, but please check the path and " + "create a localtracks folder in `{localfolder}` before attempting " + "to play local tracks." + ).format(localfolder=temp.absolute(), localtracks=temp.localtrack_folder.absolute()) + await ctx.send( + embed=discord.Embed( + title=_("Incorrect environment."), + description=warn_msg, + colour=await ctx.embed_colour(), + ) + ) + local_path = str(temp.localtrack_folder.absolute()) await self.config.localpath.set(local_path) + pass_config_to_dependencies(self.config, self.bot, local_path) await self._embed_msg( ctx, _("Localtracks path set to: {local_path}.").format(local_path=local_path) ) @audioset.command() @checks.mod_or_permissions(administrator=True) - async def maxlength(self, ctx, seconds): + async def maxlength(self, ctx: commands.Context, seconds: Union[int, str]): """Max length of a track to queue in seconds. 0 to disable. Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`). Invalid input will turn the max length setting off.""" if not isinstance(seconds, int): - seconds = int(await self._time_convert(seconds) / 1000) + seconds = time_convert(seconds) if seconds < 0: return await self._embed_msg(ctx, _("Can't be less than zero.")) if seconds == 0: await self._embed_msg(ctx, _("Track max length disabled.")) else: await self._embed_msg( - ctx, - _("Track max length set to {seconds}.").format( - seconds=self._dynamic_time(seconds) - ), + ctx, _("Track max length set to {seconds}.").format(seconds=dynamic_time(seconds)) ) await self.config.guild(ctx.guild).maxlength.set(seconds) @audioset.command() @checks.mod_or_permissions(manage_messages=True) - async def notify(self, ctx): + async def notify(self, ctx: commands.Context): """Toggle track announcement and other bot messages.""" notify = await self.config.guild(ctx.guild).notify() await self.config.guild(ctx.guild).notify.set(not notify) await self._embed_msg( - ctx, _("Verbose mode on: {true_or_false}.").format(true_or_false=not notify) + ctx, + _("Verbose mode: {true_or_false}.").format( + true_or_false=_("Enabled") if not notify else _("Disabled") + ), ) @audioset.command() @checks.is_owner() - async def restrict(self, ctx): + async def restrict(self, ctx: commands.Context): """Toggle the domain restriction on Audio. When toggled off, users will be able to play songs from non-commercial websites and links. - When toggled on, users are restricted to YouTube, SoundCloud, Mixer, Vimeo, Twitch, and Bandcamp links.""" + When toggled on, users are restricted to YouTube, SoundCloud, + Mixer, Vimeo, Twitch, and Bandcamp links.""" restrict = await self.config.restrict() await self.config.restrict.set(not restrict) await self._embed_msg( - ctx, _("Commercial links only: {true_or_false}.").format(true_or_false=not restrict) + ctx, + _("Commercial links only: {true_or_false}.").format( + true_or_false=_("Enabled") if not restrict else _("Disabled") + ), ) @audioset.command() @checks.admin_or_permissions(manage_roles=True) - async def role(self, ctx, role_name: discord.Role): + async def role(self, ctx: commands.Context, role_name: discord.Role): """Set the role to use for DJ mode.""" await self.config.guild(ctx.guild).dj_role.set(role_name.id) dj_role_obj = ctx.guild.get_role(await self.config.guild(ctx.guild).dj_role()) await self._embed_msg(ctx, _("DJ role set to: {role.name}.").format(role=dj_role_obj)) @audioset.command() - async def settings(self, ctx): + async def settings(self, ctx: commands.Context): """Show the current settings.""" - is_owner = ctx.author.id == self.bot.owner_id - data = await self.config.guild(ctx.guild).all() + is_owner = await ctx.bot.is_owner(ctx.author) global_data = await self.config.all() + data = await self.config.guild(ctx.guild).all() dj_role_obj = ctx.guild.get_role(data["dj_role"]) dj_enabled = data["dj_enabled"] emptydc_enabled = data["emptydc_enabled"] emptydc_timer = data["emptydc_timer"] + emptypause_enabled = data["emptypause_enabled"] + emptypause_timer = data["emptypause_timer"] jukebox = data["jukebox"] jukebox_price = data["jukebox_price"] thumbnail = data["thumbnail"] dc = data["disconnect"] - jarbuild = redbot.core.__version__ + autoplay = data["auto_play"] maxlength = data["maxlength"] vote_percent = data["vote_percent"] - msg = "----" + _("Server Settings") + "---- \n" - if dc: - msg += _("Auto-disconnect: [{dc}]\n").format(dc=dc) + current_level = CacheLevel(global_data["cache_level"]) + song_repeat = _("Enabled") if data["repeat"] else _("Disabled") + song_shuffle = _("Enabled") if data["shuffle"] else _("Disabled") + song_notify = _("Enabled") if data["notify"] else _("Disabled") + song_status = _("Enabled") if global_data["status"] else _("Disabled") + spotify_cache = CacheLevel.set_spotify() + youtube_cache = CacheLevel.set_youtube() + lavalink_cache = CacheLevel.set_lavalink() + has_spotify_cache = current_level.is_superset(spotify_cache) + has_youtube_cache = current_level.is_superset(youtube_cache) + has_lavalink_cache = current_level.is_superset(lavalink_cache) + autoplaylist = data["autoplaylist"] + vote_enabled = data["vote_enabled"] + msg = "----" + _("Server Settings") + "---- \n" + msg += _("Auto-disconnect: [{dc}]\n").format(dc=_("Enabled") if dc else _("Disabled")) + msg += _("Auto-play: [{autoplay}]\n").format( + autoplay=_("Enabled") if autoplay else _("Disabled") + ) if emptydc_enabled: msg += _("Disconnect timer: [{num_seconds}]\n").format( - num_seconds=self._dynamic_time(emptydc_timer) + num_seconds=dynamic_time(emptydc_timer) ) - if dj_enabled: + if emptypause_enabled: + msg += _("Auto Pause timer: [{num_seconds}]\n").format( + num_seconds=dynamic_time(emptypause_timer) + ) + if dj_enabled and dj_role_obj: msg += _("DJ Role: [{role.name}]\n").format(role=dj_role_obj) if jukebox: msg += _("Jukebox: [{jukebox_name}]\n").format(jukebox_name=jukebox) @@ -619,26 +1244,85 @@ class Audio(commands.Cog): ) if maxlength > 0: msg += _("Max track length: [{tracklength}]\n").format( - tracklength=self._dynamic_time(maxlength) + tracklength=dynamic_time(maxlength) ) msg += _( "Repeat: [{repeat}]\n" "Shuffle: [{shuffle}]\n" "Song notify msgs: [{notify}]\n" "Songs as status: [{status}]\n" - ).format(**global_data, **data) + ).format(repeat=song_repeat, shuffle=song_shuffle, notify=song_notify, status=song_status) if thumbnail: - msg += _("Thumbnails: [{0}]\n").format(thumbnail) + msg += _("Thumbnails: [{0}]\n").format( + _("Enabled") if thumbnail else _("Disabled") + ) if vote_percent > 0: msg += _( "Vote skip: [{vote_enabled}]\nSkip percentage: [{vote_percent}%]\n" - ).format(**data) + ).format( + vote_percent=vote_percent, + vote_enabled=_("Enabled") if vote_enabled else _("Disabled"), + ) + + if self.owns_autoplay is not None: + msg += ( + "\n---" + + _("Auto-play Settings") + + "--- \n" + + _("Owning Cog: [{name}]\n").format(name=self._cog_name) + ) + elif autoplay or autoplaylist["enabled"]: + if autoplaylist["enabled"]: + pname = autoplaylist["name"] + pid = autoplaylist["id"] + pscope = autoplaylist["scope"] + if pscope == PlaylistScope.GUILD.value: + pscope = f"Server" + elif pscope == PlaylistScope.USER.value: + pscope = f"User" + else: + pscope = "Global" + else: + pname = _("Cached") + pid = _("Cached") + pscope = _("Cached") + msg += ( + "\n---" + + _("Auto-play Settings") + + "--- \n" + + _("Playlist name: [{pname}]\n") + + _("Playlist ID: [{pid}]\n") + + _("Playlist scope: [{pscope}]\n") + ).format(pname=pname, pid=pid, pscope=pscope) + + if is_owner: + msg += ( + "\n---" + + _("Cache Settings") + + "--- \n" + + _("Max age: [{max_age}]\n") + + _("Spotify cache: [{spotify_status}]\n") + + _("Youtube cache: [{youtube_status}]\n") + + _("Lavalink cache: [{lavalink_status}]\n") + ).format( + max_age=str(await self.config.cache_age()) + " " + _("days"), + spotify_status=_("Enabled") if has_spotify_cache else _("Disabled"), + youtube_status=_("Enabled") if has_youtube_cache else _("Disabled"), + lavalink_status=_("Enabled") if has_lavalink_cache else _("Disabled"), + ) + msg += _( - "---Lavalink Settings--- \n" + "\n---" + _("Lavalink Settings") + "--- \n" "Cog version: [{version}]\n" - "Jar build: [{jarbuild}]\n" + "Red-Lavalink: [{redlava}]\n" "External server: [{use_external_lavalink}]\n" - ).format(version=__version__, jarbuild=jarbuild, **global_data) + ).format( + version=__version__, + redlava=lavalink.__version__, + use_external_lavalink=_("Enabled") + if global_data["use_external_lavalink"] + else _("Disabled"), + ) if is_owner: msg += _("Localtracks path: [{localpath}]\n").format(**global_data) @@ -647,7 +1331,7 @@ class Audio(commands.Cog): @audioset.command() @checks.is_owner() - async def spotifyapi(self, ctx): + async def spotifyapi(self, ctx: commands.Context): """Instructions to set the Spotify API tokens.""" message = _( "1. Go to Spotify developers and log in with your Spotify account.\n" @@ -664,27 +1348,33 @@ class Audio(commands.Cog): @checks.is_owner() @audioset.command() - async def status(self, ctx): + async def status(self, ctx: commands.Context): """Enable/disable tracks' titles as status.""" status = await self.config.status() await self.config.status.set(not status) await self._embed_msg( - ctx, _("Song titles as status: {true_or_false}.").format(true_or_false=not status) + ctx, + _("Song titles as status: {true_or_false}.").format( + true_or_false=_("Enabled") if not status else _("Disabled") + ), ) @audioset.command() @checks.mod_or_permissions(administrator=True) - async def thumbnail(self, ctx): + async def thumbnail(self, ctx: commands.Context): """Toggle displaying a thumbnail on audio messages.""" thumbnail = await self.config.guild(ctx.guild).thumbnail() await self.config.guild(ctx.guild).thumbnail.set(not thumbnail) await self._embed_msg( - ctx, _("Thumbnail display: {true_or_false}.").format(true_or_false=not thumbnail) + ctx, + _("Thumbnail display: {true_or_false}.").format( + true_or_false=_("Enabled") if not thumbnail else _("Disabled") + ), ) @audioset.command() @checks.mod_or_permissions(administrator=True) - async def vote(self, ctx, percent: int): + async def vote(self, ctx: commands.Context, percent: int): """Percentage needed for non-mods to skip tracks. 0 to disable.""" if percent < 0: return await self._embed_msg(ctx, _("Can't be less than zero.")) @@ -706,14 +1396,15 @@ class Audio(commands.Cog): @audioset.command() @checks.is_owner() - async def youtubeapi(self, ctx): + async def youtubeapi(self, ctx: commands.Context): """Instructions to set the YouTube API key.""" message = _( f"1. Go to Google Developers Console and log in with your Google account.\n" "(https://console.developers.google.com/)\n" "2. You should be prompted to create a new project (name does not matter).\n" "3. Click on Enable APIs and Services at the top.\n" - "4. In the list of APIs choose or search for YouTube Data API v3 and click on it. Choose Enable.\n" + "4. In the list of APIs choose or search for YouTube Data API v3 and " + "click on it. Choose Enable.\n" "5. Click on Credentials on the left navigation bar.\n" "6. Click on Create Credential at the top.\n" '7. At the top click the link for "API key".\n' @@ -722,24 +1413,143 @@ class Audio(commands.Cog): ).format(prefix=ctx.prefix) await ctx.maybe_send_embed(message) + @audioset.command(name="cache", usage="level=[5, 3, 2, 1, 0, -1, -2, -3]") + @checks.is_owner() + @can_have_caching() + async def _storage(self, ctx: commands.Context, *, level: int = None): + """Sets the caching level. + + Level can be one of the following: + + 0: Disables all caching + 1: Enables Spotify Cache + 2: Enables YouTube Cache + 3: Enables Lavalink Cache + 5: Enables all Caches + + If you wish to disable a specific cache use a negative number. + + """ + current_level = CacheLevel(await self.config.cache_level()) + spotify_cache = CacheLevel.set_spotify() + youtube_cache = CacheLevel.set_youtube() + lavalink_cache = CacheLevel.set_lavalink() + has_spotify_cache = current_level.is_superset(spotify_cache) + has_youtube_cache = current_level.is_superset(youtube_cache) + has_lavalink_cache = current_level.is_superset(lavalink_cache) + + if level is None: + msg = ( + "---" + + _("Cache Settings") + + "--- \n" + + _("Max age: [{max_age}]\n") + + _("Spotify cache: [{spotify_status}]\n") + + _("Youtube cache: [{youtube_status}]\n") + + _("Lavalink cache: [{lavalink_status}]\n") + ).format( + max_age=str(await self.config.cache_age()) + " " + _("days"), + spotify_status=_("Enabled") if has_spotify_cache else _("Disabled"), + youtube_status=_("Enabled") if has_youtube_cache else _("Disabled"), + lavalink_status=_("Enabled") if has_lavalink_cache else _("Disabled"), + ) + await ctx.send( + embed=discord.Embed( + colour=await ctx.embed_colour(), description=box(msg, lang="ini") + ) + ) + return await ctx.send_help() + if level not in [5, 3, 2, 1, 0, -1, -2, -3]: + return await ctx.send_help() + + removing = level < 0 + + if level == 5: + newcache = CacheLevel.all() + elif level == 0: + newcache = CacheLevel.none() + elif level in [-3, 3]: + if removing: + newcache = current_level - lavalink_cache + else: + newcache = current_level + lavalink_cache + elif level in [-2, 2]: + if removing: + newcache = current_level - youtube_cache + else: + newcache = current_level + youtube_cache + elif level in [-1, 1]: + if removing: + newcache = current_level - spotify_cache + else: + newcache = current_level + spotify_cache + else: + return await ctx.send_help() + + has_spotify_cache = newcache.is_superset(spotify_cache) + has_youtube_cache = newcache.is_superset(youtube_cache) + has_lavalink_cache = newcache.is_superset(lavalink_cache) + msg = ( + "---" + + _("Cache Settings") + + "--- \n" + + _("Max age: [{max_age}]\n") + + _("Spotify cache: [{spotify_status}]\n") + + _("Youtube cache: [{youtube_status}]\n") + + _("Lavalink cache: [{lavalink_status}]\n") + ).format( + max_age=str(await self.config.cache_age()) + " " + _("days"), + spotify_status=_("Enabled") if has_spotify_cache else _("Disabled"), + youtube_status=_("Enabled") if has_youtube_cache else _("Disabled"), + lavalink_status=_("Enabled") if has_lavalink_cache else _("Disabled"), + ) + await ctx.send( + embed=discord.Embed(colour=await ctx.embed_colour(), description=box(msg, lang="ini")) + ) + + await self.config.cache_level.set(newcache.value) + + @audioset.command(name="cacheage") + @checks.is_owner() + @can_have_caching() + async def _cacheage(self, ctx: commands.Context, age: int): + """Sets the cache max age. + + This commands allows you to set the max number of days + before an entry in the cache becomes invalid. + """ + msg = "" + if age < 7: + msg = _( + "Cache age cannot be less than 7 days. If you wish to disable it run " + "{prefix}audioset cache.\n" + ).format(prefix=ctx.prefix) + age = 7 + msg += _("I've set the cache age to {age} days").format(age=age) + await self.config.cache_age.set(age) + await self._embed_msg(ctx, msg) + @commands.command() @commands.guild_only() @commands.bot_has_permissions(embed_links=True, add_reactions=True) - async def audiostats(self, ctx): + async def audiostats(self, ctx: commands.Context): """Audio stats.""" server_num = len(lavalink.active_players()) total_num = len(lavalink.all_players()) + localtracks = await self.config.localpath() msg = "" for p in lavalink.all_players(): connect_start = p.fetch("connect") - connect_dur = self._dynamic_time( + connect_dur = dynamic_time( int((datetime.datetime.utcnow() - connect_start).total_seconds()) ) try: - if "localtracks/" in p.current.uri: + if any( + x in p.current.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] + ): if p.current.title == "Unknown title": - current_title = p.current.uri.replace("localtracks/", "") + current_title = localtracks.LocalPath(p.current.uri).to_string_hidden() msg += "{} [`{}`]: **{}**\n".format( p.channel.guild.name, connect_dur, current_title ) @@ -782,7 +1592,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() @commands.bot_has_permissions(embed_links=True) - async def bump(self, ctx, index: int): + async def bump(self, ctx: commands.Context, index: int): """Bump a track number to the top of the queue.""" dj_enabled = await self.config.guild(ctx.guild).dj_enabled() if not self._player_check(ctx): @@ -806,21 +1616,28 @@ class Audio(commands.Cog): bump_song = player.queue[bump_index] player.queue.insert(0, bump_song) removed = player.queue.pop(index) - if "localtracks/" in removed.uri: - if removed.title == "Unknown title": - removed_title = removed.uri.replace("localtracks/", "") + if any(x in removed.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"]): + localtrack = dataclasses.LocalPath(removed.uri) + if removed.title != "Unknown title": + description = "**{} - {}**\n{}".format( + removed.author, removed.title, localtrack.to_string_hidden() + ) else: - removed_title = "{} - {}".format(removed.author, removed.title) + description = localtrack.to_string_hidden() else: - removed_title = removed.title - await self._embed_msg( - ctx, _("Moved {track} to the top of the queue.").format(track=removed_title) + description = "**[{}]({})**".format(removed.title, removed.uri) + await ctx.send( + embed=discord.Embed( + title=_("Moved track to the top of the queue."), + colour=await ctx.embed_colour(), + description=description, + ) ) @commands.command() @commands.guild_only() @commands.bot_has_permissions(embed_links=True) - async def disconnect(self, ctx): + async def disconnect(self, ctx: commands.Context): """Disconnect from the voice channel.""" if not self._player_check(ctx): return await self._embed_msg(ctx, _("Nothing playing.")) @@ -836,8 +1653,12 @@ class Audio(commands.Cog): ): return await self._embed_msg(ctx, _("There are other people listening to music.")) else: + await self._embed_msg(ctx, _("Disconnecting...")) + self.bot.dispatch("red_audio_audio_disconnect", ctx.guild) self._play_lock(ctx, False) eq = player.fetch("eq") + player.queue = [] + player.store("playing_song", None) if eq: await self.config.custom("EQUALIZER", ctx.guild.id).eq_bands.set(eq.bands) await player.stop() @@ -845,11 +1666,12 @@ class Audio(commands.Cog): @commands.group(invoke_without_command=True) @commands.guild_only() - @commands.cooldown(1, 15, discord.ext.commands.BucketType.guild) + @commands.cooldown(1, 15, commands.BucketType.guild) @commands.bot_has_permissions(embed_links=True, add_reactions=True) - async def eq(self, ctx): + async def eq(self, ctx: commands.Context): """Equalizer management.""" if not self._player_check(ctx): + ctx.command.reset_cooldown(ctx) return await self._embed_msg(ctx, _("Nothing playing.")) dj_enabled = await self.config.guild(ctx.guild).dj_enabled() player = lavalink.get_player(ctx.guild.id) @@ -864,18 +1686,14 @@ class Audio(commands.Cog): except discord.errors.NotFound: pass else: - for reaction in reactions: - try: - await eq_message.add_reaction(reaction) - except discord.errors.NotFound: - pass + start_adding_reactions(eq_message, reactions, self.bot.loop) eq_msg_with_reacts = await ctx.fetch_message(eq_message.id) player.store("eq_message", eq_msg_with_reacts) await self._eq_interact(ctx, player, eq, eq_msg_with_reacts, 0) - @eq.command(name="delete") - async def _eq_delete(self, ctx, eq_preset: str): + @eq.command(name="delete", aliases=["del", "remove"]) + async def _eq_delete(self, ctx: commands.Context, eq_preset: str): """Delete a saved eq preset.""" async with self.config.custom("EQUALIZER", ctx.guild.id).eq_presets() as eq_presets: eq_preset = eq_preset.lower() @@ -909,7 +1727,7 @@ class Audio(commands.Cog): ) @eq.command(name="list") - async def _eq_list(self, ctx): + async def _eq_list(self, ctx: commands.Context): """List saved eq presets.""" eq_presets = await self.config.custom("EQUALIZER", ctx.guild.id).eq_presets() if not eq_presets.keys(): @@ -927,18 +1745,17 @@ class Audio(commands.Cog): preset_list = "" for preset, bands in eq_presets.items(): try: - bands["author"] author = self.bot.get_user(bands["author"]) except TypeError: author = "None" - msg = f"{preset}{space*(22 - len(preset))}{author}\n" + msg = f"{preset}{space * (22 - len(preset))}{author}\n" preset_list += msg page_list = [] for page in pagify(preset_list, delims=[", "], page_length=1000): formatted_page = box(page, lang="ini") embed = discord.Embed( - colour=await ctx.embed_colour(), description=(f"{header}\n{formatted_page}") + colour=await ctx.embed_colour(), description=f"{header}\n{formatted_page}" ) embed.set_footer( text=_("{num} preset(s)").format(num=humanize_number(len(list(eq_presets.keys())))) @@ -949,7 +1766,7 @@ class Audio(commands.Cog): await menu(ctx, page_list, DEFAULT_CONTROLS) @eq.command(name="load") - async def _eq_load(self, ctx, eq_preset: str): + async def _eq_load(self, ctx: commands.Context, eq_preset: str): """Load a saved eq preset.""" eq_preset = eq_preset.lower() eq_presets = await self.config.custom("EQUALIZER", ctx.guild.id).eq_presets() @@ -987,7 +1804,7 @@ class Audio(commands.Cog): player.store("eq_message", message) @eq.command(name="reset") - async def _eq_reset(self, ctx): + async def _eq_reset(self, ctx: commands.Context): """Reset the eq to 0 across all bands.""" if not self._player_check(ctx): return await self._embed_msg(ctx, _("Nothing playing.")) @@ -1016,8 +1833,8 @@ class Audio(commands.Cog): player.store("eq_message", message) @eq.command(name="save") - @commands.cooldown(1, 15, discord.ext.commands.BucketType.guild) - async def _eq_save(self, ctx, eq_preset: str = None): + @commands.cooldown(1, 15, commands.BucketType.guild) + async def _eq_save(self, ctx: commands.Context, eq_preset: str = None): """Save the current eq settings to a preset.""" if not self._player_check(ctx): return await self._embed_msg(ctx, _("Nothing playing.")) @@ -1084,11 +1901,12 @@ class Audio(commands.Cog): await ctx.send(embed=embed3) @eq.command(name="set") - async def _eq_set(self, ctx, band_name_or_position, band_value: float): + async def _eq_set(self, ctx: commands.Context, band_name_or_position, band_value: float): """Set an eq band with a band number or name and value. Band positions are 1-15 and values have a range of -0.25 to 1.0. - Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, 6.3k, 10k, and 16k Hz. + Band names are 25, 40, 63, 100, 160, 250, 400, 630, 1k, 1.6k, 2.5k, 4k, + 6.3k, 10k, and 16k Hz. Setting a band value to -0.25 nullifies it while +0.25 is double. """ if not self._player_check(ctx): @@ -1138,7 +1956,8 @@ class Audio(commands.Cog): return await self._embed_msg( ctx, _( - "Valid band numbers are 1-15 or the band names listed in the help for this command." + "Valid band numbers are 1-15 or the band names listed in " + "the help for this command." ), ) @@ -1172,40 +1991,45 @@ class Audio(commands.Cog): @commands.group() @commands.guild_only() @commands.bot_has_permissions(embed_links=True, add_reactions=True) - async def local(self, ctx): + async def local(self, ctx: commands.Context): """Local playback commands.""" - pass @local.command(name="folder", aliases=["start"]) - async def local_folder(self, ctx, folder=None): + async def local_folder( + self, ctx: commands.Context, play_subfolders: Optional[bool] = True, *, folder: str = None + ): """Play all songs in a localtracks folder.""" if not await self._localtracks_check(ctx): return + if not folder: - await ctx.invoke(self.local_play) + await ctx.invoke(self.local_play, play_subfolders=play_subfolders) else: - try: - folder_path = os.getcwd() + "/localtracks/{}/".format(folder) - os.listdir(folder_path) - except OSError: + folder = folder.strip() + _dir = dataclasses.LocalPath.joinpath(folder) + if not _dir.exists(): return await self._embed_msg( ctx, _("No localtracks folder named {name}.").format(name=folder) ) - await self._local_play_all(ctx, folder) + query = dataclasses.Query.process_input(_dir, search_subfolders=play_subfolders) + await self._local_play_all(ctx, query, from_search=False if not folder else True) @local.command(name="play") - async def local_play(self, ctx): + async def local_play(self, ctx: commands.Context, play_subfolders: Optional[bool] = True): """Play a local track.""" if not await self._localtracks_check(ctx): return - localtracks_folders = await self._localtracks_folders(ctx) + localtracks_folders = await self._localtracks_folders( + ctx, search_subfolders=play_subfolders + ) if not localtracks_folders: - return await self._embed_msg(ctx, _("No local track folders found.")) - len_folder_pages = math.ceil(len(localtracks_folders) / 5) - folder_page_list = [] - for page_num in range(1, len_folder_pages + 1): - embed = await self._build_search_page(ctx, localtracks_folders, page_num) - folder_page_list.append(embed) + return await self._embed_msg(ctx, _("No album folders found.")) + async with ctx.typing(): + len_folder_pages = math.ceil(len(localtracks_folders) / 5) + folder_page_list = [] + for page_num in range(1, len_folder_pages + 1): + embed = await self._build_search_page(ctx, localtracks_folders, page_num) + folder_page_list.append(embed) async def _local_folder_menu( ctx: commands.Context, @@ -1217,11 +2041,12 @@ class Audio(commands.Cog): emoji: str, ): if message: - await message.delete() + with contextlib.suppress(discord.HTTPException): + await message.delete() await self._search_button_action(ctx, localtracks_folders, emoji, page) return None - LOCAL_FOLDER_CONTROLS = { + local_folder_controls = { "1⃣": _local_folder_menu, "2⃣": _local_folder_menu, "3⃣": _local_folder_menu, @@ -1233,139 +2058,137 @@ class Audio(commands.Cog): } dj_enabled = await self.config.guild(ctx.guild).dj_enabled() - if dj_enabled: - if not await self._can_instaskip(ctx, ctx.author): - return await menu(ctx, folder_page_list, DEFAULT_CONTROLS) - else: - await menu(ctx, folder_page_list, LOCAL_FOLDER_CONTROLS) + if dj_enabled and not await self._can_instaskip(ctx, ctx.author): + return await menu(ctx, folder_page_list, DEFAULT_CONTROLS) else: - await menu(ctx, folder_page_list, LOCAL_FOLDER_CONTROLS) + await menu(ctx, folder_page_list, local_folder_controls) @local.command(name="search") - async def local_search(self, ctx, *, search_words): + async def local_search( + self, ctx: commands.Context, play_subfolders: Optional[bool] = True, *, search_words + ): """Search for songs across all localtracks folders.""" if not await self._localtracks_check(ctx): return - localtracks_folders = await self._localtracks_folders(ctx) - if not localtracks_folders: + all_tracks = await self._folder_list( + ctx, + ( + dataclasses.Query.process_input( + dataclasses.LocalPath( + await self.config.localpath() + ).localtrack_folder.absolute(), + search_subfolders=play_subfolders, + ) + ), + ) + if not all_tracks: return await self._embed_msg(ctx, _("No album folders found.")) - all_tracks = [] - for local_folder in localtracks_folders: - folder_tracks = await self._folder_list(ctx, local_folder) - all_tracks = all_tracks + folder_tracks - search_list = await self._build_local_search_list(all_tracks, search_words) + async with ctx.typing(): + search_list = await self._build_local_search_list(all_tracks, search_words) if not search_list: return await self._embed_msg(ctx, _("No matches.")) - await ctx.invoke(self.search, query=search_list) + return await ctx.invoke(self.search, query=search_list) - async def _all_folder_tracks(self, ctx, folder): + async def _localtracks_folders(self, ctx: commands.Context, search_subfolders=False): + audio_data = dataclasses.LocalPath( + dataclasses.LocalPath(None).localtrack_folder.absolute() + ) if not await self._localtracks_check(ctx): return - allowed_files = (".mp3", ".flac", ".ogg") - current_folder = os.getcwd() + "/localtracks/{}/".format(folder) - folder_list = sorted( - ( - f - for f in os.listdir(current_folder) - if (f.lower().endswith(allowed_files)) and (os.path.isfile(current_folder + f)) - ), - key=lambda s: s.casefold(), + + return audio_data.subfolders_in_tree() if search_subfolders else audio_data.subfolders() + + async def _folder_list(self, ctx: commands.Context, query: dataclasses.Query): + if not await self._localtracks_check(ctx): + return + query = dataclasses.Query.process_input(query) + if not query.track.exists(): + return + return ( + query.track.tracks_in_tree() + if query.search_subfolders + else query.track.tracks_in_folder() ) - track_listing = [] - for localtrack_location in folder_list: - track_listing.append(localtrack_location) - return track_listing + + async def _folder_tracks( + self, ctx, player: lavalink.player_manager.Player, query: dataclasses.Query + ): + if not await self._localtracks_check(ctx): + return + + audio_data = dataclasses.LocalPath(None) + try: + query.track.path.relative_to(audio_data.to_string()) + except ValueError: + return + local_tracks = [] + for local_file in await self._all_folder_tracks(ctx, query): + trackdata, called_api = await self.music_cache.lavalink_query(ctx, player, local_file) + with contextlib.suppress(IndexError): + local_tracks.append(trackdata.tracks[0]) + return local_tracks + + async def _local_play_all( + self, ctx: commands.Context, query: dataclasses.Query, from_search=False + ): + if not await self._localtracks_check(ctx): + return + if from_search: + query = dataclasses.Query.process_input( + query.track.to_string(), invoked_from="local folder" + ) + await ctx.invoke(self.search, query=query) + + async def _all_folder_tracks(self, ctx: commands.Context, query: dataclasses.Query): + if not await self._localtracks_check(ctx): + return + + return ( + query.track.tracks_in_tree() + if query.search_subfolders + else query.track.tracks_in_folder() + ) + + async def _localtracks_check(self, ctx: commands.Context): + folder = dataclasses.LocalPath(None) + if folder.localtrack_folder.exists(): + return True + if ctx.invoked_with != "start": + await self._embed_msg(ctx, _("No localtracks folder.")) + return False @staticmethod async def _build_local_search_list(to_search, search_words): - search_results = process.extract(search_words, to_search, limit=50) + to_search_string = {i.track.name for i in to_search} + search_results = process.extract(search_words, to_search_string, limit=50) search_list = [] for track_match, percent_match in search_results: - if percent_match > 75: - search_list.append(track_match) - return search_list - - async def _folder_list(self, ctx, folder): - if not await self._localtracks_check(ctx): - return - if not os.path.isdir(os.getcwd() + "/localtracks/{}/".format(folder)): - return - allowed_files = (".mp3", ".flac", ".ogg") - folder_list = sorted( - ( - os.getcwd() + "/localtracks/{}/{}".format(folder, f) - for f in os.listdir(os.getcwd() + "/localtracks/{}/".format(folder)) - if (f.lower().endswith(allowed_files)) - and (os.path.isfile(os.getcwd() + "/localtracks/{}/{}".format(folder, f))) - ), - key=lambda s: s.casefold(), - ) - track_listing = [] - if ctx.invoked_with == "search": - local_path = await self.config.localpath() - for localtrack_location in folder_list: - track_listing.append( - localtrack_location.replace("{}/localtracks/".format(local_path), "") + if percent_match > 60: + search_list.extend( + [i.track.to_string_hidden() for i in to_search if i.track.name == track_match] ) - else: - for localtrack_location in folder_list: - localtrack_location = "localtrack:{}".format(localtrack_location) - track_listing.append(localtrack_location) - return track_listing - - async def _folder_tracks(self, ctx, player, folder): - if not await self._localtracks_check(ctx): - return - if not os.path.isdir(os.getcwd() + "/localtracks/{}/".format(folder)): - return - local_tracks = [] - for local_file in await self._all_folder_tracks(ctx, folder): - track = await player.get_tracks("localtracks/{}/{}".format(folder, local_file)) - try: - local_tracks.append(track[0]) - except IndexError: - pass - return local_tracks - - async def _local_play_all(self, ctx, folder): - if not await self._localtracks_check(ctx): - return - await ctx.invoke(self.search, query=("folder:" + folder)) - - async def _localtracks_check(self, ctx): - audio_data = await self.config.localpath() - if os.getcwd() != audio_data: - os.chdir(audio_data) - localtracks_folder = any( - f for f in os.listdir(os.getcwd()) if not os.path.isfile(f) if f == "localtracks" - ) - if not localtracks_folder: - if ctx.invoked_with == "start": - return False - else: - await self._embed_msg(ctx, _("No localtracks folder.")) - return False - else: - return True + return search_list @commands.command() @commands.guild_only() @commands.bot_has_permissions(embed_links=True, add_reactions=True) - async def now(self, ctx): + async def now(self, ctx: commands.Context): """Now playing.""" if not self._player_check(ctx): return await self._embed_msg(ctx, _("Nothing playing.")) - expected = ("⏮", "⏹", "⏸", "⏭") - emoji = {"prev": "⏮", "stop": "⏹", "pause": "⏸", "next": "⏭"} + expected = ("⏮", "⏹", "⏯", "⏭") + emoji = {"prev": "⏮", "stop": "⏹", "pause": "⏯", "next": "⏭"} player = lavalink.get_player(ctx.guild.id) if player.current: - arrow = await self._draw_time(ctx) + arrow = await draw_time(ctx) pos = lavalink.utils.format_time(player.position) if player.current.is_stream: dur = "LIVE" else: dur = lavalink.utils.format_time(player.current.length) - if "localtracks" in player.current.uri: + if any( + x in player.current.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] + ): if not player.current.title == "Unknown title": song = "**{track.author} - {track.title}**\n{uri}\n" else: @@ -1376,7 +2199,12 @@ class Audio(commands.Cog): song += "\n\n{arrow}`{pos}`/`{dur}`" song = song.format( track=player.current, - uri=player.current.uri.replace("localtracks/", ""), + uri=dataclasses.LocalPath(player.current.uri).to_string_hidden() + if any( + x in player.current.uri + for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] + ) + else player.current.uri, arrow=arrow, pos=pos, dur=dur, @@ -1385,10 +2213,8 @@ class Audio(commands.Cog): song = _("Nothing.") if player.fetch("np_message") is not None: - try: + with contextlib.suppress(discord.HTTPException): await player.fetch("np_message").delete() - except discord.errors.NotFound: - pass embed = discord.Embed( colour=await ctx.embed_colour(), title=_("Now Playing"), description=song @@ -1396,7 +2222,32 @@ class Audio(commands.Cog): if await self.config.guild(ctx.guild).thumbnail() and player.current: if player.current.thumbnail: embed.set_thumbnail(url=player.current.thumbnail) + + shuffle = await self.config.guild(ctx.guild).shuffle() + repeat = await self.config.guild(ctx.guild).repeat() + autoplay = await self.config.guild(ctx.guild).auto_play() or self.owns_autoplay + text = "" + text += ( + _("Auto-Play") + + ": " + + ("\N{WHITE HEAVY CHECK MARK}" if autoplay else "\N{CROSS MARK}") + ) + text += ( + (" | " if text else "") + + _("Shuffle") + + ": " + + ("\N{WHITE HEAVY CHECK MARK}" if shuffle else "\N{CROSS MARK}") + ) + text += ( + (" | " if text else "") + + _("Repeat") + + ": " + + ("\N{WHITE HEAVY CHECK MARK}" if repeat else "\N{CROSS MARK}") + ) + embed.set_footer(text=text) + message = await ctx.send(embed=embed) + player.store("np_message", message) dj_enabled = await self.config.guild(ctx.guild).dj_enabled() @@ -1441,7 +2292,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() @commands.bot_has_permissions(embed_links=True) - async def pause(self, ctx): + async def pause(self, ctx: commands.Context): """Pause or resume a playing track.""" dj_enabled = await self.config.guild(ctx.guild).dj_enabled() if not self._player_check(ctx): @@ -1463,12 +2314,13 @@ class Audio(commands.Cog): if not player.current: return await self._embed_msg(ctx, _("Nothing playing.")) - if "localtracks/" in player.current.uri: + if any(x in player.current.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"]): + query = dataclasses.Query.process_input(player.current.uri) if player.current.title == "Unknown title": - description = player.current.uri + description = "{}".format(query.track.to_string_hidden()) else: song = bold("{} - {}").format(player.current.author, player.current.title) - description = "{}\n{}".format(song, player.current.uri.replace("localtracks/", "")) + description = "{}\n{}".format(song, query.track.to_string_hidden()) else: description = bold("[{}]({})").format(player.current.title, player.current.uri) @@ -1490,7 +2342,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() @commands.bot_has_permissions(embed_links=True) - async def percent(self, ctx): + async def percent(self, ctx: commands.Context): """Queue percentage.""" if not self._player_check(ctx): return await self._embed_msg(ctx, _("Nothing playing.")) @@ -1517,7 +2369,7 @@ class Audio(commands.Cog): ) await _usercount(req_username) except AttributeError: - return await self._embed_msg(ctx, _("Nothing in the queue.")) + return await self._embed_msg(ctx, _("There's nothing in the queue.")) for req_username in requesters["users"]: percentage = float(requesters["users"][req_username]["songcount"]) / float( @@ -1547,15 +2399,14 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() @commands.bot_has_permissions(embed_links=True) - async def play(self, ctx, *, query): + async def play(self, ctx: commands.Context, *, query: str): """Play a URL or search for a track.""" guild_data = await self.config.guild(ctx.guild).all() restrict = await self.config.restrict() - if restrict: - if self._match_url(query): - url_check = self._url_check(query) - if not url_check: - return await self._embed_msg(ctx, _("That URL is not allowed.")) + if restrict and match_url(query): + valid_url = url_check(query) + if not valid_url: + return await self._embed_msg(ctx, _("That URL is not allowed.")) if not self._player_check(ctx): if self._connection_aborted: msg = _("Connection to Lavalink has failed.") @@ -1566,7 +2417,7 @@ class Audio(commands.Cog): if ( not ctx.author.voice.channel.permissions_for(ctx.me).connect or not ctx.author.voice.channel.permissions_for(ctx.me).move_members - and self._userlimit(ctx.author.voice.channel) + and userlimit(ctx.author.voice.channel) ): return await self._embed_msg( ctx, _("I don't have permission to connect to your channel.") @@ -1597,146 +2448,417 @@ class Audio(commands.Cog): ) if not await self._currency_check(ctx, guild_data["jukebox_price"]): return - - if not query: + query = dataclasses.Query.process_input(query) + if not query.valid: return await self._embed_msg(ctx, _("No tracks to play.")) - query = query.strip("<>") - - if "open.spotify.com" in query: - query = "spotify:{}".format( - re.sub("(http[s]?:\/\/)?(open.spotify.com)\/", "", query).replace("/", ":") - ) - if query.startswith("spotify:"): + if query.is_spotify: return await self._get_spotify_tracks(ctx, query) - - if query.startswith("localtrack:"): - local_path = await self.config.localpath() - await self._localtracks_check(ctx) - query = query.replace("localtrack:", "").replace(((local_path) + "/"), "") - allowed_files = (".mp3", ".flac", ".ogg") - if not self._match_url(query) and not (query.lower().endswith(allowed_files)): - query = "ytsearch:{}".format(query) - await self._enqueue_tracks(ctx, query) - async def _get_spotify_tracks(self, ctx, query): - if ctx.invoked_with == "play": + @commands.command() + @commands.guild_only() + @commands.bot_has_permissions(embed_links=True) + async def genre(self, ctx: commands.Context): + """Pick a Spotify playlist from a list of categories to start playing.""" + + async def _category_search_menu( + ctx: commands.Context, + pages: list, + controls: dict, + message: discord.Message, + page: int, + timeout: float, + emoji: str, + ): + if message: + output = await self._genre_search_button_action(ctx, category_list, emoji, page) + with contextlib.suppress(discord.HTTPException): + await message.delete() + return output + + async def _playlist_search_menu( + ctx: commands.Context, + pages: list, + controls: dict, + message: discord.Message, + page: int, + timeout: float, + emoji: str, + ): + if message: + output = await self._genre_search_button_action( + ctx, playlists_list, emoji, page, playlist=True + ) + with contextlib.suppress(discord.HTTPException): + await message.delete() + return output + + category_search_controls = { + "1⃣": _category_search_menu, + "2⃣": _category_search_menu, + "3⃣": _category_search_menu, + "4⃣": _category_search_menu, + "5⃣": _category_search_menu, + "⬅": prev_page, + "❌": close_menu, + "➡": next_page, + } + playlist_search_controls = { + "1⃣": _playlist_search_menu, + "2⃣": _playlist_search_menu, + "3⃣": _playlist_search_menu, + "4⃣": _playlist_search_menu, + "5⃣": _playlist_search_menu, + "⬅": prev_page, + "❌": close_menu, + "➡": next_page, + } + + api_data = await self._check_api_tokens() + if any( + [ + not api_data["spotify_client_id"], + not api_data["spotify_client_secret"], + not api_data["youtube_api"], + ] + ): + return await self._embed_msg( + ctx, + _( + "The owner needs to set the Spotify client ID, Spotify client secret, " + "and YouTube API key before Spotify URLs or codes can be used. " + "\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` " + "for instructions." + ).format(prefix=ctx.prefix), + ) + guild_data = await self.config.guild(ctx.guild).all() + if not self._player_check(ctx): + if self._connection_aborted: + msg = _("Connection to Lavalink has failed.") + if await ctx.bot.is_owner(ctx.author): + msg += " " + _("Please check your console or logs for details.") + return await self._embed_msg(ctx, msg) + try: + if ( + not ctx.author.voice.channel.permissions_for(ctx.me).connect + or not ctx.author.voice.channel.permissions_for(ctx.me).move_members + and userlimit(ctx.author.voice.channel) + ): + return await self._embed_msg( + ctx, _("I don't have permission to connect to your channel.") + ) + await lavalink.connect(ctx.author.voice.channel) + player = lavalink.get_player(ctx.guild.id) + player.store("connect", datetime.datetime.utcnow()) + except AttributeError: + return await self._embed_msg(ctx, _("Connect to a voice channel first.")) + except IndexError: + return await self._embed_msg( + ctx, _("Connection to Lavalink has not yet been established.") + ) + if guild_data["dj_enabled"]: + if not await self._can_instaskip(ctx, ctx.author): + return await self._embed_msg(ctx, _("You need the DJ role to queue tracks.")) + player = lavalink.get_player(ctx.guild.id) + + player.store("channel", ctx.channel.id) + player.store("guild", ctx.guild.id) + await self._eq_check(ctx, player) + await self._data_check(ctx) + if ( + not ctx.author.voice or ctx.author.voice.channel != player.channel + ) and not await self._can_instaskip(ctx, ctx.author): + return await self._embed_msg( + ctx, _("You must be in the voice channel to use the genre command.") + ) + try: + category_list = await self.music_cache.spotify_api.get_categories() + except SpotifyFetchError as error: + return await self._embed_msg(ctx, _(error.message).format(prefix=ctx.prefix)) + if not category_list: + return await self._embed_msg(ctx, _("No categories found, try again later.")) + len_folder_pages = math.ceil(len(category_list) / 5) + category_search_page_list = [] + for page_num in range(1, len_folder_pages + 1): + embed = await self._build_genre_search_page( + ctx, category_list, page_num, _("Categories") + ) + category_search_page_list.append(embed) + cat_menu_output = await menu(ctx, category_search_page_list, category_search_controls) + if not cat_menu_output: + return await self._embed_msg(ctx, _("No categories selected, try again later.")) + category_name, category_pick = cat_menu_output + playlists_list = await self.music_cache.spotify_api.get_playlist_from_category( + category_pick + ) + if not playlists_list: + return await self._embed_msg(ctx, _("No categories found, try again later.")) + len_folder_pages = math.ceil(len(playlists_list) / 5) + playlists_search_page_list = [] + for page_num in range(1, len_folder_pages + 1): + embed = await self._build_genre_search_page( + ctx, + playlists_list, + page_num, + _("Playlists for {friendly_name}").format(friendly_name=category_name), + playlist=True, + ) + playlists_search_page_list.append(embed) + playlists_pick = await menu(ctx, playlists_search_page_list, playlist_search_controls) + query = dataclasses.Query.process_input(playlists_pick) + if not query.valid: + return await self._embed_msg(ctx, _("No tracks to play.")) + if not await self._currency_check(ctx, guild_data["jukebox_price"]): + return + if query.is_spotify: + return await self._get_spotify_tracks(ctx, query) + return await self._embed_msg(ctx, _("Couldn't find tracks for the selected playlist.")) + + @staticmethod + async def _genre_search_button_action( + ctx: commands.Context, options, emoji, page, playlist=False + ): + try: + if emoji == "1⃣": + search_choice = options[0 + (page * 5)] + elif emoji == "2⃣": + search_choice = options[1 + (page * 5)] + elif emoji == "3⃣": + search_choice = options[2 + (page * 5)] + elif emoji == "4⃣": + search_choice = options[3 + (page * 5)] + elif emoji == "5⃣": + search_choice = options[4 + (page * 5)] + else: + search_choice = options[0 + (page * 5)] + # TODO: Verify this doesn't break exit and arrows + except IndexError: + search_choice = options[-1] + if not playlist: + return list(search_choice.items())[0] + else: + return search_choice.get("uri") + + @staticmethod + async def _build_genre_search_page( + ctx: commands.Context, tracks, page_num, title, playlist=False + ): + search_num_pages = math.ceil(len(tracks) / 5) + search_idx_start = (page_num - 1) * 5 + search_idx_end = search_idx_start + 5 + search_list = "" + for i, entry in enumerate(tracks[search_idx_start:search_idx_end], start=search_idx_start): + search_track_num = i + 1 + if search_track_num > 5: + search_track_num = search_track_num % 5 + if search_track_num == 0: + search_track_num = 5 + if playlist: + name = "**[{}]({})** - {}".format( + entry.get("name"), + entry.get("url"), + str(entry.get("tracks")) + " " + _("tracks"), + ) + else: + name = f"{list(entry.keys())[0]}" + search_list += "`{}.` {}\n".format(search_track_num, name) + + embed = discord.Embed( + colour=await ctx.embed_colour(), title=title, description=search_list + ) + embed.set_footer( + text=_("Page {page_num}/{total_pages}").format( + page_num=page_num, total_pages=search_num_pages + ) + ) + return embed + + @commands.command() + @commands.guild_only() + @commands.bot_has_permissions(embed_links=True) + @checks.mod_or_permissions(manage_messages=True) + async def autoplay(self, ctx: commands.Context): + """Starts auto play.""" + if not self._player_check(ctx): + if self._connection_aborted: + msg = _("Connection to Lavalink has failed.") + if await ctx.bot.is_owner(ctx.author): + msg += " " + _("Please check your console or logs for details.") + return await self._embed_msg(ctx, msg) + try: + if ( + not ctx.author.voice.channel.permissions_for(ctx.me).connect + or not ctx.author.voice.channel.permissions_for(ctx.me).move_members + and userlimit(ctx.author.voice.channel) + ): + return await self._embed_msg( + ctx, _("I don't have permission to connect to your channel.") + ) + await lavalink.connect(ctx.author.voice.channel) + player = lavalink.get_player(ctx.guild.id) + player.store("connect", datetime.datetime.utcnow()) + except AttributeError: + return await self._embed_msg(ctx, _("Connect to a voice channel first.")) + except IndexError: + return await self._embed_msg( + ctx, _("Connection to Lavalink has not yet been established.") + ) + guild_data = await self.config.guild(ctx.guild).all() + if guild_data["dj_enabled"]: + if not await self._can_instaskip(ctx, ctx.author): + return await self._embed_msg(ctx, _("You need the DJ role to queue tracks.")) + player = lavalink.get_player(ctx.guild.id) + + player.store("channel", ctx.channel.id) + player.store("guild", ctx.guild.id) + await self._eq_check(ctx, player) + await self._data_check(ctx) + if ( + not ctx.author.voice or ctx.author.voice.channel != player.channel + ) and not await self._can_instaskip(ctx, ctx.author): + return await self._embed_msg( + ctx, _("You must be in the voice channel to use the autoplay command.") + ) + if not await self._currency_check(ctx, guild_data["jukebox_price"]): + return + if self.owns_autoplay is None: + await self.music_cache.autoplay(player) + else: + self.bot.dispatch( + "red_audio_should_auto_play", + player, + player.channel.guild, + player.channel, + self.play_query, + ) + if not guild_data["auto_play"]: + await ctx.invoke(self._autoplay_toggle) + if not guild_data["notify"] and ( + (player.current and not player.current.extras.get("autoplay")) or not player.current + ): + await self._embed_msg(ctx, _("Auto play started.")) + elif player.current: + await self._embed_msg(ctx, _("Adding a track to queue.")) + + async def _get_spotify_tracks(self, ctx: commands.Context, query: dataclasses.Query): + if ctx.invoked_with in ["play", "genre"]: enqueue_tracks = True else: enqueue_tracks = False player = lavalink.get_player(ctx.guild.id) api_data = await self._check_api_tokens() - guild_data = await self.config.guild(ctx.guild).all() - if "open.spotify.com" in query: - query = "spotify:{}".format( - re.sub("(http[s]?:\/\/)?(open.spotify.com)\/", "", query).replace("/", ":") + + if ( + not api_data["spotify_client_id"] + or not api_data["spotify_client_secret"] + or not api_data["youtube_api"] + ): + return await self._embed_msg( + ctx, + _( + "The owner needs to set the Spotify client ID, Spotify client secret, " + "and YouTube API key before Spotify URLs or codes can be used. " + "\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` " + "for instructions." + ).format(prefix=ctx.prefix), ) - if query.startswith("spotify:"): - if ( - not api_data["spotify_client_id"] - or not api_data["spotify_client_secret"] - or not api_data["youtube_api"] - ): + try: + if self.play_lock[ctx.message.guild.id]: + return await self._embed_msg( + ctx, _("Wait until the playlist has finished loading.") + ) + except KeyError: + pass + + if query.single_track: + try: + res = await self.music_cache.spotify_query( + ctx, "track", query.id, skip_youtube=True, notifier=None + ) + if not res: + return await self._embed_msg(ctx, _("Nothing found.")) + except SpotifyFetchError as error: + self._play_lock(ctx, False) + return await self._embed_msg(ctx, _(error.message).format(prefix=ctx.prefix)) + self._play_lock(ctx, False) + try: + if enqueue_tracks: + new_query = dataclasses.Query.process_input(res[0]) + new_query.start_time = query.start_time + return await self._enqueue_tracks(ctx, new_query) + else: + result, called_api = await self.music_cache.lavalink_query( + ctx, player, dataclasses.Query.process_input(res[0]) + ) + tracks = result.tracks + if not tracks: + return await self._embed_msg(ctx, _("Nothing found.")) + single_track = tracks[0] + single_track.start_timestamp = query.start_time * 1000 + single_track = [single_track] + + return single_track + + except KeyError: + self._play_lock(ctx, False) return await self._embed_msg( ctx, _( - "The owner needs to set the Spotify client ID, Spotify client secret, " - "and YouTube API key before Spotify URLs or codes can be used. " - "\nSee `{prefix}audioset youtubeapi` and `{prefix}audioset spotifyapi` " - "for instructions." + "The Spotify API key or client secret has not been set properly. " + "\nUse `{prefix}audioset spotifyapi` for instructions." ).format(prefix=ctx.prefix), ) - try: - if self.play_lock[ctx.message.guild.id]: - return await self._embed_msg( - ctx, _("Wait until the playlist has finished loading.") - ) - except KeyError: - pass + elif query.is_album or query.is_playlist: + self._play_lock(ctx, True) + track_list = await self._spotify_playlist( + ctx, "album" if query.is_album else "playlist", query, enqueue_tracks + ) + self._play_lock(ctx, False) + return track_list + else: + return await self._embed_msg( + ctx, _("This doesn't seem to be a supported Spotify URL or code.") + ) - parts = query.split(":") - if "track" in parts: - res = await self._make_spotify_req( - "https://api.spotify.com/v1/tracks/{0}".format(parts[-1]) - ) - try: - query = "{} {}".format(res["artists"][0]["name"], res["name"]) - if enqueue_tracks: - return await self._enqueue_tracks(ctx, query) - else: - tracks = await player.get_tracks(f"ytsearch:{query}") - if not tracks: - return await self._embed_msg(ctx, _("Nothing found.")) - single_track = [] - single_track.append(tracks[0]) - return single_track - - except KeyError: - return await self._embed_msg( - ctx, - _( - "The Spotify API key or client secret has not been set properly. " - "\nUse `{prefix}audioset spotifyapi` for instructions." - ).format(prefix=ctx.prefix), - ) - elif "album" in parts: - query = parts[-1] - self._play_lock(ctx, True) - track_list = await self._spotify_playlist( - ctx, "album", api_data["youtube_api"], query - ) - if not track_list: - self._play_lock(ctx, False) - return - if enqueue_tracks: - return await self._enqueue_tracks(ctx, track_list) - else: - return track_list - elif "playlist" in parts: - query = parts[-1] - self._play_lock(ctx, True) - if "user" in parts: - track_list = await self._spotify_playlist( - ctx, "user_playlist", api_data["youtube_api"], query - ) - else: - track_list = await self._spotify_playlist( - ctx, "playlist", api_data["youtube_api"], query - ) - if not track_list: - self._play_lock(ctx, False) - return - if enqueue_tracks: - return await self._enqueue_tracks(ctx, track_list) - else: - return track_list - - else: - return await self._embed_msg( - ctx, _("This doesn't seem to be a valid Spotify URL or code.") - ) - - async def _enqueue_tracks(self, ctx, query): + async def _enqueue_tracks(self, ctx: commands.Context, query: Union[dataclasses.Query, list]): player = lavalink.get_player(ctx.guild.id) + try: + if self.play_lock[ctx.message.guild.id]: + return await self._embed_msg( + ctx, _("Wait until the playlist has finished loading.") + ) + except KeyError: + self._play_lock(ctx, True) guild_data = await self.config.guild(ctx.guild).all() first_track_only = False + index = None + playlist_data = None + seek = 0 if type(query) is not list: - if not ( - query.startswith("http") - or query.startswith("localtracks") - or query.startswith("ytsearch:") - ): - query = f"ytsearch:{query}" - if query.startswith(("ytsearch", "localtracks")): + + if query.single_track: first_track_only = True - tracks = await player.get_tracks(query) + index = query.track_index + if query.start_time: + seek = query.start_time + result, called_api = await self.music_cache.lavalink_query(ctx, player, query) + tracks = result.tracks + playlist_data = result.playlist_info if not tracks: - return await self._embed_msg(ctx, _("Nothing found.")) + self._play_lock(ctx, False) + embed = discord.Embed(title=_("Nothing found."), colour=await ctx.embed_colour()) + if await self.config.use_external_lavalink() and query.is_local: + embed.description = _( + "Local tracks will not work " + "if the `Lavalink.jar` cannot see the track.\n" + "This may be due to permissions or because Lavalink.jar is being run " + "in a different machine than the local tracks." + ) + return await ctx.send(embed=embed) else: tracks = query - - queue_duration = await self._queue_duration(ctx) - queue_total_duration = lavalink.utils.format_time(queue_duration) + queue_dur = await queue_duration(ctx) + queue_total_duration = lavalink.utils.format_time(queue_dur) before_queue_length = len(player.queue) if not first_track_only and len(tracks) > 1: @@ -1745,14 +2867,32 @@ class Audio(commands.Cog): # url where Lavalink handles providing all Track objects to use, like a # YouTube or Soundcloud playlist track_len = 0 + empty_queue = not player.queue for track in tracks: - if guild_data["maxlength"] > 0: - if self._track_limit(ctx, track, guild_data["maxlength"]): + if not await is_allowed( + ctx.guild, + ( + f"{track.title} {track.author} {track.uri} " + f"{str(dataclasses.Query.process_input(track))}" + ), + ): + log.debug(f"Query is not allowed in {ctx.guild} ({ctx.guild.id})") + continue + elif guild_data["maxlength"] > 0: + if track_limit(track, guild_data["maxlength"]): track_len += 1 player.add(ctx.author, track) + self.bot.dispatch( + "red_audio_track_enqueue", player.channel.guild, track, ctx.author + ) + else: track_len += 1 player.add(ctx.author, track) + self.bot.dispatch( + "red_audio_track_enqueue", player.channel.guild, track, ctx.author + ) + player.maybe_shuffle(0 if empty_queue else 1) if len(tracks) > track_len: maxlength_msg = " {bad_tracks} tracks cannot be queued.".format( @@ -1762,12 +2902,17 @@ class Audio(commands.Cog): maxlength_msg = "" embed = discord.Embed( colour=await ctx.embed_colour(), - title=_("Playlist Enqueued"), - description=_("Added {num} tracks to the queue.{maxlength_msg}").format( - num=track_len, maxlength_msg=maxlength_msg + description="{name}".format( + name=playlist_data.name if playlist_data else _("No Title") ), + title=_("Playlist Enqueued"), ) - if not guild_data["shuffle"] and queue_duration > 0: + embed.set_footer( + text=_("Added {num} tracks to the queue.{maxlength_msg}").format( + num=track_len, maxlength_msg=maxlength_msg + ) + ) + if not guild_data["shuffle"] and queue_dur > 0: embed.set_footer( text=_( "{time} until start of playlist playback: starts at #{position} in queue" @@ -1780,455 +2925,1219 @@ class Audio(commands.Cog): # this is in the case of [p]play , a single Spotify url/code # or this is a localtrack item try: - single_track = tracks[0] - if guild_data["maxlength"] > 0: - if self._track_limit(ctx, single_track, guild_data["maxlength"]): + + single_track = tracks[index] if index else tracks[0] + if seek and seek > 0: + single_track.start_timestamp = seek * 1000 + if not await is_allowed( + ctx.guild, + ( + f"{single_track.title} {single_track.author} {single_track.uri} " + f"{str(dataclasses.Query.process_input(single_track))}" + ), + ): + log.debug(f"Query is not allowed in {ctx.guild} ({ctx.guild.id})") + self._play_lock(ctx, False) + return await self._embed_msg( + ctx, _("This track is not allowed in this server.") + ) + elif guild_data["maxlength"] > 0: + if track_limit(single_track, guild_data["maxlength"]): player.add(ctx.author, single_track) + player.maybe_shuffle() + self.bot.dispatch( + "red_audio_track_enqueue", + player.channel.guild, + single_track, + ctx.author, + ) else: + self._play_lock(ctx, False) return await self._embed_msg(ctx, _("Track exceeds maximum length.")) else: player.add(ctx.author, single_track) + player.maybe_shuffle() + self.bot.dispatch( + "red_audio_track_enqueue", player.channel.guild, single_track, ctx.author + ) except IndexError: + self._play_lock(ctx, False) return await self._embed_msg( ctx, _("Nothing found. Check your Lavalink logs for details.") ) - - if "localtracks" in single_track.uri: - if not single_track.title == "Unknown title": + if any( + x in single_track.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] + ): + if single_track.title != "Unknown title": description = "**{} - {}**\n{}".format( single_track.author, single_track.title, - single_track.uri.replace("localtracks/", ""), + dataclasses.LocalPath(single_track.uri).to_string_hidden(), ) else: - description = "{}".format(single_track.uri.replace("localtracks/", "")) + description = "{}".format( + dataclasses.LocalPath(single_track.uri).to_string_hidden() + ) else: description = "**[{}]({})**".format(single_track.title, single_track.uri) embed = discord.Embed( colour=await ctx.embed_colour(), title=_("Track Enqueued"), description=description ) - if not guild_data["shuffle"] and queue_duration > 0: + if not guild_data["shuffle"] and queue_dur > 0: embed.set_footer( text=_("{time} until track playback: #{position} in queue").format( time=queue_total_duration, position=before_queue_length + 1 ) ) - elif queue_duration > 0: - embed.set_footer(text=_("#{position} in queue").format(position=len(player.queue))) - if not player.current: - await player.play() + await ctx.send(embed=embed) - if type(query) is list: - self._play_lock(ctx, False) + if not player.current: + await player.play() + + self._play_lock(ctx, False) + + async def _spotify_playlist( + self, ctx: commands.Context, stype: str, query: dataclasses.Query, enqueue: bool = False + ): - async def _spotify_playlist(self, ctx, stype, yt_key, query): player = lavalink.get_player(ctx.guild.id) - spotify_info = [] - if stype == "album": - r = await self._make_spotify_req("https://api.spotify.com/v1/albums/{0}".format(query)) - else: - r = await self._make_spotify_req( - "https://api.spotify.com/v1/playlists/{0}/tracks".format(query) - ) try: - if r["error"]["status"] == 401: - return await self._embed_msg( - ctx, - _( - "The Spotify API key or client secret has not been set properly. " - "\nUse `{prefix}audioset spotifyapi` for instructions." - ).format(prefix=ctx.prefix), - ) - except KeyError: - pass - while True: - try: - try: - spotify_info.extend(r["tracks"]["items"]) - except KeyError: - spotify_info.extend(r["items"]) - except KeyError: - return await self._embed_msg( - ctx, _("This doesn't seem to be a valid Spotify URL or code.") - ) + embed1 = discord.Embed( + colour=await ctx.embed_colour(), title=_("Please wait, finding tracks...") + ) + playlist_msg = await ctx.send(embed=embed1) + notifier = Notifier( + ctx, + playlist_msg, + { + "spotify": _("Getting track {num}/{total}..."), + "youtube": _("Matching track {num}/{total}..."), + "lavalink": _("Loading track {num}/{total}..."), + "lavalink_time": _("Approximate time remaining: {seconds}"), + }, + ) + track_list = await self.music_cache.spotify_enqueue( + ctx, + stype, + query.id, + enqueue=enqueue, + player=player, + lock=self._play_lock, + notifier=notifier, + ) + except SpotifyFetchError as error: + self._play_lock(ctx, False) + return await self._embed_msg(ctx, _(error.message).format(prefix=ctx.prefix)) + except (RuntimeError, aiohttp.ServerDisconnectedError): + self._play_lock(ctx, False) + error_embed = discord.Embed( + colour=await ctx.embed_colour(), + title=_("The connection was reset while loading the playlist."), + ) + await ctx.send(embed=error_embed) + return None + except Exception as e: + self._play_lock(ctx, False) + raise e + self._play_lock(ctx, False) + return track_list - try: - if r["next"] is not None: - r = await self._make_spotify_req(r["next"]) - continue - else: - break - except KeyError: - if r["tracks"]["next"] is not None: - r = await self._make_spotify_req(r["tracks"]["next"]) - continue - else: - break + async def can_manage_playlist( + self, scope: str, playlist: Playlist, ctx: commands.Context, user, guild + ): - embed1 = discord.Embed( - colour=await ctx.embed_colour(), title=_("Please wait, adding tracks...") + is_owner = await ctx.bot.is_owner(ctx.author) + has_perms = False + user_to_query = user + guild_to_query = guild + dj_enabled = None + playlist_author = ( + guild.get_member(playlist.author) + if guild + else self.bot.get_user(playlist.author) or user ) - playlist_msg = await ctx.send(embed=embed1) - track_list = [] - track_count = 0 - now = int(time.time()) - for i in spotify_info: - if stype == "album": - song_info = "{} {}".format(i["name"], i["artists"][0]["name"]) - else: - song_info = "{} {}".format(i["track"]["name"], i["track"]["artists"][0]["name"]) - try: - track_url = await self._youtube_api_search(yt_key, song_info) - except (RuntimeError, aiohttp.client_exceptions.ServerDisconnectedError): - error_embed = discord.Embed( - colour=await ctx.embed_colour(), - title=_("The connection was reset while loading the playlist."), - ) - await playlist_msg.edit(embed=error_embed) - return None - try: - yt_track = await player.get_tracks(track_url) - except (RuntimeError, aiohttp.client_exceptions.ServerDisconnectedError): - return - try: - track_list.append(yt_track[0]) - except IndexError: - pass - track_count += 1 - if (track_count % 5 == 0) or (track_count == len(spotify_info)): - embed2 = discord.Embed( - colour=await ctx.embed_colour(), - title=_("Loading track {num}/{total}...").format( - num=track_count, total=len(spotify_info) + is_different_user = len({playlist.author, user_to_query.id, ctx.author.id}) != 1 + is_different_guild = True if guild_to_query is None else ctx.guild.id != guild_to_query.id + + if is_owner: + has_perms = True + elif playlist.scope == PlaylistScope.USER.value: + if not is_different_user: + has_perms = True + elif playlist.scope == PlaylistScope.GUILD.value: + if not is_different_guild: + dj_enabled = await self.config.guild(ctx.guild).dj_enabled() + if guild.owner_id == ctx.author.id: + has_perms = True + elif dj_enabled and await self._has_dj_role(ctx, ctx.author): + has_perms = True + elif await ctx.bot.is_mod(ctx.author): + has_perms = True + elif not dj_enabled and not is_different_user: + has_perms = True + + if has_perms is False: + if hasattr(playlist, "name"): + msg = _( + "You do not have the permissions to manage {name} " "(`{id}`) [**{scope}**]." + ).format( + user=playlist_author, + name=playlist.name, + id=playlist.id, + scope=humanize_scope( + playlist.scope, + ctx=guild_to_query + if playlist.scope == PlaylistScope.GUILD.value + else playlist_author + if playlist.scope == PlaylistScope.USER.value + else None, ), ) - if track_count == 5: - five_time = int(time.time()) - now - if track_count >= 5: - remain_tracks = len(spotify_info) - track_count - time_remain = (remain_tracks / 5) * five_time - if track_count < len(spotify_info): - seconds = self._dynamic_time(int(time_remain)) - if track_count == len(spotify_info): - seconds = "0s" - embed2.set_footer( - text=_("Approximate time remaining: {seconds}").format(seconds=seconds) - ) - try: - await playlist_msg.edit(embed=embed2) - except discord.errors.NotFound: - pass + elif playlist.scope == PlaylistScope.GUILD.value and ( + is_different_guild or dj_enabled + ): + msg = _( + "You do not have the permissions to manage that playlist in {guild}." + ).format(guild=guild_to_query) + elif ( + playlist.scope in [PlaylistScope.GUILD.value, PlaylistScope.USER.value] + and is_different_user + ): + msg = _( + "You do not have the permissions to manage playlist owned by {user}." + ).format(user=playlist_author) + else: + msg = _( + "You do not have the permissions to manage " + "playlists in {scope} scope.".format(scope=humanize_scope(scope, the=True)) + ) - if len(track_list) == 0: - embed3 = discord.Embed( - colour=await ctx.embed_colour(), - title=_( - "Nothing found.\nThe YouTube API key may be invalid " - "or you may be rate limited on YouTube's search service.\n" - "Check the YouTube API key again and follow the instructions " - "at `{prefix}audioset youtubeapi`." - ).format(prefix=ctx.prefix), + await self._embed_msg(ctx, msg) + return False + return True + + async def _get_correct_playlist_id( + self, + context: commands.Context, + matches: dict, + scope: str, + author: discord.User, + guild: discord.Guild, + specified_user: bool = False, + ) -> Tuple[Optional[int], str]: + """ + Parameters + ---------- + context: commands.Context + The context in which this is being called. + matches: dict + A dict of the matches found where key is scope and value is matches. + scope:str + The custom config scope. A value from :code:`PlaylistScope`. + author: discord.User + The user. + guild: discord.Guild + The guild. + specified_user: bool + Whether or not a user ID was specified via argparse. + Returns + ------- + Tuple[Optional[int], str] + Tuple of Playlist ID or None if none found and original user input. + Raises + ------ + `TooManyMatches` + When more than 10 matches are found or + When multiple matches are found but none is selected. + + """ + original_input = matches.get("arg") + correct_scope_matches = matches.get(scope) + guild_to_query = guild.id + user_to_query = author.id + if not correct_scope_matches: + return None, original_input + if scope == PlaylistScope.USER.value: + correct_scope_matches = [ + (i[2]["id"], i[2]["name"], len(i[2]["tracks"]), i[2]["author"]) + for i in correct_scope_matches + if str(user_to_query) == i[0] + ] + elif scope == PlaylistScope.GUILD.value: + if specified_user: + correct_scope_matches = [ + (i[2]["id"], i[2]["name"], len(i[2]["tracks"]), i[2]["author"]) + for i in correct_scope_matches + if str(guild_to_query) == i[0] and i[2]["author"] == user_to_query + ] + else: + correct_scope_matches = [ + (i[2]["id"], i[2]["name"], len(i[2]["tracks"]), i[2]["author"]) + for i in correct_scope_matches + if str(guild_to_query) == i[0] + ] + else: + if specified_user: + correct_scope_matches = [ + (i[2]["id"], i[2]["name"], len(i[2]["tracks"]), i[2]["author"]) + for i in correct_scope_matches + if i[2]["author"] == user_to_query + ] + else: + correct_scope_matches = [ + (i[2]["id"], i[2]["name"], len(i[2]["tracks"]), i[2]["author"]) + for i in correct_scope_matches + ] + match_count = len(correct_scope_matches) + # We done all the trimming we can with the info available time to ask the user + if match_count > 10: + if original_input.isnumeric(): + arg = int(original_input) + correct_scope_matches = [ + (i, n, t, a) for i, n, t, a in correct_scope_matches if i == arg + ] + if match_count > 10: + raise TooManyMatches( + f"{match_count} playlists match {original_input}: " + f"Please try to be more specific, or use the playlist ID." + ) + elif match_count == 1: + return correct_scope_matches[0][0], original_input + elif match_count == 0: + return None, original_input + + # TODO : Convert this section to a new paged reaction menu when Toby Menus are Merged + pos_len = 3 + playlists = f"{'#':{pos_len}}\n" + + for number, (pid, pname, ptracks, pauthor) in enumerate(correct_scope_matches, 1): + author = self.bot.get_user(pauthor) or "Unknown" + line = ( + f"{number}." + f" <{pname}>\n" + f" - Scope: < {humanize_scope(scope)} >\n" + f" - ID: < {pid} >\n" + f" - Tracks: < {ptracks} >\n" + f" - Author: < {author} >\n\n" ) - try: - return await playlist_msg.edit(embed=embed3) - except discord.errors.NotFound: - pass + playlists += line + + embed = discord.Embed( + title="Playlists found, which one would you like?", + description=box(playlists, lang="md"), + colour=await context.embed_colour(), + ) + msg = await context.send(embed=embed) + avaliable_emojis = ReactionPredicate.NUMBER_EMOJIS[1:] + avaliable_emojis.append("🔟") + emojis = avaliable_emojis[: len(correct_scope_matches)] + emojis.append("❌") + start_adding_reactions(msg, emojis) + pred = ReactionPredicate.with_emojis(emojis, msg, user=context.author) try: - await playlist_msg.delete() - except discord.errors.NotFound: - pass - return track_list + await context.bot.wait_for("reaction_add", check=pred, timeout=60) + except asyncio.TimeoutError: + with contextlib.suppress(discord.HTTPException): + await msg.delete() + raise TooManyMatches( + "Too many matches found and you did not select which one you wanted." + ) + if emojis[pred.result] == "❌": + with contextlib.suppress(discord.HTTPException): + await msg.delete() + raise TooManyMatches( + "Too many matches found and you did not select which one you wanted." + ) + with contextlib.suppress(discord.HTTPException): + await msg.delete() + return correct_scope_matches[pred.result][0], original_input @commands.group() @commands.guild_only() @commands.bot_has_permissions(embed_links=True) - async def playlist(self, ctx): - """Playlist configuration options.""" + async def playlist(self, ctx: commands.Context): + """Playlist configuration options. + + Scope info: + ​ ​ ​ ​ **Global**: + ​ ​ ​ ​ ​ ​ ​ ​ Visible to all users of this bot. + ​ ​ ​ ​ ​ ​ ​ ​ Only editable by bot owner. + ​ ​ ​ ​ **Guild**: + ​ ​ ​ ​ ​ ​ ​ ​ Visible to all users in this guild. + ​ ​ ​ ​ ​ ​ ​ ​ Editable By Bot Owner, Guild Owner, Guild Admins, + ​ ​ ​ ​ ​ ​ ​ ​ Guild Mods, DJ Role and playlist creator. + ​ ​ ​ ​ **User**: + ​ ​ ​ ​ ​ ​ ​ ​ Visible to all bot users, if --author is passed. + ​ ​ ​ ​ ​ ​ ​ ​ Editable by bot owner and creator. + + """ pass - @playlist.command(name="append") - async def _playlist_append(self, ctx, playlist_name, *, url): + @playlist.command(name="append", usage=" [args]") + async def _playlist_append( + self, + ctx: commands.Context, + playlist_matches: PlaylistConverter, + query: LazyGreedyConverter, + *, + scope_data: ScopeParser = None, + ): """Add a track URL, playlist link, or quick search to a playlist. The track(s) will be appended to the end of the playlist. + + **Usage**: + ​ ​ ​ ​ [p]playlist append playlist_name_OR_id track_name_OR_url args + + **Args**: + ​ ​ ​ ​ The following are all optional: + ​ ​ ​ ​ ​ ​ ​ ​ --scope + ​ ​ ​ ​ ​ ​ ​ ​ --author [user] + ​ ​ ​ ​ ​ ​ ​ ​ --guild [guild] **Only the bot owner can use this** + + Scope is one of the following: + ​ ​ ​ ​ Global + ​ ​ ​ ​ Guild + ​ ​ ​ ​ User + + Author can be one of the following: + ​ ​ ​ ​ User ID + ​ ​ ​ ​ User Mention + ​ ​ ​ ​ User Name#123 + + Guild can be one of the following: + ​ ​ ​ ​ Guild ID + ​ ​ ​ ​ Exact guild name + + Example use: + ​ ​ ​ ​ [p]playlist append MyGuildPlaylist Hello by Adele + ​ ​ ​ ​ [p]playlist append MyGlobalPlaylist Hello by Adele --scope Global + ​ ​ ​ ​ [p]playlist append MyGlobalPlaylist Hello by Adele --scope Global + --Author Draper#6666 """ + if scope_data is None: + scope_data = [PlaylistScope.GUILD.value, ctx.author, ctx.guild, False] + scope, author, guild, specified_user = scope_data if not await self._playlist_check(ctx): return - async with self.config.guild(ctx.guild).playlists() as playlists: - try: - if playlists[playlist_name][ - "author" - ] != ctx.author.id and not await self._can_instaskip(ctx, ctx.author): - return await self._embed_msg( - ctx, _("You are not the author of that playlist.") - ) - player = lavalink.get_player(ctx.guild.id) - to_append = await self._playlist_tracks(ctx, player, url) - if not to_append: - return - track_list = playlists[playlist_name]["tracks"] - if track_list and len(to_append) == 1 and to_append[0] in track_list: - return await self._embed_msg( - ctx, - _("{track} is already in {playlist}.").format( - track=to_append[0]["info"]["title"], playlist=playlist_name - ), - ) - if track_list: - playlists[playlist_name]["tracks"] = track_list + to_append - else: - playlists[playlist_name]["tracks"] = to_append - except KeyError: - return await self._embed_msg(ctx, _("No playlist with that name.")) - if playlists[playlist_name]["playlist_url"] is not None: - playlists[playlist_name]["playlist_url"] = None - if len(to_append) == 1: + try: + playlist_id, playlist_arg = await self._get_correct_playlist_id( + ctx, playlist_matches, scope, author, guild, specified_user + ) + except TooManyMatches as e: + return await self._embed_msg(ctx, str(e)) + if playlist_id is None: + return await self._embed_msg( + ctx, _("Could not match '{arg}' to a playlist").format(arg=playlist_arg) + ) + + try: + playlist = await get_playlist(playlist_id, scope, self.bot, guild, author) + except RuntimeError: + return await self._embed_msg( + ctx, + _("Playlist {id} does not exist in {scope} scope.").format( + id=playlist_id, scope=humanize_scope(scope, the=True) + ), + ) + except MissingGuild: + return await self._embed_msg( + ctx, _("You need to specify the Guild ID for the guild to lookup.") + ) + + if not await self.can_manage_playlist(scope, playlist, ctx, author, guild): + return + player = lavalink.get_player(ctx.guild.id) + to_append = await self._playlist_tracks( + ctx, player, dataclasses.Query.process_input(query) + ) + if not to_append: + return await self._embed_msg(ctx, _("Could not find a track matching your query.")) + track_list = playlist.tracks + tracks_obj_list = playlist.tracks_obj + to_append_count = len(to_append) + scope_name = humanize_scope( + scope, ctx=guild if scope == PlaylistScope.GUILD.value else author + ) + appended = 0 + + if to_append and to_append_count == 1: + to = lavalink.Track(to_append[0]) + if to in tracks_obj_list: + return await self._embed_msg( + ctx, + _("{track} is already in {playlist} (`{id}`) [**{scope}**].").format( + track=to.title, playlist=playlist.name, id=playlist.id, scope=scope_name + ), + ) + else: + appended += 1 + if to_append and to_append_count > 1: + to_append_temp = [] + for t in to_append: + to = lavalink.Track(t) + if to not in tracks_obj_list: + appended += 1 + to_append_temp.append(t) + to_append = to_append_temp + if appended > 0: + track_list.extend(to_append) + update = {"tracks": track_list, "url": None} + await playlist.edit(update) + + if to_append_count == 1 and appended == 1: track_title = to_append[0]["info"]["title"] return await self._embed_msg( ctx, - _("{track} appended to {playlist}.").format( - track=track_title, playlist=playlist_name + _("{track} appended to {playlist} (`{id}`) [**{scope}**].").format( + track=track_title, playlist=playlist.name, id=playlist.id, scope=scope_name ), ) - await self._embed_msg( + + desc = _("{num} tracks appended to {playlist} (`{id}`) [**{scope}**].").format( + num=appended, playlist=playlist.name, id=playlist.id, scope=scope_name + ) + if to_append_count > appended: + diff = to_append_count - appended + desc += _("\n{existing} {plural} already in the playlist and were skipped.").format( + existing=diff, plural=_("tracks are") if diff != 1 else _("track is") + ) + + embed = discord.Embed( + title=_("Playlist Modified"), colour=await ctx.embed_colour(), description=desc + ) + await ctx.send(embed=embed) + + @playlist.command(name="copy", usage=" [args]") + async def _playlist_copy( + self, + ctx: commands.Context, + playlist_matches: PlaylistConverter, + *, + scope_data: ComplexScopeParser = None, + ): + + """Copy a playlist from one scope to another. + + **Usage**: + ​ ​ ​ ​ [p]playlist copy playlist_name_OR_id args + + **Args**: + ​ ​ ​ ​ The following are all optional: + ​ ​ ​ ​ ​ ​ ​ ​ --from-scope + ​ ​ ​ ​ ​ ​ ​ ​ --from-author [user] + ​ ​ ​ ​ ​ ​ ​ ​ --from-guild [guild] **Only the bot owner can use this** + + ​ ​ ​ ​ ​ ​ ​ ​ --to-scope + ​ ​ ​ ​ ​ ​ ​ ​ --to-author [user] + ​ ​ ​ ​ ​ ​ ​ ​ --to-guild [guild] **Only the bot owner can use this** + + Scope is one of the following: + ​ ​ ​ ​ Global + ​ ​ ​ ​ Guild + ​ ​ ​ ​ User + + Author can be one of the following: + ​ ​ ​ ​ User ID + ​ ​ ​ ​ User Mention + ​ ​ ​ ​ User Name#123 + + Guild can be one of the following: + ​ ​ ​ ​ Guild ID + ​ ​ ​ ​ Exact guild name + + Example use: + ​ ​ ​ ​ [p]playlist copy MyGuildPlaylist --from-scope Guild --to-scope Global + ​ ​ ​ ​ [p]playlist copy MyGlobalPlaylist --from-scope Global --to-author Draper#6666 + --to-scope User + ​ ​ ​ ​ [p]playlist copy MyPersonalPlaylist --from-scope user --to-author Draper#6666 + --to-scope Guild --to-guild Red - Discord Bot + + """ + + if scope_data is None: + scope_data = [ + PlaylistScope.GUILD.value, + ctx.author, + ctx.guild, + False, + PlaylistScope.GUILD.value, + ctx.author, + ctx.guild, + False, + ] + ( + from_scope, + from_author, + from_guild, + specified_from_user, + to_scope, + to_author, + to_guild, + specified_to_user, + ) = scope_data + + try: + playlist_id, playlist_arg = await self._get_correct_playlist_id( + ctx, playlist_matches, from_scope, from_author, from_guild, specified_from_user + ) + except TooManyMatches as e: + return await self._embed_msg(ctx, str(e)) + + if playlist_id is None: + return await self._embed_msg( + ctx, _("Could not match '{arg}' to a playlist.").format(arg=playlist_arg) + ) + + temp_playlist = FakePlaylist(to_author.id, to_scope) + if not await self.can_manage_playlist(to_scope, temp_playlist, ctx, to_author, to_guild): + return + + try: + from_playlist = await get_playlist( + playlist_id, from_scope, self.bot, from_guild, from_author.id + ) + except RuntimeError: + return await self._embed_msg( + ctx, + _("Playlist {id} does not exist in {scope} scope.").format( + id=playlist_id, scope=humanize_scope(to_scope, the=True) + ), + ) + except MissingGuild: + return await self._embed_msg( + ctx, _("You need to specify the Guild ID for the guild to lookup.") + ) + + to_playlist = await create_playlist( ctx, - _("{num} tracks appended to {playlist}.").format( - num=len(to_append), playlist=playlist_name + to_scope, + from_playlist.name, + from_playlist.url, + from_playlist.tracks, + to_author, + to_guild, + ) + if to_scope == PlaylistScope.GLOBAL.value: + to_scope_name = "the Global" + elif to_scope == PlaylistScope.USER.value: + to_scope_name = to_author + else: + to_scope_name = to_guild + + if from_scope == PlaylistScope.GLOBAL.value: + from_scope_name = "the Global" + elif from_scope == PlaylistScope.USER.value: + from_scope_name = from_author + else: + from_scope_name = from_guild + + return await self._embed_msg( + ctx, + _( + "Playlist {name} (`{from_id}`) copied from {from_scope} to {to_scope} (`{to_id}`)." + ).format( + name=from_playlist.name, + from_id=from_playlist.id, + from_scope=humanize_scope(from_scope, ctx=from_scope_name, the=True), + to_scope=humanize_scope(to_scope, ctx=to_scope_name, the=True), + to_id=to_playlist.id, ), ) - @checks.is_owner() - @playlist.command(name="copy") - async def _playlist_copy(self, ctx, playlist_name, from_server_id: int, to_server_id: int): - """Copy a playlist from one server to another.""" - from_guild = self.bot.get_guild(from_server_id) - to_guild = self.bot.get_guild(to_server_id) - if not from_guild: - return await self._embed_msg(ctx, _("Invalid server ID for source server.")) - if not to_guild: - return await self._embed_msg(ctx, _("Invalid server ID for target server.")) - async with self.config.guild(from_guild).playlists() as from_playlists: - if playlist_name not in from_playlists: - return await self._embed_msg( - ctx, - _("No playlist with that name in {from_guild_name}.").format( - from_guild_name=from_guild.name - ), - ) - async with self.config.guild(to_guild).playlists() as to_playlists: - try: - target_playlists = to_playlists[playlist_name] - except KeyError: - to_playlists[playlist_name] = from_playlists[playlist_name] - return await self._embed_msg( - ctx, - _( - "Playlist {name} copied from {from_guild_name} to {to_guild_name}." - ).format( - name=playlist_name, - from_guild_name=from_guild.name, - to_guild_name=to_guild.name, - ), - ) + @playlist.command(name="create", usage=" [args]") + async def _playlist_create( + self, ctx: commands.Context, playlist_name: str, *, scope_data: ScopeParser = None + ): + """Create an empty playlist. - if target_playlists: - await self._embed_msg( - ctx, - _( - "A playlist with that name already exists in {to_guild_name}.\nPlease enter a new name for this playlist." - ).format(to_guild_name=to_guild.name), - ) - try: - playlist_name_msg = await ctx.bot.wait_for( - "message", - timeout=15.0, - check=MessagePredicate.regex(fr"^(?!{re.escape(ctx.prefix)})", ctx), - ) - new_playlist_name = playlist_name_msg.content.split(" ")[0].strip('"') - if len(new_playlist_name) > 20: - return await self._embed_msg( - ctx, _("Try the playlist copy command again with a shorter name.") - ) - if new_playlist_name in to_playlists: - return await self._embed_msg( - ctx, - _( - "Playlist name already exists in {to_guild_name}, try the playlist copy command again with a different name." - ).format(to_guild_name=to_guild.name), - ) - except asyncio.TimeoutError: - return await self._embed_msg( - ctx, _("No playlist name entered, try again later.") - ) - to_playlists[new_playlist_name] = from_playlists[playlist_name] - return await self._embed_msg( - ctx, - _( - "Playlist {name} copied from {from_guild_name} to {to_guild_name}.\nNew playlist name on {to_guild_name}: {new_name}" - ).format( - name=playlist_name, - from_guild_name=from_guild.name, - to_guild_name=to_guild.name, - new_name=new_playlist_name, - ), - ) + **Usage**: + ​ ​ ​ ​ [p]playlist create playlist_name args - @playlist.command(name="create") - async def _playlist_create(self, ctx, playlist_name): - """Create an empty playlist.""" - dj_enabled = await self.config.guild(ctx.guild).dj_enabled() - if dj_enabled: - if not await self._can_instaskip(ctx, ctx.author): - return await self._embed_msg(ctx, _("You need the DJ role to save playlists.")) - async with self.config.guild(ctx.guild).playlists() as playlists: - if playlist_name in playlists: - return await self._embed_msg( - ctx, _("Playlist name already exists, try again with a different name.") - ) - playlist_name = playlist_name.split(" ")[0].strip('"') - playlist_list = self._to_json(ctx, None, None) - async with self.config.guild(ctx.guild).playlists() as playlists: - playlists[playlist_name] = playlist_list - await self._embed_msg(ctx, _("Empty playlist {name} created.").format(name=playlist_name)) + **Args**: + ​ ​ ​ ​ The following are all optional: + ​ ​ ​ ​ ​ ​ ​ ​ --scope + ​ ​ ​ ​ ​ ​ ​ ​ --author [user] + ​ ​ ​ ​ ​ ​ ​ ​ --guild [guild] **Only the bot owner can use this** - @playlist.command(name="delete") - async def _playlist_delete(self, ctx, playlist_name): - """Delete a saved playlist.""" - async with self.config.guild(ctx.guild).playlists() as playlists: - try: - if playlists[playlist_name][ - "author" - ] != ctx.author.id and not await self._can_instaskip(ctx, ctx.author): - return await self._embed_msg( - ctx, _("You are not the author of that playlist.") - ) - del playlists[playlist_name] - except KeyError: - return await self._embed_msg(ctx, _("No playlist with that name.")) - await self._embed_msg(ctx, _("{name} playlist deleted.").format(name=playlist_name)) + Scope is one of the following: + ​ ​ ​ ​ Global + ​ ​ ​ ​ Guild + ​ ​ ​ ​ User + + Author can be one of the following: + ​ ​ ​ ​ User ID + ​ ​ ​ ​ User Mention + ​ ​ ​ ​ User Name#123 + + Guild can be one of the following: + ​ ​ ​ ​ Guild ID + ​ ​ ​ ​ Exact guild name + + Example use: + ​ ​ ​ ​ [p]playlist create MyGuildPlaylist + ​ ​ ​ ​ [p]playlist create MyGlobalPlaylist --scope Global + ​ ​ ​ ​ [p]playlist create MyPersonalPlaylist --scope User + """ + if scope_data is None: + scope_data = [PlaylistScope.GUILD.value, ctx.author, ctx.guild, False] + scope, author, guild, specified_user = scope_data + + temp_playlist = FakePlaylist(author.id, scope) + scope_name = humanize_scope( + scope, ctx=guild if scope == PlaylistScope.GUILD.value else author + ) + if not await self.can_manage_playlist(scope, temp_playlist, ctx, author, guild): + return + playlist_name = playlist_name.split(" ")[0].strip('"')[:32] + if playlist_name.isnumeric(): + return await self._embed_msg( + ctx, + _( + "Playlist names must be a single word (up to 32 " + "characters) and not numbers only." + ), + ) + playlist = await create_playlist(ctx, scope, playlist_name, None, None, author, guild) + return await self._embed_msg( + ctx, + _("Empty playlist {name} (`{id}`) [**{scope}**] created.").format( + name=playlist.name, id=playlist.id, scope=scope_name + ), + ) + + @playlist.command(name="delete", aliases=["del"], usage=" [args]") + async def _playlist_delete( + self, + ctx: commands.Context, + playlist_matches: PlaylistConverter, + *, + scope_data: ScopeParser = None, + ): + """Delete a saved playlist. + + **Usage**: + ​ ​ ​ ​ [p]playlist delete playlist_name_OR_id args + + **Args**: + ​ ​ ​ ​ The following are all optional: + ​ ​ ​ ​ ​ ​ ​ ​ --scope + ​ ​ ​ ​ ​ ​ ​ ​ --author [user] + ​ ​ ​ ​ ​ ​ ​ ​ --guild [guild] **Only the bot owner can use this** + + Scope is one of the following: + ​ ​ ​ ​ Global + ​ ​ ​ ​ Guild + ​ ​ ​ ​ User + + Author can be one of the following: + ​ ​ ​ ​ User ID + ​ ​ ​ ​ User Mention + ​ ​ ​ ​ User Name#123 + + Guild can be one of the following: + ​ ​ ​ ​ Guild ID + ​ ​ ​ ​ Exact guild name + + Example use: + ​ ​ ​ ​ [p]playlist delete MyGuildPlaylist + ​ ​ ​ ​ [p]playlist delete MyGlobalPlaylist --scope Global + ​ ​ ​ ​ [p]playlist delete MyPersonalPlaylist --scope User + """ + if scope_data is None: + scope_data = [PlaylistScope.GUILD.value, ctx.author, ctx.guild, False] + scope, author, guild, specified_user = scope_data + + try: + playlist_id, playlist_arg = await self._get_correct_playlist_id( + ctx, playlist_matches, scope, author, guild, specified_user + ) + except TooManyMatches as e: + return await self._embed_msg(ctx, str(e)) + if playlist_id is None: + return await self._embed_msg( + ctx, _("Could not match '{arg}' to a playlist.").format(arg=playlist_arg) + ) + + try: + playlist = await get_playlist(playlist_id, scope, self.bot, guild, author) + except RuntimeError: + return await self._embed_msg( + ctx, + _("Playlist {id} does not exist in {scope} scope.").format( + id=playlist_id, scope=humanize_scope(scope, the=True) + ), + ) + except MissingGuild: + return await self._embed_msg( + ctx, _("You need to specify the Guild ID for the guild to lookup.") + ) + + if not await self.can_manage_playlist(scope, playlist, ctx, author, guild): + return + scope_name = humanize_scope( + scope, ctx=guild if scope == PlaylistScope.GUILD.value else author + ) + await delete_playlist(scope, playlist.id, guild or ctx.guild, author or ctx.author) + + await self._embed_msg( + ctx, + _("{name} (`{id}`) [**{scope}**] playlist deleted.").format( + name=playlist.name, id=playlist.id, scope=scope_name + ), + ) + + @playlist.command(name="dedupe", usage=" [args]") + async def _playlist_remdupe( + self, + ctx: commands.Context, + playlist_matches: PlaylistConverter, + *, + scope_data: ScopeParser = None, + ): + """Remove duplicate tracks from a saved playlist. + + **Usage**: + ​ ​ ​ ​ [p]playlist dedupe playlist_name_OR_id args + + **Args**: + ​ ​ ​ ​ The following are all optional: + ​ ​ ​ ​ ​ ​ ​ ​ --scope + ​ ​ ​ ​ ​ ​ ​ ​ --author [user] + ​ ​ ​ ​ ​ ​ ​ ​ --guild [guild] **Only the bot owner can use this** + + Scope is one of the following: + ​ ​ ​ ​ Global + ​ ​ ​ ​ Guild + ​ ​ ​ ​ User + + Author can be one of the following: + ​ ​ ​ ​ User ID + ​ ​ ​ ​ User Mention + ​ ​ ​ ​ User Name#123 + + Guild can be one of the following: + ​ ​ ​ ​ Guild ID + ​ ​ ​ ​ Exact guild name + + Example use: + ​ ​ ​ ​ [p]playlist dedupe MyGuildPlaylist + ​ ​ ​ ​ [p]playlist dedupe MyGlobalPlaylist --scope Global + ​ ​ ​ ​ [p]playlist dedupe MyPersonalPlaylist --scope User + """ + if scope_data is None: + scope_data = [PlaylistScope.GUILD.value, ctx.author, ctx.guild, False] + scope, author, guild, specified_user = scope_data + scope_name = humanize_scope( + scope, ctx=guild if scope == PlaylistScope.GUILD.value else author + ) + + try: + playlist_id, playlist_arg = await self._get_correct_playlist_id( + ctx, playlist_matches, scope, author, guild, specified_user + ) + except TooManyMatches as e: + return await self._embed_msg(ctx, str(e)) + if playlist_id is None: + return await self._embed_msg( + ctx, _("Could not match '{arg}' to a playlist.").format(arg=playlist_arg) + ) + + try: + playlist = await get_playlist(playlist_id, scope, self.bot, guild, author) + except RuntimeError: + return await self._embed_msg( + ctx, + _("Playlist {id} does not exist in {scope} scope.").format( + id=playlist_id, scope=humanize_scope(scope, the=True) + ), + ) + except MissingGuild: + return await self._embed_msg( + ctx, _("You need to specify the Guild ID for the guild to lookup.") + ) + + if not await self.can_manage_playlist(scope, playlist, ctx, author, guild): + return + + track_objects = playlist.tracks_obj + original_count = len(track_objects) + unique_tracks = set() + unique_tracks_add = unique_tracks.add + track_objects = [ + x for x in track_objects if not (x in unique_tracks or unique_tracks_add(x)) + ] + + tracklist = [] + for track in track_objects: + track_keys = track._info.keys() + track_values = track._info.values() + track_id = track.track_identifier + track_info = {} + for k, v in zip(track_keys, track_values): + track_info[k] = v + keys = ["track", "info"] + values = [track_id, track_info] + track_obj = {} + for key, value in zip(keys, values): + track_obj[key] = value + tracklist.append(track_obj) + + final_count = len(tracklist) + if original_count - final_count != 0: + update = {"tracks": tracklist, "url": None} + await playlist.edit(update) + + if original_count - final_count != 0: + await self._embed_msg( + ctx, + _( + "Removed {track_diff} duplicated " + "tracks from {name} (`{id}`) [**{scope}**] playlist." + ).format( + name=playlist.name, + id=playlist.id, + track_diff=original_count - final_count, + scope=scope_name, + ), + ) + else: + await self._embed_msg( + ctx, + _("{name} (`{id}`) [**{scope}**] playlist has no duplicate tracks.").format( + name=playlist.name, id=playlist.id, scope=scope_name + ), + ) @checks.is_owner() - @playlist.command(name="download") + @playlist.command(name="download", usage=" [v2=False] [args]") @commands.bot_has_permissions(attach_files=True) - async def _playlist_download(self, ctx, playlist_name, v2=False): + async def _playlist_download( + self, + ctx: commands.Context, + playlist_matches: PlaylistConverter, + v2: Optional[bool] = False, + *, + scope_data: ScopeParser = None, + ): """Download a copy of a playlist. These files can be used with the [p]playlist upload command. Red v2-compatible playlists can be generated by passing True - for the v2 variable.""" - if not await self._playlist_check(ctx): - return - playlists = await self.config.guild(ctx.guild).playlists.get_raw() - v2_valid_urls = ["https://www.youtube.com/watch?v=", "https://soundcloud.com/"] - song_list = [] - playlist_url = None + for the v2 variable. + + **Usage**: + ​ ​ ​ ​ [p]playlist download playlist_name_OR_id [v2=True_OR_False] args + + **Args**: + ​ ​ ​ ​ The following are all optional: + ​ ​ ​ ​ ​ ​ ​ ​ --scope + ​ ​ ​ ​ ​ ​ ​ ​ --author [user] + ​ ​ ​ ​ ​ ​ ​ ​ --guild [guild] **Only the bot owner can use this** + + Scope is one of the following: + ​ ​ ​ ​ Global + ​ ​ ​ ​ Guild + ​ ​ ​ ​ User + + Author can be one of the following: + ​ ​ ​ ​ User ID + ​ ​ ​ ​ User Mention + ​ ​ ​ ​ User Name#123 + + Guild can be one of the following: + ​ ​ ​ ​ Guild ID + ​ ​ ​ ​ Exact guild name + + Example use: + ​ ​ ​ ​ [p]playlist download MyGuildPlaylist True + ​ ​ ​ ​ [p]playlist download MyGlobalPlaylist False --scope Global + ​ ​ ​ ​ [p]playlist download MyPersonalPlaylist --scope User + """ + if scope_data is None: + scope_data = [PlaylistScope.GUILD.value, ctx.author, ctx.guild, False] + scope, author, guild, specified_user = scope_data try: - if playlists[playlist_name]["playlist_url"]: - playlist_url = playlists[playlist_name]["playlist_url"] - for track in playlists[playlist_name]["tracks"]: - if v2: - if track["info"]["uri"].startswith(tuple(v2_valid_urls)): - song_list.append(track["info"]["uri"]) - else: - song_list.append(track["info"]["uri"]) - except TypeError: - return await self._embed_msg(ctx, _("That playlist has no tracks.")) - except KeyError: - return await self._embed_msg(ctx, _("That playlist doesn't exist.")) + playlist_id, playlist_arg = await self._get_correct_playlist_id( + ctx, playlist_matches, scope, author, guild, specified_user + ) + except TooManyMatches as e: + return await self._embed_msg(ctx, str(e)) + if playlist_id is None: + return await self._embed_msg( + ctx, _("Could not match '{arg}' to a playlist.").format(arg=playlist_arg) + ) - playlist_data = json.dumps( - {"author": ctx.author.id, "link": playlist_url, "playlist": song_list} - ) + try: + playlist = await get_playlist(playlist_id, scope, self.bot, guild, author) + except RuntimeError: + return await self._embed_msg( + ctx, + _("Playlist {id} does not exist in {scope} scope.").format( + id=playlist_id, scope=humanize_scope(scope, the=True) + ), + ) + except MissingGuild: + return await self._embed_msg( + ctx, _("You need to specify the Guild ID for the guild to lookup.") + ) + + schema = 2 + version = "v3" if v2 is False else "v2" + + if not playlist.tracks: + return await self._embed_msg(ctx, _("That playlist has no tracks.")) + if version == "v2": + v2_valid_urls = ["https://www.youtube.com/watch?v=", "https://soundcloud.com/"] + song_list = [] + for track in playlist.tracks: + if track["info"]["uri"].startswith(tuple(v2_valid_urls)): + song_list.append(track["info"]["uri"]) + playlist_data = { + "author": playlist.author, + "link": playlist.url, + "playlist": song_list, + "name": playlist.name, + } + file_name = playlist.name + else: + playlist_data = playlist.to_json() + playlist_songs_backwards_compatible = [ + track["info"]["uri"] for track in playlist.tracks + ] + playlist_data[ + "playlist" + ] = ( + playlist_songs_backwards_compatible + ) # TODO: Keep new playlists backwards compatible, Remove me in a few releases + playlist_data[ + "link" + ] = ( + playlist.url + ) # TODO: Keep new playlists backwards compatible, Remove me in a few releases + file_name = playlist.id + playlist_data.update({"schema": schema, "version": version}) + playlist_data = json.dumps(playlist_data) to_write = StringIO() to_write.write(playlist_data) to_write.seek(0) - await ctx.send(file=discord.File(to_write, filename=f"{playlist_name}.txt")) + await ctx.send(file=discord.File(to_write, filename=f"{file_name}.txt")) to_write.close() - @playlist.command(name="info") - async def _playlist_info(self, ctx, playlist_name): - """Retrieve information from a saved playlist.""" - playlists = await self.config.guild(ctx.guild).playlists.get_raw() - try: - author_id = playlists[playlist_name]["author"] - except KeyError: - return await self._embed_msg(ctx, _("No playlist with that name.")) + @playlist.command(name="info", usage=" [args]") + async def _playlist_info( + self, + ctx: commands.Context, + playlist_matches: PlaylistConverter, + *, + scope_data: ScopeParser = None, + ): + """Retrieve information from a saved playlist. + + **Usage**: + ​ ​ ​ ​ [p]playlist info playlist_name_OR_id args + + **Args**: + ​ ​ ​ ​ The following are all optional: + ​ ​ ​ ​ ​ ​ ​ ​ --scope + ​ ​ ​ ​ ​ ​ ​ ​ --author [user] + ​ ​ ​ ​ ​ ​ ​ ​ --guild [guild] **Only the bot owner can use this** + + Scope is one of the following: + ​ ​ ​ ​ Global + ​ ​ ​ ​ Guild + ​ ​ ​ ​ User + + Author can be one of the following: + ​ ​ ​ ​ User ID + ​ ​ ​ ​ User Mention + ​ ​ ​ ​ User Name#123 + + Guild can be one of the following: + ​ ​ ​ ​ Guild ID + ​ ​ ​ ​ Exact guild name + + Example use: + ​ ​ ​ ​ [p]playlist info MyGuildPlaylist + ​ ​ ​ ​ [p]playlist info MyGlobalPlaylist --scope Global + ​ ​ ​ ​ [p]playlist info MyPersonalPlaylist --scope User + """ + if scope_data is None: + scope_data = [PlaylistScope.GUILD.value, ctx.author, ctx.guild, False] + scope, author, guild, specified_user = scope_data + scope_name = humanize_scope( + scope, ctx=guild if scope == PlaylistScope.GUILD.value else author + ) try: - track_len = len(playlists[playlist_name]["tracks"]) - except TypeError: - track_len = 0 + playlist_id, playlist_arg = await self._get_correct_playlist_id( + ctx, playlist_matches, scope, author, guild, specified_user + ) + except TooManyMatches as e: + return await self._embed_msg(ctx, str(e)) + if playlist_id is None: + return await self._embed_msg( + ctx, _("Could not match '{arg}' to a playlist.").format(arg=playlist_arg) + ) - msg = "" + try: + playlist = await get_playlist(playlist_id, scope, self.bot, guild, author) + except RuntimeError: + return await self._embed_msg( + ctx, + _("Playlist {id} does not exist in {scope} scope.").format( + id=playlist_id, scope=humanize_scope(scope, the=True) + ), + ) + except MissingGuild: + return await self._embed_msg( + ctx, _("You need to specify the Guild ID for the guild to lookup.") + ) + track_len = len(playlist.tracks) + + msg = "​" track_idx = 0 if track_len > 0: - for track in playlists[playlist_name]["tracks"]: + spaces = "\N{EN SPACE}" * (len(str(len(playlist.tracks))) + 2) + for track in playlist.tracks: track_idx = track_idx + 1 - spaces = abs(len(str(track_idx)) - 5) - msg += "`{}.` **[{}]({})**\n".format( - track_idx, track["info"]["title"], track["info"]["uri"] - ) + query = dataclasses.Query.process_input(track["info"]["uri"]) + if any(x in str(query) for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"]): + if track["info"]["title"] != "Unknown title": + msg += "`{}.` **{} - {}**\n{}{}\n".format( + track_idx, + track["info"]["author"], + track["info"]["title"], + spaces, + query.to_string_user(), + ) + else: + msg += "`{}.` {}\n".format(track_idx, query.to_string_user()) + else: + msg += "`{}.` **[{}]({})**\n".format( + track_idx, track["info"]["title"], track["info"]["uri"] + ) + else: msg = "No tracks." - playlist_url = playlists[playlist_name]["playlist_url"] - if not playlist_url: - embed_title = _("Playlist info for {playlist_name}:\n").format( - playlist_name=playlist_name + + if not playlist.url: + embed_title = _("Playlist info for {playlist_name} (`{id}`) [**{scope}**]:\n").format( + playlist_name=playlist.name, id=playlist.id, scope=scope_name ) else: - embed_title = _("Playlist info for {playlist_name}:\nURL: {url}").format( - playlist_name=playlist_name, url=playlist_url + embed_title = _( + "Playlist info for {playlist_name} (`{id}`) [**{scope}**]:\nURL: {url}" + ).format( + playlist_name=playlist.name, url=playlist.url, id=playlist.id, scope=scope_name ) page_list = [] - for page in pagify(msg, delims=["\n"], page_length=1000): + pages = list(pagify(msg, delims=["\n"], page_length=2000)) + total_pages = len(pages) + for numb, page in enumerate(pages, start=1): embed = discord.Embed( colour=await ctx.embed_colour(), title=embed_title, description=page ) - author_obj = self.bot.get_user(author_id) + author_obj = self.bot.get_user(playlist.author) embed.set_footer( - text=_("Author: {author_name} | {num} track(s)").format( - author_name=author_obj, num=track_len + text=_("Page {page}/{pages} | Author: {author_name} | {num} track(s)").format( + author_name=author_obj, num=track_len, pages=total_pages, page=numb ) ) page_list.append(embed) await menu(ctx, page_list, DEFAULT_CONTROLS) - @playlist.command(name="list") + @playlist.command(name="list", usage="[args]") @commands.bot_has_permissions(add_reactions=True) - async def _playlist_list(self, ctx): - """List saved playlists.""" - playlists = await self.config.guild(ctx.guild).playlists.get_raw() - if not playlists: - return await self._embed_msg(ctx, _("No saved playlists.")) + async def _playlist_list(self, ctx: commands.Context, *, scope_data: ScopeParser = None): + """List saved playlists. + + **Usage**: + ​ ​ ​ ​ [p]playlist list args + + **Args**: + ​ ​ ​ ​ The following are all optional: + ​ ​ ​ ​ ​ ​ ​ ​ --scope + ​ ​ ​ ​ ​ ​ ​ ​ --author [user] + ​ ​ ​ ​ ​ ​ ​ ​ --guild [guild] **Only the bot owner can use this** + + Scope is one of the following: + ​ ​ ​ ​ Global + ​ ​ ​ ​ Guild + ​ ​ ​ ​ User + + Author can be one of the following: + ​ ​ ​ ​ User ID + ​ ​ ​ ​ User Mention + ​ ​ ​ ​ User Name#123 + + Guild can be one of the following: + ​ ​ ​ ​ Guild ID + ​ ​ ​ ​ Exact guild name + + Example use: + ​ ​ ​ ​ [p]playlist list + ​ ​ ​ ​ [p]playlist list --scope Global + ​ ​ ​ ​ [p]playlist list --scope User + """ + if scope_data is None: + scope_data = [PlaylistScope.GUILD.value, ctx.author, ctx.guild, False] + scope, author, guild, specified_user = scope_data + + try: + playlists = await get_all_playlist(scope, self.bot, guild, author, specified_user) + except MissingGuild: + return await self._embed_msg( + ctx, _("You need to specify the Guild ID for the guild to lookup.") + ) + + if scope == PlaylistScope.GUILD.value: + name = f"{guild.name}" + elif scope == PlaylistScope.USER.value: + name = f"{author}" + else: + name = "the global scope" + + if not playlists and specified_user: + return await self._embed_msg( + ctx, + _("No saved playlists for {scope} created by {author}.").format( + scope=name, author=author + ), + ) + elif not playlists: + return await self._embed_msg( + ctx, _("No saved playlists for {scope}.").format(scope=name) + ) + playlist_list = [] space = "\N{EN SPACE}" - for playlist_name in playlists: - tracks = playlists[playlist_name]["tracks"] - if not tracks: - tracks = [] - author = playlists[playlist_name]["author"] + for playlist in playlists: playlist_list.append( ("\n" + space * 4).join( ( - bold(playlist_name), - _("Tracks: {num}").format(num=len(tracks)), - _("Author: {name}\n").format(name=self.bot.get_user(author)), + bold(playlist.name), + _("ID: {id}").format(id=playlist.id), + _("Tracks: {num}").format(num=len(playlist.tracks)), + _("Author: {name}\n").format(name=self.bot.get_user(playlist.author)), ) ) ) abc_names = sorted(playlist_list, key=str.lower) len_playlist_list_pages = math.ceil(len(abc_names) / 5) playlist_embeds = [] + for page_num in range(1, len_playlist_list_pages + 1): - embed = await self._build_playlist_list_page(ctx, page_num, abc_names) + embed = await self._build_playlist_list_page(ctx, page_num, abc_names, name) playlist_embeds.append(embed) await menu(ctx, playlist_embeds, DEFAULT_CONTROLS) - async def _build_playlist_list_page(self, ctx, page_num, abc_names): + @staticmethod + async def _build_playlist_list_page(ctx: commands.Context, page_num, abc_names, scope): plist_num_pages = math.ceil(len(abc_names) / 5) plist_idx_start = (page_num - 1) * 5 plist_idx_end = plist_idx_start + 5 @@ -2240,180 +4149,606 @@ class Audio(commands.Cog): plist += "`{}.` {}".format(item_idx, playlist_info) embed = discord.Embed( colour=await ctx.embed_colour(), - title=_("Playlists for {server_name}:").format(server_name=ctx.guild.name), + title=_("Playlists for {scope}:").format(scope=scope), description=plist, ) embed.set_footer( - text=_("Page {page_num}/{total_pages} | {num} playlists").format( + text=_("Page {page_num}/{total_pages} | {num} playlists.").format( page_num=page_num, total_pages=plist_num_pages, num=len(abc_names) ) ) return embed - @commands.cooldown(1, 15, discord.ext.commands.BucketType.guild) - @playlist.command(name="queue") - async def _playlist_queue(self, ctx, playlist_name=None): - """Save the queue to a playlist.""" - dj_enabled = await self.config.guild(ctx.guild).dj_enabled() - if dj_enabled: - if not await self._can_instaskip(ctx, ctx.author): - return await self._embed_msg(ctx, _("You need the DJ role to save playlists.")) - async with self.config.guild(ctx.guild).playlists() as playlists: - if playlist_name in playlists: - return await self._embed_msg( - ctx, _("Playlist name already exists, try again with a different name.") - ) - if not self._player_check(ctx): - return await self._embed_msg(ctx, _("Nothing playing.")) + @commands.cooldown(1, 15, commands.BucketType.guild) + @playlist.command(name="queue", usage=" [args]") + async def _playlist_queue( + self, ctx: commands.Context, playlist_name: str, *, scope_data: ScopeParser = None + ): + """Save the queue to a playlist. + + **Usage**: + ​ ​ ​ ​ [p]playlist queue playlist_name + + **Args**: + ​ ​ ​ ​ The following are all optional: + ​ ​ ​ ​ ​ ​ ​ ​ --scope + ​ ​ ​ ​ ​ ​ ​ ​ --author [user] + ​ ​ ​ ​ ​ ​ ​ ​ --guild [guild] **Only the bot owner can use this** + + Scope is one of the following: + ​ ​ ​ ​ Global + ​ ​ ​ ​ Guild + ​ ​ ​ ​ User + + Author can be one of the following: + ​ ​ ​ ​ User ID + ​ ​ ​ ​ User Mention + ​ ​ ​ ​ User Name#123 + + Guild can be one of the following: + ​ ​ ​ ​ Guild ID + ​ ​ ​ ​ Exact guild name + + Example use: + ​ ​ ​ ​ [p]playlist queue MyGuildPlaylist + ​ ​ ​ ​ [p]playlist queue MyGlobalPlaylist --scope Global + ​ ​ ​ ​ [p]playlist queue MyPersonalPlaylist --scope User + """ + if scope_data is None: + scope_data = [PlaylistScope.GUILD.value, ctx.author, ctx.guild, False] + scope, author, guild, specified_user = scope_data + scope_name = humanize_scope( + scope, ctx=guild if scope == PlaylistScope.GUILD.value else author + ) + temp_playlist = FakePlaylist(author.id, scope) + if not await self.can_manage_playlist(scope, temp_playlist, ctx, author, guild): + return + playlist_name = playlist_name.split(" ")[0].strip('"')[:32] + if playlist_name.isnumeric(): + return await self._embed_msg( + ctx, + _( + "Playlist names must be a single word " + "(up to 32 characters) and not numbers only." + ), + ) + if not self._player_check(ctx): + return await self._embed_msg(ctx, _("Nothing playing.")) + player = lavalink.get_player(ctx.guild.id) - if not player.current: + if not player.queue: return await self._embed_msg(ctx, _("There's nothing in the queue.")) tracklist = [] - np_song = self._track_creator(player, "np") + np_song = track_creator(player, "np") tracklist.append(np_song) for track in player.queue: queue_idx = player.queue.index(track) - track_obj = self._track_creator(player, queue_idx) + track_obj = track_creator(player, queue_idx) tracklist.append(track_obj) - if not playlist_name: - await self._embed_msg(ctx, _("Please enter a name for this playlist.")) - try: - playlist_name_msg = await ctx.bot.wait_for( - "message", - timeout=15.0, - check=MessagePredicate.regex(fr"^(?!{re.escape(ctx.prefix)})", ctx), - ) - playlist_name = playlist_name_msg.content.split(" ")[0].strip('"') - if len(playlist_name) > 20: - return await self._embed_msg( - ctx, _("Try the command again with a shorter name.") - ) - if playlist_name in playlists: - return await self._embed_msg( - ctx, _("Playlist name already exists, try again with a different name.") - ) - except asyncio.TimeoutError: - return await self._embed_msg(ctx, _("No playlist name entered, try again later.")) - playlist_list = self._to_json(ctx, None, tracklist) - async with self.config.guild(ctx.guild).playlists() as playlists: - playlist_name = playlist_name.split(" ")[0].strip('"') - playlists[playlist_name] = playlist_list + playlist = await create_playlist(ctx, scope, playlist_name, None, tracklist, author, guild) await self._embed_msg( ctx, - _("Playlist {name} saved from current queue: {num} tracks added.").format( - name=playlist_name.split(" ")[0].strip('"'), num=len(tracklist) + _( + "Playlist {name} (`{id}`) [**{scope}**] saved " + "from current queue: {num} tracks added." + ).format( + name=playlist.name, num=len(playlist.tracks), id=playlist.id, scope=scope_name ), ) - @playlist.command(name="remove") - async def _playlist_remove(self, ctx, playlist_name, url): - """Remove a track from a playlist by url.""" - async with self.config.guild(ctx.guild).playlists() as playlists: - try: - if playlists[playlist_name][ - "author" - ] != ctx.author.id and not await self._can_instaskip(ctx, ctx.author): - return await self._embed_msg( - ctx, _("You are not the author of that playlist.") - ) - except KeyError: - return await self._embed_msg(ctx, _("No playlist with that name.")) - track_list = playlists[playlist_name]["tracks"] - clean_list = [track for track in track_list if not url == track["info"]["uri"]] - if len(playlists[playlist_name]["tracks"]) == len(clean_list): - return await self._embed_msg(ctx, _("URL not in playlist.")) - del_count = len(playlists[playlist_name]["tracks"]) - len(clean_list) - if not clean_list: - del playlists[playlist_name] - return await self._embed_msg(ctx, _("No tracks left, removing playlist.")) - playlists[playlist_name]["tracks"] = clean_list - if playlists[playlist_name]["playlist_url"] is not None: - playlists[playlist_name]["playlist_url"] = None + @playlist.command(name="remove", usage=" [args]") + async def _playlist_remove( + self, + ctx: commands.Context, + playlist_matches: PlaylistConverter, + url: str, + *, + scope_data: ScopeParser = None, + ): + """Remove a track from a playlist by url. + + **Usage**: + ​ ​ ​ ​ [p]playlist remove playlist_name_OR_id url args + + **Args**: + ​ ​ ​ ​ The following are all optional: + ​ ​ ​ ​ ​ ​ ​ ​ --scope + ​ ​ ​ ​ ​ ​ ​ ​ --author [user] + ​ ​ ​ ​ ​ ​ ​ ​ --guild [guild] **Only the bot owner can use this** + + Scope is one of the following: + ​ ​ ​ ​ Global + ​ ​ ​ ​ Guild + ​ ​ ​ ​ User + + Author can be one of the following: + ​ ​ ​ ​ User ID + ​ ​ ​ ​ User Mention + ​ ​ ​ ​ User Name#123 + + Guild can be one of the following: + ​ ​ ​ ​ Guild ID + ​ ​ ​ ​ Exact guild name + + Example use: + ​ ​ ​ ​ [p]playlist remove MyGuildPlaylist https://www.youtube.com/watch?v=MN3x-kAbgFU + ​ ​ ​ ​ [p]playlist remove MyGlobalPlaylist https://www.youtube.com/watch?v=MN3x-kAbgFU + --scope Global + ​ ​ ​ ​ [p]playlist remove MyPersonalPlaylist https://www.youtube.com/watch?v=MN3x-kAbgFU + --scope User + """ + if scope_data is None: + scope_data = [PlaylistScope.GUILD.value, ctx.author, ctx.guild, False] + scope, author, guild, specified_user = scope_data + scope_name = humanize_scope( + scope, ctx=guild if scope == PlaylistScope.GUILD.value else author + ) + + try: + playlist_id, playlist_arg = await self._get_correct_playlist_id( + ctx, playlist_matches, scope, author, guild, specified_user + ) + except TooManyMatches as e: + return await self._embed_msg(ctx, str(e)) + if playlist_id is None: + return await self._embed_msg( + ctx, _("Could not match '{arg}' to a playlist.").format(arg=playlist_arg) + ) + + try: + playlist = await get_playlist(playlist_id, scope, self.bot, guild, author) + except RuntimeError: + return await self._embed_msg( + ctx, + _("Playlist {id} does not exist in {scope} scope.").format( + id=playlist_id, scope=humanize_scope(scope, the=True) + ), + ) + except MissingGuild: + return await self._embed_msg( + ctx, _("You need to specify the Guild ID for the guild to lookup.") + ) + + if not await self.can_manage_playlist(scope, playlist, ctx, author, guild): + return + + track_list = playlist.tracks + clean_list = [track for track in track_list if url != track["info"]["uri"]] + if len(track_list) == len(clean_list): + return await self._embed_msg(ctx, _("URL not in playlist.")) + del_count = len(track_list) - len(clean_list) + if not clean_list: + await delete_playlist( + scope=playlist.scope, playlist_id=playlist.id, guild=guild, author=playlist.author + ) + return await self._embed_msg(ctx, _("No tracks left, removing playlist.")) + update = {"tracks": clean_list, "url": None} + await playlist.edit(update) if del_count > 1: await self._embed_msg( ctx, - _("{num} entries have been removed from the {playlist_name} playlist.").format( - num=del_count, playlist_name=playlist_name + _( + "{num} entries have been removed from the" + " playlist {playlist_name} (`{id}`) [**{scope}**]." + ).format( + num=del_count, playlist_name=playlist.name, id=playlist.id, scope=scope_name ), ) else: await self._embed_msg( ctx, - _("The track has been removed from the {playlist_name} playlist.").format( - playlist_name=playlist_name - ), + _( + "The track has been removed from the" + " playlist: {playlist_name} (`{id}`) [**{scope}**]." + ).format(playlist_name=playlist.name, id=playlist.id, scope=scope_name), ) - @playlist.command(name="save") - async def _playlist_save(self, ctx, playlist_name, playlist_url): - """Save a playlist from a url.""" + @playlist.command(name="save", usage=" [args]") + async def _playlist_save( + self, + ctx: commands.Context, + playlist_name: str, + playlist_url: str, + *, + scope_data: ScopeParser = None, + ): + """Save a playlist from a url. + + **Usage**: + ​ ​ ​ ​ [p]playlist save name url args + + **Args**: + ​ ​ ​ ​ The following are all optional: + ​ ​ ​ ​ ​ ​ ​ ​ --scope + ​ ​ ​ ​ ​ ​ ​ ​ --author [user] + ​ ​ ​ ​ ​ ​ ​ ​ --guild [guild] **Only the bot owner can use this** + + Scope is one of the following: + ​ ​ ​ ​ Global + ​ ​ ​ ​ Guild + ​ ​ ​ ​ User + + Author can be one of the following: + ​ ​ ​ ​ User ID + ​ ​ ​ ​ User Mention + ​ ​ ​ ​ User Name#123 + + Guild can be one of the following: + ​ ​ ​ ​ Guild ID + ​ ​ ​ ​ Exact guild name + + Example use: + ​ ​ ​ ​ [p]playlist save MyGuildPlaylist + https://www.youtube.com/playlist?list=PLx0sYbCqOb8Q_CLZC2BdBSKEEB59BOPUM + ​ ​ ​ ​ [p]playlist save MyGlobalPlaylist + https://www.youtube.com/playlist?list=PLx0sYbCqOb8Q_CLZC2BdBSKEEB59BOPUM --scope Global + ​ ​ ​ ​ [p]playlist save MyPersonalPlaylist + https://open.spotify.com/playlist/1RyeIbyFeIJVnNzlGr5KkR --scope User + """ + if scope_data is None: + scope_data = [PlaylistScope.GUILD.value, ctx.author, ctx.guild, False] + scope, author, guild, specified_user = scope_data + scope_name = humanize_scope( + scope, ctx=guild if scope == PlaylistScope.GUILD.value else author + ) + + temp_playlist = FakePlaylist(author.id, scope) + if not await self.can_manage_playlist(scope, temp_playlist, ctx, author, guild): + return + playlist_name = playlist_name.split(" ")[0].strip('"')[:32] + if playlist_name.isnumeric(): + return await self._embed_msg( + ctx, + _( + "Playlist names must be a single word (up to 32 " + "characters) and not numbers only." + ), + ) if not await self._playlist_check(ctx): return player = lavalink.get_player(ctx.guild.id) - tracklist = await self._playlist_tracks(ctx, player, playlist_url) - playlist_list = self._to_json(ctx, playlist_url, tracklist) + tracklist = await self._playlist_tracks( + ctx, player, dataclasses.Query.process_input(playlist_url) + ) if tracklist is not None: - async with self.config.guild(ctx.guild).playlists() as playlists: - playlist_name = playlist_name.split(" ")[0].strip('"') - playlists[playlist_name] = playlist_list - return await self._embed_msg( - ctx, - _("Playlist {name} saved: {num} tracks added.").format( - name=playlist_name, num=len(tracklist) - ), - ) + playlist = await create_playlist( + ctx, scope, playlist_name, playlist_url, tracklist, author, guild + ) + return await self._embed_msg( + ctx, + _("Playlist {name} (`{id}`) [**{scope}**] saved: {num} tracks added.").format( + name=playlist.name, num=len(tracklist), id=playlist.id, scope=scope_name + ), + ) + + @playlist.command(name="start", usage=" [args]") + async def _playlist_start( + self, + ctx: commands.Context, + playlist_matches: PlaylistConverter, + *, + scope_data: ScopeParser = None, + ): + """Load a playlist into the queue. + + **Usage**: + ​ ​ ​ ​ [p]playlist start playlist_name_OR_id args + + **Args**: + ​ ​ ​ ​ The following are all optional: + ​ ​ ​ ​ ​ ​ ​ ​ --scope + ​ ​ ​ ​ ​ ​ ​ ​ --author [user] + ​ ​ ​ ​ ​ ​ ​ ​ --guild [guild] **Only the bot owner can use this** + + Scope is one of the following: + ​ ​ ​ ​ Global + ​ ​ ​ ​ Guild + ​ ​ ​ ​ User + + Author can be one of the following: + ​ ​ ​ ​ User ID + ​ ​ ​ ​ User Mention + ​ ​ ​ ​ User Name#123 + + Guild can be one of the following: + ​ ​ ​ ​ Guild ID + ​ ​ ​ ​ Exact guild name + + Example use: + ​ ​ ​ ​ [p]playlist start MyGuildPlaylist + ​ ​ ​ ​ [p]playlist start MyGlobalPlaylist --scope Global + ​ ​ ​ ​ [p]playlist start MyPersonalPlaylist --scope User + """ + if scope_data is None: + scope_data = [PlaylistScope.GUILD.value, ctx.author, ctx.guild, False] + scope, author, guild, specified_user = scope_data + dj_enabled = await self.config.guild(ctx.guild).dj_enabled() + if dj_enabled: + if not await self._can_instaskip(ctx, ctx.author): + await self._embed_msg(ctx, _("You need the DJ role to start playing playlists.")) + return False + + try: + playlist_id, playlist_arg = await self._get_correct_playlist_id( + ctx, playlist_matches, scope, author, guild, specified_user + ) + except TooManyMatches as e: + return await self._embed_msg(ctx, str(e)) + if playlist_id is None: + return await self._embed_msg( + ctx, _("Could not match '{arg}' to a playlist").format(arg=playlist_arg) + ) - @playlist.command(name="start") - async def _playlist_start(self, ctx, playlist_name=None): - """Load a playlist into the queue.""" if not await self._playlist_check(ctx): return + jukebox_price = await self.config.guild(ctx.guild).jukebox_price() + if not await self._currency_check(ctx, jukebox_price): + return maxlength = await self.config.guild(ctx.guild).maxlength() - playlists = await self.config.guild(ctx.guild).playlists.get_raw() author_obj = self.bot.get_user(ctx.author.id) track_len = 0 + playlist = None try: + playlist = await get_playlist(playlist_id, scope, self.bot, guild, author) player = lavalink.get_player(ctx.guild.id) - for track in playlists[playlist_name]["tracks"]: - if track["info"]["uri"].startswith("localtracks/"): + tracks = playlist.tracks_obj + empty_queue = not player.queue + for track in tracks: + if not await is_allowed( + ctx.guild, + ( + f"{track.title} {track.author} {track.uri} " + f"{str(dataclasses.Query.process_input(track))}" + ), + ): + log.debug(f"Query is not allowed in {ctx.guild} ({ctx.guild.id})") + continue + if any(x in track.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"]): + local_path = dataclasses.LocalPath(track.uri) if not await self._localtracks_check(ctx): pass - if not os.path.isfile(track["info"]["uri"]): + if not local_path.exists() and not local_path.is_file(): continue if maxlength > 0: - if not self._track_limit(ctx, track["info"]["length"], maxlength): + if not track_limit(track.length, maxlength): continue - player.add(author_obj, lavalink.rest_api.Track(data=track)) + + player.add(author_obj, track) + self.bot.dispatch( + "red_audio_track_enqueue", player.channel.guild, track, ctx.author + ) track_len += 1 - if len(playlists[playlist_name]["tracks"]) > track_len: + player.maybe_shuffle(0 if empty_queue else 1) + if len(tracks) > track_len: maxlength_msg = " {bad_tracks} tracks cannot be queued.".format( - bad_tracks=(len(playlists[playlist_name]["tracks"]) - track_len) + bad_tracks=(len(tracks) - track_len) ) else: maxlength_msg = "" + if scope == PlaylistScope.GUILD.value: + scope_name = f"{guild.name}" + elif scope == PlaylistScope.USER.value: + scope_name = f"{author}" + else: + scope_name = "the global scope" + embed = discord.Embed( colour=await ctx.embed_colour(), title=_("Playlist Enqueued"), - description=_("Added {num} tracks to the queue.{maxlength_msg}").format( - num=track_len, maxlength_msg=maxlength_msg + description=_( + "{name} - (`{id}`) [**{scope}**]\nAdded {num} " + "tracks to the queue.{maxlength_msg}" + ).format( + num=track_len, + maxlength_msg=maxlength_msg, + name=playlist.name, + id=playlist.id, + scope=scope_name, ), ) await ctx.send(embed=embed) if not player.current: await player.play() + return + except RuntimeError: + return await self._embed_msg( + ctx, + _("Playlist {id} does not exist in {scope} scope.").format( + id=playlist_id, scope=humanize_scope(scope, the=True) + ), + ) + except MissingGuild: + return await self._embed_msg( + ctx, _("You need to specify the Guild ID for the guild to lookup.") + ) except TypeError: - await ctx.invoke(self.play, query=playlists[playlist_name]["playlist_url"]) - except KeyError: - await self._embed_msg(ctx, _("That playlist doesn't exist.")) + if playlist: + return await ctx.invoke(self.play, query=playlist.url) + + @playlist.command(name="update", usage=" [args]") + async def _playlist_update( + self, + ctx: commands.Context, + playlist_matches: PlaylistConverter, + *, + scope_data: ScopeParser = None, + ): + """Updates all tracks in a playlist. + + **Usage**: + ​ ​ ​ ​ [p]playlist update playlist_name_OR_id args + + **Args**: + ​ ​ ​ ​ The following are all optional: + ​ ​ ​ ​ ​ ​ ​ ​ --scope + ​ ​ ​ ​ ​ ​ ​ ​ --author [user] + ​ ​ ​ ​ ​ ​ ​ ​ --guild [guild] **Only the bot owner can use this** + + Scope is one of the following: + ​ ​ ​ ​ Global + ​ ​ ​ ​ Guild + ​ ​ ​ ​ User + + Author can be one of the following: + ​ ​ ​ ​ User ID + ​ ​ ​ ​ User Mention + ​ ​ ​ ​ User Name#123 + + Guild can be one of the following: + ​ ​ ​ ​ Guild ID + ​ ​ ​ ​ Exact guild name + + Example use: + ​ ​ ​ ​ [p]playlist update MyGuildPlaylist + ​ ​ ​ ​ [p]playlist update MyGlobalPlaylist --scope Global + ​ ​ ​ ​ [p]playlist update MyPersonalPlaylist --scope User + """ + + if scope_data is None: + scope_data = [PlaylistScope.GUILD.value, ctx.author, ctx.guild, False] + scope, author, guild, specified_user = scope_data + try: + playlist_id, playlist_arg = await self._get_correct_playlist_id( + ctx, playlist_matches, scope, author, guild, specified_user + ) + except TooManyMatches as e: + return await self._embed_msg(ctx, str(e)) + + if playlist_id is None: + return await self._embed_msg( + ctx, _("Could not match '{arg}' to a playlist.").format(arg=playlist_arg) + ) + + if not await self._playlist_check(ctx): + return + try: + playlist = await get_playlist(playlist_id, scope, self.bot, guild, author) + if not await self.can_manage_playlist(scope, playlist, ctx, author, guild): + return + if playlist.url: + player = lavalink.get_player(ctx.guild.id) + added, removed, playlist = await self._maybe_update_playlist(ctx, player, playlist) + else: + return await self._embed_msg(ctx, _("Custom playlists cannot be updated.")) + except RuntimeError: + return await self._embed_msg( + ctx, + _("Playlist {id} does not exist in {scope} scope.").format( + id=playlist_id, scope=humanize_scope(scope, the=True) + ), + ) + except MissingGuild: + return await self._embed_msg( + ctx, _("You need to specify the Guild ID for the guild to lookup.") + ) + else: + scope_name = humanize_scope( + scope, ctx=guild if scope == PlaylistScope.GUILD.value else author + ) + if added or removed: + _colour = await ctx.embed_colour() + embeds = [] + total_added = len(added) + total_removed = len(removed) + total_pages = math.ceil(total_removed / 10) + math.ceil(total_added / 10) + page_count = 0 + if removed: + removed_text = "" + for i, track in enumerate(removed, 1): + if len(track.title) > 40: + track_title = str(track.title).replace("[", "") + track_title = "{}...".format((track_title[:40]).rstrip(" ")) + else: + track_title = track.title + removed_text += f"`{i}.` **[{track_title}]({track.uri})**\n" + if i % 10 == 0 or i == total_removed: + page_count += 1 + embed = discord.Embed( + title=_("Tracks removed"), colour=_colour, description=removed_text + ) + text = _("Page {page_num}/{total_pages}").format( + page_num=page_count, total_pages=total_pages + ) + embed.set_footer(text=text) + embeds.append(embed) + removed_text = "" + if added: + added_text = "" + for i, track in enumerate(added, 1): + if len(track.title) > 40: + track_title = str(track.title).replace("[", "") + track_title = "{}...".format((track_title[:40]).rstrip(" ")) + else: + track_title = track.title + added_text += f"`{i}.` **[{track_title}]({track.uri})**\n" + if i % 10 == 0 or i == total_added: + page_count += 1 + embed = discord.Embed( + title=_("Tracks added"), colour=_colour, description=added_text + ) + text = _("Page {page_num}/{total_pages}").format( + page_num=page_count, total_pages=total_pages + ) + embed.set_footer(text=text) + embeds.append(embed) + added_text = "" + await menu(ctx, embeds, DEFAULT_CONTROLS) + else: + return await self._embed_msg( + ctx, + _("No changes for {name} (`{id}`) [**{scope}**].").format( + id=playlist.id, name=playlist.name, scope=scope_name + ), + ) @checks.is_owner() - @playlist.command(name="upload") - async def _playlist_upload(self, ctx): - """Convert a Red v2 playlist file to a playlist.""" + @playlist.command(name="upload", usage="[args]") + async def _playlist_upload(self, ctx: commands.Context, *, scope_data: ScopeParser = None): + """Uploads a playlist file as a playlist for the bot. + + V2 and old V3 playlist will be slow. + V3 Playlist made with [p]playlist download will load a lot faster. + + **Usage**: + ​ ​ ​ ​ [p]playlist upload args + + **Args**: + ​ ​ ​ ​ The following are all optional: + ​ ​ ​ ​ ​ ​ ​ ​ --scope + ​ ​ ​ ​ ​ ​ ​ ​ --author [user] + ​ ​ ​ ​ ​ ​ ​ ​ --guild [guild] **Only the bot owner can use this** + + Scope is one of the following: + ​ ​ ​ ​ Global + ​ ​ ​ ​ Guild + ​ ​ ​ ​ User + + Author can be one of the following: + ​ ​ ​ ​ User ID + ​ ​ ​ ​ User Mention + ​ ​ ​ ​ User Name#123 + + Guild can be one of the following: + ​ ​ ​ ​ Guild ID + ​ ​ ​ ​ Exact guild name + + Example use: + ​ ​ ​ ​ [p]playlist upload + ​ ​ ​ ​ [p]playlist upload --scope Global + ​ ​ ​ ​ [p]playlist upload --scope User + """ + if scope_data is None: + scope_data = [PlaylistScope.GUILD.value, ctx.author, ctx.guild, False] + scope, author, guild, specified_user = scope_data + temp_playlist = FakePlaylist(author.id, scope) + if not await self.can_manage_playlist(scope, temp_playlist, ctx, author, guild): + return + if not await self._playlist_check(ctx): return player = lavalink.get_player(ctx.guild.id) + await self._embed_msg( ctx, _("Please upload the playlist file. Any other message will cancel this operation."), @@ -2429,86 +4764,311 @@ class Audio(commands.Cog): file_url = file_message.attachments[0].url except IndexError: return await self._embed_msg(ctx, _("Upload cancelled.")) - v2_playlist_name = (file_url.split("/")[6]).split(".")[0] file_suffix = file_url.rsplit(".", 1)[1] if file_suffix != "txt": return await self._embed_msg(ctx, _("Only playlist files can be uploaded.")) try: async with self.session.request("GET", file_url) as r: - v2_playlist = await r.json(content_type="text/plain") + uploaded_playlist = await r.json(content_type="text/plain") except UnicodeDecodeError: return await self._embed_msg(ctx, _("Not a valid playlist file.")) - try: - v2_playlist_url = v2_playlist["link"] - except KeyError: - v2_playlist_url = None - if ( - not v2_playlist_url - or not self._match_yt_playlist(v2_playlist_url) - or not await player.get_tracks(v2_playlist_url) - ): - track_list = [] - track_count = 0 - async with self.config.guild(ctx.guild).playlists() as v3_playlists: - try: - if v3_playlists[v2_playlist_name]: - return await self._embed_msg( - ctx, _("A playlist already exists with this name.") - ) - except KeyError: - pass - embed1 = discord.Embed( - colour=await ctx.embed_colour(), title=_("Please wait, adding tracks...") - ) - playlist_msg = await ctx.send(embed=embed1) - for song_url in v2_playlist["playlist"]: - try: - track = await player.get_tracks(song_url) - except RuntimeError: - pass - try: - track_obj = self._track_creator(player, other_track=track[0]) - track_list.append(track_obj) - track_count = track_count + 1 - except IndexError: - pass - if track_count % 5 == 0: - embed2 = discord.Embed( - colour=await ctx.embed_colour(), - title=_("Loading track {num}/{total}...").format( - num=track_count, total=len(v2_playlist["playlist"]) - ), - ) - await playlist_msg.edit(embed=embed2) - if not track_list: - return await self._embed_msg(ctx, _("No tracks found.")) - playlist_list = self._to_json(ctx, v2_playlist_url, track_list) - async with self.config.guild(ctx.guild).playlists() as v3_playlists: - v3_playlists[v2_playlist_name] = playlist_list - if len(v2_playlist["playlist"]) != track_count: - bad_tracks = len(v2_playlist["playlist"]) - track_count - msg = _( - "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) " - "could not be loaded." - ).format(num=track_count, playlist_name=v2_playlist_name, num_bad=bad_tracks) - else: - msg = _("Added {num} tracks from the {playlist_name} playlist.").format( - num=track_count, playlist_name=v2_playlist_name - ) - embed3 = discord.Embed( - colour=await ctx.embed_colour(), title=_("Playlist Saved"), description=msg - ) - await playlist_msg.edit(embed=embed3) - else: - await ctx.invoke(self._playlist_save, v2_playlist_name, v2_playlist_url) - async def _playlist_check(self, ctx): - dj_enabled = await self.config.guild(ctx.guild).dj_enabled() - jukebox_price = await self.config.guild(ctx.guild).jukebox_price() - if dj_enabled: - if not await self._can_instaskip(ctx, ctx.author): - await self._embed_msg(ctx, _("You need the DJ role to use playlists.")) - return False + new_schema = uploaded_playlist.get("schema", 1) >= 2 + version = uploaded_playlist.get("version", "v2") + + if new_schema and version == "v3": + uploaded_playlist_url = uploaded_playlist.get("playlist_url", None) + track_list = uploaded_playlist.get("tracks", []) + else: + uploaded_playlist_url = uploaded_playlist.get("link", None) + track_list = uploaded_playlist.get("playlist", []) + + uploaded_playlist_name = uploaded_playlist.get( + "name", (file_url.split("/")[6]).split(".")[0] + ) + if ( + not uploaded_playlist_url + or not match_yt_playlist(uploaded_playlist_url) + or not ( + await self.music_cache.lavalink_query( + ctx, player, dataclasses.Query.process_input(uploaded_playlist_url) + ) + )[0].tracks + ): + if version == "v3": + return await self._load_v3_playlist( + ctx, + scope, + uploaded_playlist_name, + uploaded_playlist_url, + track_list, + author, + guild, + ) + return await self._load_v2_playlist( + ctx, + track_list, + player, + uploaded_playlist_url, + uploaded_playlist_name, + scope, + author, + guild, + ) + return await ctx.invoke( + self._playlist_save, + playlist_name=uploaded_playlist_name, + playlist_url=uploaded_playlist_url, + scope_data=(scope, author, guild, specified_user), + ) + + @playlist.command(name="rename", usage=" [args]") + async def _playlist_rename( + self, + ctx: commands.Context, + playlist_matches: PlaylistConverter, + new_name: str, + *, + scope_data: ScopeParser = None, + ): + """Rename an existing playlist. + + **Usage**: + ​ ​ ​ ​ [p]playlist rename playlist_name_OR_id new_name args + + **Args**: + ​ ​ ​ ​ The following are all optional: + ​ ​ ​ ​ ​ ​ ​ ​ --scope + ​ ​ ​ ​ ​ ​ ​ ​ --author [user] + ​ ​ ​ ​ ​ ​ ​ ​ --guild [guild] **Only the bot owner can use this** + + Scope is one of the following: + ​ ​ ​ ​ Global + ​ ​ ​ ​ Guild + ​ ​ ​ ​ User + + Author can be one of the following: + ​ ​ ​ ​ User ID + ​ ​ ​ ​ User Mention + ​ ​ ​ ​ User Name#123 + + Guild can be one of the following: + ​ ​ ​ ​ Guild ID + ​ ​ ​ ​ Exact guild name + + Example use: + ​ ​ ​ ​ [p]playlist rename MyGuildPlaylist RenamedGuildPlaylist + ​ ​ ​ ​ [p]playlist rename MyGlobalPlaylist RenamedGlobalPlaylist --scope Global + ​ ​ ​ ​ [p]playlist rename MyPersonalPlaylist RenamedPersonalPlaylist --scope User + """ + if scope_data is None: + scope_data = [PlaylistScope.GUILD.value, ctx.author, ctx.guild, False] + scope, author, guild, specified_user = scope_data + + new_name = new_name.split(" ")[0].strip('"')[:32] + if new_name.isnumeric(): + return await self._embed_msg( + ctx, + _( + "Playlist names must be a single word (up to 32 " + "characters) and not numbers only." + ), + ) + + try: + playlist_id, playlist_arg = await self._get_correct_playlist_id( + ctx, playlist_matches, scope, author, guild, specified_user + ) + except TooManyMatches as e: + return await self._embed_msg(ctx, str(e)) + if playlist_id is None: + return await self._embed_msg( + ctx, _("Could not match '{arg}' to a playlist.").format(arg=playlist_arg) + ) + + try: + playlist = await get_playlist(playlist_id, scope, self.bot, guild, author) + except RuntimeError: + return await self._embed_msg( + ctx, + _("Playlist {id} does not exist in {scope} scope.").format( + id=playlist_id, scope=humanize_scope(scope, the=True) + ), + ) + except MissingGuild: + return await self._embed_msg( + ctx, _("You need to specify the Guild ID for the guild to lookup.") + ) + + if not await self.can_manage_playlist(scope, playlist, ctx, author, guild): + return + scope_name = humanize_scope( + scope, ctx=guild if scope == PlaylistScope.GUILD.value else author + ) + old_name = playlist.name + update = {"name": new_name} + await playlist.edit(update) + msg = _("'{old}' playlist has been renamed to '{new}' (`{id}`) [**{scope}**]").format( + old=bold(old_name), new=bold(playlist.name), id=playlist.id, scope=scope_name + ) + await self._embed_msg(ctx, msg) + + async def _load_v3_playlist( + self, + ctx: commands.Context, + scope: str, + uploaded_playlist_name: str, + uploaded_playlist_url: str, + track_list, + author: Union[discord.User, discord.Member], + guild: Union[discord.Guild], + ): + embed1 = discord.Embed( + colour=await ctx.embed_colour(), title=_("Please wait, adding tracks...") + ) + playlist_msg = await ctx.send(embed=embed1) + track_count = len(track_list) + uploaded_track_count = len(track_list) + await asyncio.sleep(1) + embed2 = discord.Embed( + colour=await ctx.embed_colour(), + title=_("Loading track {num}/{total}...").format( + num=track_count, total=uploaded_track_count + ), + ) + await playlist_msg.edit(embed=embed2) + playlist = await create_playlist( + ctx, scope, uploaded_playlist_name, uploaded_playlist_url, track_list, author, guild + ) + scope_name = humanize_scope( + scope, ctx=guild if scope == PlaylistScope.GUILD.value else author + ) + if not track_count: + msg = _("Empty playlist {name} (`{id}`) [**{scope}**] created.").format( + name=playlist.name, id=playlist.id, scope=scope_name + ) + elif uploaded_track_count != track_count: + bad_tracks = uploaded_track_count - track_count + msg = _( + "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) " + "could not be loaded." + ).format(num=track_count, playlist_name=playlist.name, num_bad=bad_tracks) + else: + msg = _("Added {num} tracks from the {playlist_name} playlist.").format( + num=track_count, playlist_name=playlist.name + ) + embed3 = discord.Embed( + colour=await ctx.embed_colour(), title=_("Playlist Saved"), description=msg + ) + await playlist_msg.edit(embed=embed3) + database_entries = [] + time_now = str(datetime.datetime.now(datetime.timezone.utc)) + for t in track_list: + uri = t.get("info", {}).get("uri") + if uri: + t = {"loadType": "V2_COMPAT", "tracks": [t], "query": uri} + database_entries.append( + { + "query": uri, + "data": json.dumps(t), + "last_updated": time_now, + "last_fetched": time_now, + } + ) + if database_entries and HAS_SQL: + asyncio.ensure_future(self.music_cache.insert("lavalink", database_entries)) + + async def _load_v2_playlist( + self, + ctx: commands.Context, + uploaded_track_list, + player: lavalink.player_manager.Player, + playlist_url: str, + uploaded_playlist_name: str, + scope: str, + author: Union[discord.User, discord.Member], + guild: Union[discord.Guild], + ): + track_list = [] + track_count = 0 + successfull_count = 0 + uploaded_track_count = len(uploaded_track_list) + + embed1 = discord.Embed( + colour=await ctx.embed_colour(), title=_("Please wait, adding tracks...") + ) + playlist_msg = await ctx.send(embed=embed1) + notifier = Notifier(ctx, playlist_msg, {"playlist": _("Loading track {num}/{total}...")}) + for song_url in uploaded_track_list: + track_count += 1 + try: + result, called_api = await self.music_cache.lavalink_query( + ctx, player, dataclasses.Query.process_input(song_url) + ) + track = result.tracks + except Exception: + continue + try: + track_obj = track_creator(player, other_track=track[0]) + track_list.append(track_obj) + successfull_count += 1 + except Exception: + continue + if (track_count % 2 == 0) or (track_count == len(uploaded_track_list)): + await notifier.notify_user( + current=track_count, total=len(uploaded_track_list), key="playlist" + ) + + playlist = await create_playlist( + ctx, scope, uploaded_playlist_name, playlist_url, track_list, author, guild + ) + scope_name = humanize_scope( + scope, ctx=guild if scope == PlaylistScope.GUILD.value else author + ) + if not successfull_count: + msg = _("Empty playlist {name} (`{id}`) [**{scope}**] created.").format( + name=playlist.name, id=playlist.id, scope=scope_name + ) + elif uploaded_track_count != successfull_count: + bad_tracks = uploaded_track_count - successfull_count + msg = _( + "Added {num} tracks from the {playlist_name} playlist. {num_bad} track(s) " + "could not be loaded." + ).format(num=successfull_count, playlist_name=playlist.name, num_bad=bad_tracks) + else: + msg = _("Added {num} tracks from the {playlist_name} playlist.").format( + num=successfull_count, playlist_name=playlist.name + ) + embed3 = discord.Embed( + colour=await ctx.embed_colour(), title=_("Playlist Saved"), description=msg + ) + await playlist_msg.edit(embed=embed3) + + async def _maybe_update_playlist( + self, ctx: commands.Context, player: lavalink.player_manager.Player, playlist: Playlist + ) -> Tuple[List[lavalink.Track], List[lavalink.Track], Playlist]: + if playlist.url is None: + return [], [], playlist + results = {} + updated_tracks = await self._playlist_tracks( + ctx, player, dataclasses.Query.process_input(playlist.url) + ) + if not updated_tracks: + # No Tracks available on url Lets set it to none to avoid repeated calls here + results["url"] = None + if updated_tracks: # Tracks have been updated + results["tracks"] = updated_tracks + + old_tracks = playlist.tracks_obj + new_tracks = [lavalink.Track(data=track) for track in updated_tracks] + removed = list(set(old_tracks) - set(new_tracks)) + added = list(set(new_tracks) - set(old_tracks)) + if removed or added: + await playlist.edit(results) + + return added, removed, playlist + + async def _playlist_check(self, ctx: commands.Context): if not self._player_check(ctx): if self._connection_aborted: msg = _("Connection to Lavalink has failed.") @@ -2520,7 +5080,7 @@ class Audio(commands.Cog): if ( not ctx.author.voice.channel.permissions_for(ctx.me).connect or not ctx.author.voice.channel.permissions_for(ctx.me).move_members - and self._userlimit(ctx.author.voice.channel) + and userlimit(ctx.author.voice.channel) ): await self._embed_msg( ctx, _("I don't have permission to connect to your channel.") @@ -2548,22 +5108,20 @@ class Audio(commands.Cog): ctx, _("You must be in the voice channel to use the playlist command.") ) return False - if not await self._currency_check(ctx, jukebox_price): - return False await self._eq_check(ctx, player) await self._data_check(ctx) return True - async def _playlist_tracks(self, ctx, player, query): - search = False + async def _playlist_tracks( + self, + ctx: commands.Context, + player: lavalink.player_manager.Player, + query: dataclasses.Query, + ): + search = query.is_search tracklist = [] - if type(query) is tuple: - query = " ".join(query) - if "open.spotify.com" in query: - query = "spotify:{}".format( - re.sub("(http[s]?:\/\/)?(open.spotify.com)\/", "", query).replace("/", ":") - ) - if query.startswith("spotify:"): + + if query.is_spotify: try: if self.play_lock[ctx.message.guild.id]: return await self._embed_msg( @@ -2575,36 +5133,36 @@ class Audio(commands.Cog): if not tracks: return await self._embed_msg(ctx, _("Nothing found.")) for track in tracks: - track_obj = self._track_creator(player, other_track=track) + track_obj = track_creator(player, other_track=track) tracklist.append(track_obj) self._play_lock(ctx, False) - elif not query.startswith("http"): - query = "ytsearch:{}".format(query) - search = True - tracks = await player.get_tracks(query) + elif query.is_search: + result, called_api = await self.music_cache.lavalink_query(ctx, player, query) + tracks = result.tracks if not tracks: return await self._embed_msg(ctx, _("Nothing found.")) else: - tracks = await player.get_tracks(query) + result, called_api = await self.music_cache.lavalink_query(ctx, player, query) + tracks = result.tracks + if not search and len(tracklist) == 0: for track in tracks: - track_obj = self._track_creator(player, other_track=track) + track_obj = track_creator(player, other_track=track) tracklist.append(track_obj) elif len(tracklist) == 0: - track_obj = self._track_creator(player, other_track=tracks[0]) + track_obj = track_creator(player, other_track=tracks[0]) tracklist.append(track_obj) return tracklist @commands.command() @commands.guild_only() @commands.bot_has_permissions(embed_links=True) - async def prev(self, ctx): + async def prev(self, ctx: commands.Context): """Skip to the start of the previously played track.""" if not self._player_check(ctx): return await self._embed_msg(ctx, _("Nothing playing.")) dj_enabled = await self.config.guild(ctx.guild).dj_enabled() player = lavalink.get_player(ctx.guild.id) - shuffle = await self.config.guild(ctx.guild).shuffle() if dj_enabled: if not await self._can_instaskip(ctx, ctx.author) and not await self._is_alone( ctx, ctx.author @@ -2616,22 +5174,26 @@ class Audio(commands.Cog): return await self._embed_msg( ctx, _("You must be in the voice channel to skip the music.") ) - if shuffle: - return await self._embed_msg(ctx, _("Turn shuffle off to use this command.")) if player.fetch("prev_song") is None: return await self._embed_msg(ctx, _("No previous track.")) else: - last_track = await player.get_tracks(player.fetch("prev_song")) - player.add(player.fetch("prev_requester"), last_track[0]) + track = player.fetch("prev_song") + player.add(player.fetch("prev_requester"), track) + self.bot.dispatch("red_audio_track_enqueue", player.channel.guild, track, ctx.author) queue_len = len(player.queue) bump_song = player.queue[-1] player.queue.insert(0, bump_song) player.queue.pop(queue_len) await player.skip() - if "localtracks/" in player.current.uri: - description = "**{}**\n{}".format( - player.current.title, player.current.uri.replace("localtracks/", "") - ) + if any( + x in player.current.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] + ): + query = dataclasses.Query.process_input(player.current.uri) + if player.current.title == "Unknown title": + description = "{}".format(query.track.to_string_hidden()) + else: + song = bold("{} - {}").format(player.current.author, player.current.title) + description = "{}\n{}".format(song, query.track.to_string_hidden()) else: description = f"**[{player.current.title}]({player.current.uri})**" embed = discord.Embed( @@ -2644,7 +5206,7 @@ class Audio(commands.Cog): @commands.group(invoke_without_command=True) @commands.guild_only() @commands.bot_has_permissions(embed_links=True, add_reactions=True) - async def queue(self, ctx, *, page: int = 1): + async def queue(self, ctx: commands.Context, *, page: int = 1): """List the songs in the queue.""" async def _queue_menu( @@ -2658,34 +5220,104 @@ class Audio(commands.Cog): ): if message: await ctx.send_help(self.queue) - await message.delete() + with contextlib.suppress(discord.HTTPException): + await message.delete() return None - QUEUE_CONTROLS = {"⬅": prev_page, "❌": close_menu, "➡": next_page, "ℹ": _queue_menu} + queue_controls = {"⬅": prev_page, "❌": close_menu, "➡": next_page, "ℹ": _queue_menu} if not self._player_check(ctx): return await self._embed_msg(ctx, _("There's nothing in the queue.")) player = lavalink.get_player(ctx.guild.id) if not player.queue: - return await self._embed_msg(ctx, _("There's nothing in the queue.")) - len_queue_pages = math.ceil(len(player.queue) / 10) - queue_page_list = [] - for page_num in range(1, len_queue_pages + 1): - embed = await self._build_queue_page(ctx, player, page_num) - queue_page_list.append(embed) - if page > len_queue_pages: - page = len_queue_pages - await menu(ctx, queue_page_list, QUEUE_CONTROLS, page=(page - 1)) + if player.current: + arrow = await draw_time(ctx) + pos = lavalink.utils.format_time(player.position) + if player.current.is_stream: + dur = "LIVE" + else: + dur = lavalink.utils.format_time(player.current.length) + if any( + x in player.current.uri + for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] + ): + if player.current.title != "Unknown title": + song = "**{track.author} - {track.title}**\n{uri}\n" + else: + song = "{uri}\n" + else: + song = "**[{track.title}]({track.uri})**\n" + song += _("Requested by: **{track.requester}**") + song += "\n\n{arrow}`{pos}`/`{dur}`" + song = song.format( + track=player.current, + uri=dataclasses.LocalPath(player.current.uri).to_string_hidden() + if any( + x in player.current.uri + for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] + ) + else player.current.uri, + arrow=arrow, + pos=pos, + dur=dur, + ) - async def _build_queue_page(self, ctx, player, page_num): + embed = discord.Embed( + colour=await ctx.embed_colour(), title=_("Now Playing"), description=song + ) + if await self.config.guild(ctx.guild).thumbnail() and player.current: + if player.current.thumbnail: + embed.set_thumbnail(url=player.current.thumbnail) + + shuffle = await self.config.guild(ctx.guild).shuffle() + repeat = await self.config.guild(ctx.guild).repeat() + autoplay = await self.config.guild(ctx.guild).auto_play() or self.owns_autoplay + text = "" + text += ( + _("Auto-Play") + + ": " + + ("\N{WHITE HEAVY CHECK MARK}" if autoplay else "\N{CROSS MARK}") + ) + text += ( + (" | " if text else "") + + _("Shuffle") + + ": " + + ("\N{WHITE HEAVY CHECK MARK}" if shuffle else "\N{CROSS MARK}") + ) + text += ( + (" | " if text else "") + + _("Repeat") + + ": " + + ("\N{WHITE HEAVY CHECK MARK}" if repeat else "\N{CROSS MARK}") + ) + embed.set_footer(text=text) + + return await ctx.send(embed=embed) + return await self._embed_msg(ctx, _("There's nothing in the queue.")) + + async with ctx.typing(): + len_queue_pages = math.ceil(len(player.queue) / 10) + queue_page_list = [] + for page_num in range(1, len_queue_pages + 1): + embed = await self._build_queue_page(ctx, player, page_num) + queue_page_list.append(embed) + if page > len_queue_pages: + page = len_queue_pages + return await menu(ctx, queue_page_list, queue_controls, page=(page - 1)) + + async def _build_queue_page( + self, ctx: commands.Context, player: lavalink.player_manager.Player, page_num + ): shuffle = await self.config.guild(ctx.guild).shuffle() repeat = await self.config.guild(ctx.guild).repeat() + autoplay = await self.config.guild(ctx.guild).auto_play() or self.owns_autoplay + queue_num_pages = math.ceil(len(player.queue) / 10) queue_idx_start = (page_num - 1) * 10 queue_idx_end = queue_idx_start + 10 queue_list = "" try: - arrow = await self._draw_time(ctx) + arrow = await draw_time(ctx) except AttributeError: return await self._embed_msg(ctx, _("There's nothing in the queue.")) pos = lavalink.utils.format_time(player.position) @@ -2696,15 +5328,20 @@ class Audio(commands.Cog): dur = lavalink.utils.format_time(player.current.length) if player.current.is_stream: - queue_list += _("**Currently livestreaming:**") + queue_list += _("**Currently livestreaming:**\n") + queue_list += "**[{current.title}]({current.uri})**\n".format(current=player.current) + queue_list += _("Requested by: **{user}**").format(user=player.current.requester) + queue_list += f"\n\n{arrow}`{pos}`/`{dur}`\n\n" - elif "localtracks" in player.current.uri: - if not player.current.title == "Unknown title": + elif any( + x in player.current.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] + ): + if player.current.title != "Unknown title": queue_list += "\n".join( ( _("Playing: ") + "**{current.author} - {current.title}**".format(current=player.current), - player.current.uri.replace("localtracks/", ""), + dataclasses.LocalPath(player.current.uri).to_string_hidden(), _("Requested by: **{user}**\n").format(user=player.current.requester), f"{arrow}`{pos}`/`{dur}`\n\n", ) @@ -2712,7 +5349,8 @@ class Audio(commands.Cog): else: queue_list += "\n".join( ( - _("Playing: ") + player.current.uri.replace("localtracks/", ""), + _("Playing: ") + + dataclasses.LocalPath(player.current.uri).to_string_hidden(), _("Requested by: **{user}**\n").format(user=player.current.requester), f"{arrow}`{pos}`/`{dur}`\n\n", ) @@ -2733,11 +5371,11 @@ class Audio(commands.Cog): track_title = track.title req_user = track.requester track_idx = i + 1 - if "localtracks" in track.uri: + if any(x in track.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"]): if track.title == "Unknown title": queue_list += f"`{track_idx}.` " + ", ".join( ( - bold(track.uri.replace("localtracks/", "")), + bold(dataclasses.LocalPath(track.uri).to_string_hidden()), _("requested by **{user}**\n").format(user=req_user), ) ) @@ -2756,31 +5394,47 @@ class Audio(commands.Cog): ) if await self.config.guild(ctx.guild).thumbnail() and player.current.thumbnail: embed.set_thumbnail(url=player.current.thumbnail) - queue_duration = await self._queue_duration(ctx) - queue_total_duration = lavalink.utils.format_time(queue_duration) + queue_dur = await queue_duration(ctx) + queue_total_duration = lavalink.utils.format_time(queue_dur) text = _( - "Page {page_num}/{total_pages} | {num_tracks} tracks, {num_remaining} remaining" + "Page {page_num}/{total_pages} | {num_tracks} " + "tracks, {num_remaining} remaining | \n\n" ).format( page_num=page_num, total_pages=queue_num_pages, num_tracks=len(player.queue) + 1, num_remaining=queue_total_duration, ) - if repeat: - text += " | " + _("Repeat") + ": \N{WHITE HEAVY CHECK MARK}" - if shuffle: - text += " | " + _("Shuffle") + ": \N{WHITE HEAVY CHECK MARK}" + text += ( + _("Auto-Play") + + ": " + + ("\N{WHITE HEAVY CHECK MARK}" if autoplay else "\N{CROSS MARK}") + ) + text += ( + (" | " if text else "") + + _("Shuffle") + + ": " + + ("\N{WHITE HEAVY CHECK MARK}" if shuffle else "\N{CROSS MARK}") + ) + text += ( + (" | " if text else "") + + _("Repeat") + + ": " + + ("\N{WHITE HEAVY CHECK MARK}" if repeat else "\N{CROSS MARK}") + ) embed.set_footer(text=text) return embed - async def _build_queue_search_list(self, queue_list, search_words): + @staticmethod + async def _build_queue_search_list(queue_list, search_words): track_list = [] queue_idx = 0 for track in queue_list: queue_idx = queue_idx + 1 - if not self._match_url(track.uri): + if not match_url(track.uri): + query = dataclasses.Query.process_input(track) if track.title == "Unknown title": - track_title = track.uri.split("/")[2] + track_title = query.track.to_string_hidden() else: track_title = "{} - {}".format(track.author, track.title) else: @@ -2796,20 +5450,18 @@ class Audio(commands.Cog): search_list.append([queue_position, title]) return search_list - async def _build_queue_search_page(self, ctx, page_num, search_list): + @staticmethod + async def _build_queue_search_page(ctx: commands.Context, page_num, search_list): search_num_pages = math.ceil(len(search_list) / 10) search_idx_start = (page_num - 1) * 10 search_idx_end = search_idx_start + 10 track_match = "" - command = ctx.invoked_with for i, track in enumerate( search_list[search_idx_start:search_idx_end], start=search_idx_start ): - track_idx = i + 1 if type(track) is str: - local_path = await self.config.localpath() - track_location = track.replace("localtrack:{}/localtracks/".format(local_path), "") + track_location = dataclasses.LocalPath(track).to_string_hidden() track_match += "`{}.` **{}**\n".format(track_idx, track_location) else: track_match += "`{}.` **{}**\n".format(track[0], track[1]) @@ -2825,7 +5477,7 @@ class Audio(commands.Cog): @queue.command(name="clear") @commands.guild_only() - async def _queue_clear(self, ctx): + async def _queue_clear(self, ctx: commands.Context): """Clears the queue.""" try: player = lavalink.get_player(ctx.guild.id) @@ -2844,7 +5496,7 @@ class Audio(commands.Cog): @queue.command(name="clean") @commands.guild_only() - async def _queue_clean(self, ctx): + async def _queue_clean(self, ctx: commands.Context): """Removes songs from the queue if the requester is not in the voice channel.""" try: player = lavalink.get_player(ctx.guild.id) @@ -2873,13 +5525,44 @@ class Audio(commands.Cog): await self._embed_msg( ctx, _( - "Removed {removed_tracks} tracks queued by members outside of the voice channel." + "Removed {removed_tracks} tracks queued by members o" + "utside of the voice channel." ).format(removed_tracks=removed_tracks), ) + @queue.command(name="cleanself") + @commands.guild_only() + async def _queue_cleanself(self, ctx: commands.Context): + """Removes all tracks you requested from the queue.""" + + try: + player = lavalink.get_player(ctx.guild.id) + except KeyError: + return await self._embed_msg(ctx, _("There's nothing in the queue.")) + if not self._player_check(ctx) or not player.queue: + return await self._embed_msg(ctx, _("There's nothing in the queue.")) + + clean_tracks = [] + removed_tracks = 0 + for track in player.queue: + if track.requester != ctx.author: + clean_tracks.append(track) + else: + removed_tracks += 1 + player.queue = clean_tracks + if removed_tracks == 0: + await self._embed_msg(ctx, _("Removed 0 tracks.")) + else: + await self._embed_msg( + ctx, + _("Removed {removed_tracks} tracks queued by {member.display_name}.").format( + removed_tracks=removed_tracks, member=ctx.author + ), + ) + @queue.command(name="search") @commands.guild_only() - async def _queue_search(self, ctx, *, search_words: str): + async def _queue_search(self, ctx: commands.Context, *, search_words: str): """Search the queue.""" try: player = lavalink.get_player(ctx.guild.id) @@ -2899,10 +5582,49 @@ class Audio(commands.Cog): search_page_list.append(embed) await menu(ctx, search_page_list, DEFAULT_CONTROLS) + @queue.command(name="shuffle") + @commands.guild_only() + async def _queue_shuffle(self, ctx: commands.Context): + """Shuffles the queue.""" + dj_enabled = await self.config.guild(ctx.guild).dj_enabled() + if dj_enabled: + if not await self._can_instaskip(ctx, ctx.author) and not await self._is_alone( + ctx, ctx.author + ): + return await self._embed_msg(ctx, _("You need the DJ role to clean the queue.")) + if not self._player_check(ctx): + return await self._embed_msg(ctx, _("There's nothing in the queue.")) + try: + if ( + not ctx.author.voice.channel.permissions_for(ctx.me).connect + or not ctx.author.voice.channel.permissions_for(ctx.me).move_members + and userlimit(ctx.author.voice.channel) + ): + return await self._embed_msg( + ctx, _("I don't have permission to connect to your channel.") + ) + await lavalink.connect(ctx.author.voice.channel) + player = lavalink.get_player(ctx.guild.id) + player.store("connect", datetime.datetime.utcnow()) + except AttributeError: + return await self._embed_msg(ctx, _("Connect to a voice channel first.")) + except IndexError: + return await self._embed_msg( + ctx, _("Connection to Lavalink has not yet been established.") + ) + except KeyError: + return await self._embed_msg(ctx, _("There's nothing in the queue.")) + + if not self._player_check(ctx) or not player.queue: + return await self._embed_msg(ctx, _("There's nothing in the queue.")) + + player.force_shuffle(0) + return await self._embed_msg(ctx, _("Queue has been shuffled.")) + @commands.command() @commands.guild_only() @commands.bot_has_permissions(embed_links=True) - async def repeat(self, ctx): + async def repeat(self, ctx: commands.Context): """Toggle repeat.""" dj_enabled = await self.config.guild(ctx.guild).dj_enabled() if dj_enabled: @@ -2920,18 +5642,28 @@ class Audio(commands.Cog): ctx, _("You must be in the voice channel to toggle repeat.") ) + autoplay = await self.config.guild(ctx.guild).auto_play() repeat = await self.config.guild(ctx.guild).repeat() - await self.config.guild(ctx.guild).repeat.set(not repeat) - await self._embed_msg( - ctx, _("Repeat tracks: {true_or_false}.").format(true_or_false=not repeat) + msg = "" + msg += _("Repeat tracks: {true_or_false}.").format( + true_or_false=_("Enabled") if not repeat else _("Disabled") ) + await self.config.guild(ctx.guild).repeat.set(not repeat) + if repeat is not True and autoplay is True: + msg += _("\nAuto-play has been disabled.") + await self.config.guild(ctx.guild).auto_play.set(False) + + embed = discord.Embed( + title=_("Repeat settings changed"), description=msg, colour=await ctx.embed_colour() + ) + await ctx.send(embed=embed) if self._player_check(ctx): await self._data_check(ctx) @commands.command() @commands.guild_only() @commands.bot_has_permissions(embed_links=True) - async def remove(self, ctx, index: int): + async def remove(self, ctx: commands.Context, index: int): """Remove a specific track number from the queue.""" dj_enabled = await self.config.guild(ctx.guild).dj_enabled() if not self._player_check(ctx): @@ -2954,11 +5686,12 @@ class Audio(commands.Cog): ) index -= 1 removed = player.queue.pop(index) - if "localtracks/" in removed.uri: + if any(x in removed.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"]): + local_path = dataclasses.LocalPath(removed.uri).to_string_hidden() if removed.title == "Unknown title": - removed_title = removed.uri.replace("localtracks/", "") + removed_title = local_path else: - removed_title = "{} - {}".format(removed.author, removed.title) + removed_title = "{} - {}\n{}".format(removed.author, removed.title, local_path) else: removed_title = removed.title await self._embed_msg( @@ -2968,7 +5701,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() @commands.bot_has_permissions(embed_links=True, add_reactions=True) - async def search(self, ctx, *, query): + async def search(self, ctx: commands.Context, *, query: str): """Pick a track with a search. Use `[p]search list ` to queue all tracks found @@ -2987,10 +5720,11 @@ class Audio(commands.Cog): ): if message: await self._search_button_action(ctx, tracks, emoji, page) - await message.delete() + with contextlib.suppress(discord.HTTPException): + await message.delete() return None - SEARCH_CONTROLS = { + search_controls = { "1⃣": _search_menu, "2⃣": _search_menu, "3⃣": _search_menu, @@ -3011,7 +5745,7 @@ class Audio(commands.Cog): if ( not ctx.author.voice.channel.permissions_for(ctx.me).connect or not ctx.author.voice.channel.permissions_for(ctx.me).move_members - and self._userlimit(ctx.author.voice.channel) + and userlimit(ctx.author.voice.channel) ): return await self._embed_msg( ctx, _("I don't have permission to connect to your channel.") @@ -3039,31 +5773,56 @@ class Audio(commands.Cog): await self._data_check(ctx) if not isinstance(query, list): - query = query.strip("<>") - if query.startswith("list ") or query.startswith("folder:"): - if query.startswith("list "): - query = "ytsearch:{}".format(query.replace("list ", "")) - tracks = await player.get_tracks(query) + query = dataclasses.Query.process_input(query) + if query.invoked_from == "search list" or query.invoked_from == "local folder": + if query.invoked_from == "search list": + result, called_api = await self.music_cache.lavalink_query(ctx, player, query) + tracks = result.tracks else: - query = query.replace("folder:", "") tracks = await self._folder_tracks(ctx, player, query) if not tracks: - return await self._embed_msg(ctx, _("Nothing found.")) - - queue_duration = await self._queue_duration(ctx) - queue_total_duration = lavalink.utils.format_time(queue_duration) + embed = discord.Embed( + title=_("Nothing found."), colour=await ctx.embed_colour() + ) + if await self.config.use_external_lavalink() and query.is_local: + embed.description = _( + "Local tracks will not work " + "if the `Lavalink.jar` cannot see the track.\n" + "This may be due to permissions or because Lavalink.jar is being run " + "in a different machine than the local tracks." + ) + return await ctx.send(embed=embed) + queue_dur = await queue_duration(ctx) + queue_total_duration = lavalink.utils.format_time(queue_dur) track_len = 0 + empty_queue = not player.queue for track in tracks: - if guild_data["maxlength"] > 0: - if self._track_limit(ctx, track, guild_data["maxlength"]): + if not await is_allowed( + ctx.guild, + ( + f"{track.title} {track.author} {track.uri} " + f"{str(dataclasses.Query.process_input(track))}" + ), + ): + log.debug(f"Query is not allowed in {ctx.guild} ({ctx.guild.id})") + continue + elif guild_data["maxlength"] > 0: + if track_limit(track, guild_data["maxlength"]): track_len += 1 player.add(ctx.author, track) + self.bot.dispatch( + "red_audio_track_enqueue", player.channel.guild, track, ctx.author + ) else: track_len += 1 player.add(ctx.author, track) + self.bot.dispatch( + "red_audio_track_enqueue", player.channel.guild, track, ctx.author + ) if not player.current: await player.play() + player.maybe_shuffle(0 if empty_queue else 1) if len(tracks) > track_len: maxlength_msg = " {bad_tracks} tracks cannot be queued.".format( bad_tracks=(len(tracks) - track_len) @@ -3076,33 +5835,33 @@ class Audio(commands.Cog): num=track_len, maxlength_msg=maxlength_msg ), ) - if not guild_data["shuffle"] and queue_duration > 0: + if not guild_data["shuffle"] and queue_dur > 0: songembed.set_footer( text=_( "{time} until start of search playback: starts at #{position} in queue" ).format(time=queue_total_duration, position=len(player.queue) + 1) ) return await ctx.send(embed=songembed) - elif query.startswith("sc "): - query = "scsearch:{}".format(query.replace("sc ", "")) - tracks = await player.get_tracks(query) - elif ":localtrack:" in query: - track_location = query.split(":")[2] - tracks = await self._folder_list(ctx, track_location) - elif query.startswith("localfolder:") and ":localtrack:" not in query: - folder = query.split(":")[1] + elif query.is_local and query.single_track: + tracks = await self._folder_list(ctx, query) + elif query.is_local and query.is_album: if ctx.invoked_with == "folder": - localfolder = query.replace("localfolder:", "") - return await self._local_play_all(ctx, localfolder) + return await self._local_play_all(ctx, query, from_search=True) else: - tracks = await self._folder_list(ctx, folder) - elif not self._match_url(query): - query = "ytsearch:{}".format(query) - tracks = await player.get_tracks(query) + tracks = await self._folder_list(ctx, query) else: - tracks = await player.get_tracks(query) + result, called_api = await self.music_cache.lavalink_query(ctx, player, query) + tracks = result.tracks if not tracks: - return await self._embed_msg(ctx, _("Nothing found.")) + embed = discord.Embed(title=_("Nothing found."), colour=await ctx.embed_colour()) + if await self.config.use_external_lavalink() and query.is_local: + embed.description = _( + "Local tracks will not work " + "if the `Lavalink.jar` cannot see the track.\n" + "This may be due to permissions or because Lavalink.jar is being run " + "in a different machine than the local tracks." + ) + return await ctx.send(embed=embed) else: tracks = query @@ -3117,9 +5876,9 @@ class Audio(commands.Cog): if not await self._can_instaskip(ctx, ctx.author): return await menu(ctx, search_page_list, DEFAULT_CONTROLS) - await menu(ctx, search_page_list, SEARCH_CONTROLS) + await menu(ctx, search_page_list, search_controls) - async def _search_button_action(self, ctx, tracks, emoji, page): + async def _search_button_action(self, ctx: commands.Context, tracks, emoji, page): if not self._player_check(ctx): if self._connection_aborted: msg = _("Connection to Lavalink has failed.") @@ -3138,81 +5897,98 @@ class Audio(commands.Cog): ) player = lavalink.get_player(ctx.guild.id) guild_data = await self.config.guild(ctx.guild).all() - command = ctx.invoked_with if not await self._currency_check(ctx, guild_data["jukebox_price"]): return try: if emoji == "1⃣": search_choice = tracks[0 + (page * 5)] - if emoji == "2⃣": + elif emoji == "2⃣": search_choice = tracks[1 + (page * 5)] - if emoji == "3⃣": + elif emoji == "3⃣": search_choice = tracks[2 + (page * 5)] - if emoji == "4⃣": + elif emoji == "4⃣": search_choice = tracks[3 + (page * 5)] - if emoji == "5⃣": + elif emoji == "5⃣": search_choice = tracks[4 + (page * 5)] + else: + search_choice = tracks[0 + (page * 5)] + # TODO: verify this does not break exit and arrows except IndexError: search_choice = tracks[-1] try: - if "localtracks" in search_choice.uri: - if search_choice.title == "Unknown title": + if any( + x in search_choice.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] + ): + + localtrack = dataclasses.LocalPath(search_choice.uri) + if search_choice.title != "Unknown title": description = "**{} - {}**\n{}".format( - search_choice.author, - search_choice.title, - search_choice.uri.replace("localtracks/", ""), + search_choice.author, search_choice.title, localtrack.to_string_hidden() ) else: - description = "{}".format(search_choice.uri.replace("localtracks/", "")) + description = localtrack.to_string_hidden() else: description = "**[{}]({})**".format(search_choice.title, search_choice.uri) except AttributeError: - if command == "search": - # [p]local search - return await ctx.invoke(self.play, query=("localtracks/{}".format(search_choice))) - search_choice = search_choice.replace("localtrack:", "") - local_path = await self.config.localpath() - if not search_choice.startswith(local_path): - # folder display for [p]local play - return await ctx.invoke( - self.search, query=("localfolder:{}".format(search_choice)) - ) - else: - # file display for a chosen folder in the [p]local play menus - return await ctx.invoke(self.play, query=("localtrack:{}".format(search_choice))) + search_choice = dataclasses.Query.process_input(search_choice) + if search_choice.track.exists() and search_choice.track.is_dir(): + return await ctx.invoke(self.search, query=search_choice) + elif search_choice.track.exists() and search_choice.track.is_file(): + search_choice.invoked_from = "localtrack" + return await ctx.invoke(self.play, query=search_choice) embed = discord.Embed( colour=await ctx.embed_colour(), title=_("Track Enqueued"), description=description ) - queue_duration = await self._queue_duration(ctx) - queue_total_duration = lavalink.utils.format_time(queue_duration) - if not guild_data["shuffle"] and queue_duration > 0: + queue_dur = await queue_duration(ctx) + queue_total_duration = lavalink.utils.format_time(queue_dur) + if not await is_allowed( + ctx.guild, + ( + f"{search_choice.title} {search_choice.author} {search_choice.uri} " + f"{str(dataclasses.Query.process_input(search_choice))}" + ), + ): + log.debug(f"Query is not allowed in {ctx.guild} ({ctx.guild.id})") + self._play_lock(ctx, False) + return await self._embed_msg(ctx, _("This track is not allowed in this server.")) + elif guild_data["maxlength"] > 0: + + if track_limit(search_choice.length, guild_data["maxlength"]): + player.add(ctx.author, search_choice) + player.maybe_shuffle() + self.bot.dispatch( + "red_audio_track_enqueue", player.channel.guild, search_choice, ctx.author + ) + else: + return await self._embed_msg(ctx, _("Track exceeds maximum length.")) + else: + player.add(ctx.author, search_choice) + player.maybe_shuffle() + self.bot.dispatch( + "red_audio_track_enqueue", player.channel.guild, search_choice, ctx.author + ) + + if not guild_data["shuffle"] and queue_dur > 0: embed.set_footer( text=_("{time} until track playback: #{position} in queue").format( time=queue_total_duration, position=len(player.queue) + 1 ) ) - elif queue_duration > 0: - embed.set_footer(text=_("#{position} in queue").format(position=len(player.queue) + 1)) - if guild_data["maxlength"] > 0: - if self._track_limit(ctx, search_choice.length, guild_data["maxlength"]): - player.add(ctx.author, search_choice) - else: - return await self._embed_msg(ctx, _("Track exceeds maximum length.")) - else: - player.add(ctx.author, search_choice) if not player.current: await player.play() await ctx.send(embed=embed) - async def _build_search_page(self, ctx, tracks, page_num): + @staticmethod + async def _build_search_page(ctx: commands.Context, tracks, page_num): search_num_pages = math.ceil(len(tracks) / 5) search_idx_start = (page_num - 1) * 5 search_idx_end = search_idx_start + 5 search_list = "" command = ctx.invoked_with + folder = False for i, track in enumerate(tracks[search_idx_start:search_idx_end], start=search_idx_start): search_track_num = i + 1 if search_track_num > 5: @@ -3220,39 +5996,44 @@ class Audio(commands.Cog): if search_track_num == 0: search_track_num = 5 try: - if "localtracks" in track.uri: + if any(x in track.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"]): search_list += "`{0}.` **{1}**\n[{2}]\n".format( - search_track_num, track.title, track.uri.replace("localtracks/", "") + search_track_num, + track.title, + dataclasses.LocalPath(track.uri).to_string_hidden(), ) else: search_list += "`{0}.` **[{1}]({2})**\n".format( search_track_num, track.title, track.uri ) except AttributeError: - if "localtrack:" not in track and command != "search": - search_list += "`{}.` **{}**\n".format(search_track_num, track) + # query = Query.process_input(track) + track = dataclasses.Query.process_input(track) + if ( + any(x in str(track) for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"]) + and command != "search" + ): + search_list += "`{}.` **{}**\n".format( + search_track_num, track.to_string_user() + ) folder = True elif command == "search": - search_list += "`{}.` **{}**\n".format(search_track_num, track) - folder = False - else: - local_path = await self.config.localpath() search_list += "`{}.` **{}**\n".format( - search_track_num, - track.replace("localtrack:{}/localtracks/".format(local_path), ""), + search_track_num, track.to_string_user() ) - folder = False - try: - title_check = tracks[0].uri + else: + search_list += "`{}.` **{}**\n".format( + search_track_num, track.to_string_user() + ) + if hasattr(tracks[0], "uri"): title = _("Tracks Found:") footer = _("search results") - except AttributeError: - if folder: - title = _("Folders Found:") - footer = _("local folders") - else: - title = _("Files Found:") - footer = _("local tracks") + elif folder: + title = _("Folders Found:") + footer = _("local folders") + else: + title = _("Files Found:") + footer = _("local tracks") embed = discord.Embed( colour=await ctx.embed_colour(), title=title, description=search_list ) @@ -3269,31 +6050,32 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() @commands.bot_has_permissions(embed_links=True) - async def seek(self, ctx, seconds): + async def seek(self, ctx: commands.Context, seconds: Union[int, str]): """Seek ahead or behind on a track by seconds or a to a specific time. Accepts seconds or a value formatted like 00:00:00 (`hh:mm:ss`) or 00:00 (`mm:ss`).""" dj_enabled = await self.config.guild(ctx.guild).dj_enabled() vote_enabled = await self.config.guild(ctx.guild).vote_enabled() + is_alone = await self._is_alone(ctx, ctx.author) + is_requester = await self.is_requester(ctx, ctx.author) + can_skip = await self._can_instaskip(ctx, ctx.author) + if not self._player_check(ctx): return await self._embed_msg(ctx, _("Nothing playing.")) player = lavalink.get_player(ctx.guild.id) - if ( - not ctx.author.voice or ctx.author.voice.channel != player.channel - ) and not await self._can_instaskip(ctx, ctx.author): + if (not ctx.author.voice or ctx.author.voice.channel != player.channel) and not can_skip: return await self._embed_msg(ctx, _("You must be in the voice channel to use seek.")) - if dj_enabled: - if not await self._can_instaskip(ctx, ctx.author) and not await self._is_alone( - ctx, ctx.author - ): - return await self._embed_msg(ctx, _("You need the DJ role to use seek.")) - if vote_enabled: - if not await self._can_instaskip(ctx, ctx.author) and not await self._is_alone( - ctx, ctx.author - ): - return await self._embed_msg( - ctx, _("There are other people listening - vote to skip instead.") - ) + + if vote_enabled and not can_skip and not is_alone: + return await self._embed_msg( + ctx, _("There are other people listening - vote to skip instead.") + ) + + if dj_enabled and not (can_skip or is_requester) and not is_alone: + return await self._embed_msg( + ctx, _("You need the DJ role or be the track requester to use seek.") + ) + if player.current: if player.current.is_stream: return await self._embed_msg(ctx, _("Can't seek on a stream.")) @@ -3303,7 +6085,7 @@ class Audio(commands.Cog): abs_position = False except ValueError: abs_position = True - seconds = int(await self._time_convert(seconds) / 1000) + seconds = time_convert(seconds) if seconds == 0: return await self._embed_msg(ctx, _("Invalid input for the time to seek.")) if not abs_position: @@ -3335,7 +6117,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() @commands.bot_has_permissions(embed_links=True) - async def shuffle(self, ctx): + async def shuffle(self, ctx: commands.Context): """Toggle shuffle.""" dj_enabled = await self.config.guild(ctx.guild).dj_enabled() if dj_enabled: @@ -3354,7 +6136,10 @@ class Audio(commands.Cog): shuffle = await self.config.guild(ctx.guild).shuffle() await self.config.guild(ctx.guild).shuffle.set(not shuffle) await self._embed_msg( - ctx, _("Shuffle tracks: {true_or_false}.").format(true_or_false=not shuffle) + ctx, + _("Shuffle tracks: {true_or_false}.").format( + true_or_false=_("Enabled") if not shuffle else _("Disabled") + ), ) if self._player_check(ctx): await self._data_check(ctx) @@ -3362,7 +6147,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() @commands.bot_has_permissions(embed_links=True) - async def sing(self, ctx): + async def sing(self, ctx: commands.Context): """Make Red sing one of her songs.""" ids = ( "zGTkAVsrfg8", @@ -3378,7 +6163,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() @commands.bot_has_permissions(embed_links=True) - async def skip(self, ctx, skip_to_track: int = None): + async def skip(self, ctx: commands.Context, skip_to_track: int = None): """Skip to the next track, or to a given track number.""" if not self._player_check(ctx): return await self._embed_msg(ctx, _("Nothing playing.")) @@ -3389,13 +6174,29 @@ class Audio(commands.Cog): return await self._embed_msg( ctx, _("You must be in the voice channel to skip the music.") ) + if not player.current: + return await self._embed_msg(ctx, _("Nothing playing.")) dj_enabled = await self.config.guild(ctx.guild).dj_enabled() vote_enabled = await self.config.guild(ctx.guild).vote_enabled() - if dj_enabled and not vote_enabled and not await self._can_instaskip(ctx, ctx.author): - if not await self._is_alone(ctx, ctx.author): - return await self._embed_msg(ctx, _("You need the DJ role to skip tracks.")) + is_alone = await self._is_alone(ctx, ctx.author) + is_requester = await self.is_requester(ctx, ctx.author) + can_skip = await self._can_instaskip(ctx, ctx.author) + + if dj_enabled and not vote_enabled: + if not (can_skip or is_requester) and not is_alone: + return await self._embed_msg( + ctx, _("You need the DJ role or be the track requester to skip tracks.") + ) + if ( + is_requester + and not can_skip + and isinstance(skip_to_track, int) + and skip_to_track > 1 + ): + return await self._embed_msg(ctx, _("You can only skip the current track.")) + if vote_enabled: - if not await self._can_instaskip(ctx, ctx.author): + if not can_skip: if skip_to_track is not None: return await self._embed_msg( ctx, _("Can't skip to a specific track in vote mode without the DJ role.") @@ -3436,7 +6237,7 @@ class Audio(commands.Cog): else: return await self._skip_action(ctx, skip_to_track) - async def _can_instaskip(self, ctx, member): + async def _can_instaskip(self, ctx: commands.Context, member: discord.Member): dj_enabled = await self.config.guild(ctx.guild).dj_enabled() @@ -3461,7 +6262,7 @@ class Audio(commands.Cog): return False - async def _is_alone(self, ctx, member): + async def _is_alone(self, ctx: commands.Context, member: discord.Member): try: user_voice = ctx.guild.get_member(member.id).voice bot_voice = ctx.guild.get_member(self.bot.user.id).voice @@ -3481,16 +6282,28 @@ class Audio(commands.Cog): nonbots = 0 return nonbots <= 1 - async def _has_dj_role(self, ctx, member): + async def _has_dj_role(self, ctx: commands.Context, member: discord.Member): dj_role_obj = ctx.guild.get_role(await self.config.guild(ctx.guild).dj_role()) if dj_role_obj in ctx.guild.get_member(member.id).roles: return True - else: - return False + return False - async def _skip_action(self, ctx, skip_to_track: int = None): + @staticmethod + async def is_requester(ctx: commands.Context, member: discord.Member): + try: + player = lavalink.get_player(ctx.guild.id) + log.debug(f"Current requester is {player.current}") + if player.current.requester.id == member.id: + return True + return False + except Exception as e: + log.error(e) + return False + + async def _skip_action(self, ctx: commands.Context, skip_to_track: int = None): player = lavalink.get_player(ctx.guild.id) - if not player.queue: + autoplay = await self.config.guild(player.channel.guild).auto_play() or self.owns_autoplay + if not player.current or (not player.queue and not autoplay): try: pos, dur = player.position, player.current.length except AttributeError: @@ -3513,6 +6326,15 @@ class Audio(commands.Cog): ) ) return await ctx.send(embed=embed) + elif autoplay and not player.queue: + embed = discord.Embed( + colour=await ctx.embed_colour(), + title=_("Track Skipped"), + description=await get_description(player.current), + ) + await ctx.send(embed=embed) + return await player.skip() + queue_to_append = [] if skip_to_track is not None and skip_to_track != 1: if skip_to_track < 1: @@ -3528,11 +6350,6 @@ class Audio(commands.Cog): ) ), ) - elif player.shuffle: - return await self._embed_msg( - ctx, _("Can't skip to a track while shuffle is enabled.") - ) - nexttrack = player.queue[min(skip_to_track - 1, len(player.queue) - 1)] embed = discord.Embed( colour=await ctx.embed_colour(), title=_("{skip_to_track} Tracks Skipped".format(skip_to_track=skip_to_track)), @@ -3547,28 +6364,17 @@ class Audio(commands.Cog): embed = discord.Embed( colour=await ctx.embed_colour(), title=_("Track Skipped"), - description=await self._get_description(player.current), + description=await get_description(player.current), ) await ctx.send(embed=embed) - + self.bot.dispatch("red_audio_skip_track", player.channel.guild, player.current, ctx.author) await player.play() player.queue += queue_to_append - async def _get_description(self, track): - if "localtracks" in track.uri: - if not track.title == "Unknown title": - return "**{} - {}**\n{}".format( - track.author, track.title, track.uri.replace("localtracks/", "") - ) - else: - return "{}".format(track.uri.replace("localtracks/", "")) - else: - return "**[{}]({})**".format(track.title, track.uri) - @commands.command() @commands.guild_only() @commands.bot_has_permissions(embed_links=True) - async def stop(self, ctx): + async def stop(self, ctx: commands.Context): """Stop playback and clear the queue.""" dj_enabled = await self.config.guild(ctx.guild).dj_enabled() vote_enabled = await self.config.guild(ctx.guild).vote_enabled() @@ -3591,22 +6397,28 @@ class Audio(commands.Cog): if dj_enabled and not vote_enabled: if not await self._can_instaskip(ctx, ctx.author): return await self._embed_msg(ctx, _("You need the DJ role to stop the music.")) - if (player.is_playing) or (not player.is_playing and player.paused): - await self._embed_msg(ctx, _("Stopping...")) - await player.stop() + if ( + player.is_playing + or (not player.is_playing and player.paused) + or player.queue + or getattr(player.current, "extras", {}).get("autoplay") + ): eq = player.fetch("eq") if eq: await self.config.custom("EQUALIZER", ctx.guild.id).eq_bands.set(eq.bands) + player.queue = [] + player.store("playing_song", None) player.store("prev_requester", None) player.store("prev_song", None) - player.store("playing_song", None) player.store("requester", None) + await player.stop() + await self._embed_msg(ctx, _("Stopping...")) @commands.command() @commands.guild_only() - @commands.cooldown(1, 15, discord.ext.commands.BucketType.guild) + @commands.cooldown(1, 15, commands.BucketType.guild) @commands.bot_has_permissions(embed_links=True) - async def summon(self, ctx): + async def summon(self, ctx: commands.Context): """Summon the bot to a voice channel.""" dj_enabled = await self.config.guild(ctx.guild).dj_enabled() if dj_enabled: @@ -3616,7 +6428,7 @@ class Audio(commands.Cog): if ( not ctx.author.voice.channel.permissions_for(ctx.me).connect or not ctx.author.voice.channel.permissions_for(ctx.me).move_members - and self._userlimit(ctx.author.voice.channel) + and userlimit(ctx.author.voice.channel) ): return await self._embed_msg( ctx, _("I don't have permission to connect to your channel.") @@ -3640,7 +6452,7 @@ class Audio(commands.Cog): @commands.command() @commands.guild_only() @commands.bot_has_permissions(embed_links=True) - async def volume(self, ctx, vol: int = None): + async def volume(self, ctx: commands.Context, vol: int = None): """Set the volume, 1% - 150%.""" dj_enabled = await self.config.guild(ctx.guild).dj_enabled() if not vol: @@ -3688,12 +6500,12 @@ class Audio(commands.Cog): @commands.guild_only() @commands.bot_has_permissions(embed_links=True) @checks.is_owner() - async def llsetup(self, ctx): + async def llsetup(self, ctx: commands.Context): """Lavalink server configuration options.""" pass @llsetup.command() - async def external(self, ctx): + async def external(self, ctx: commands.Context): """Toggle using external lavalink servers.""" external = await self.config.use_external_lavalink() await self.config.use_external_lavalink.set(not external) @@ -3702,7 +6514,7 @@ class Audio(commands.Cog): embed = discord.Embed( colour=await ctx.embed_colour(), title=_("External lavalink server: {true_or_false}.").format( - true_or_false=not external + true_or_false=_("Enabled") if not external else _("Disabled") ), ) await ctx.send(embed=embed) @@ -3711,13 +6523,15 @@ class Audio(commands.Cog): await self._manager.shutdown() await self._embed_msg( ctx, - _("External lavalink server: {true_or_false}.").format(true_or_false=not external), + _("External lavalink server: {true_or_false}.").format( + true_or_false=_("Enabled") if not external else _("Disabled") + ), ) self._restart_connect() @llsetup.command() - async def host(self, ctx, host): + async def host(self, ctx: commands.Context, host: str): """Set the lavalink server host.""" await self.config.host.set(host) if await self._check_external(): @@ -3732,7 +6546,7 @@ class Audio(commands.Cog): self._restart_connect() @llsetup.command() - async def password(self, ctx, password): + async def password(self, ctx: commands.Context, password: str): """Set the lavalink server password.""" await self.config.password.set(str(password)) if await self._check_external(): @@ -3750,7 +6564,7 @@ class Audio(commands.Cog): self._restart_connect() @llsetup.command() - async def restport(self, ctx, rest_port: int): + async def restport(self, ctx: commands.Context, rest_port: int): """Set the lavalink REST server port.""" await self.config.rest_port.set(rest_port) if await self._check_external(): @@ -3766,7 +6580,7 @@ class Audio(commands.Cog): self._restart_connect() @llsetup.command() - async def wsport(self, ctx, ws_port: int): + async def wsport(self, ctx: commands.Context, ws_port: int): """Set the lavalink websocket server port.""" await self.config.ws_port.set(ws_port) if await self._check_external(): @@ -3781,7 +6595,8 @@ class Audio(commands.Cog): self._restart_connect() - async def _apply_gain(self, guild_id, band, gain): + @staticmethod + async def _apply_gain(guild_id: int, band, gain): const = { "op": "equalizer", "guildId": str(guild_id), @@ -3793,7 +6608,8 @@ class Audio(commands.Cog): except (KeyError, IndexError): pass - async def _apply_gains(self, guild_id, gains): + @staticmethod + async def _apply_gains(guild_id: int, gains): const = { "op": "equalizer", "guildId": str(guild_id), @@ -3805,7 +6621,7 @@ class Audio(commands.Cog): except (KeyError, IndexError): pass - async def _channel_check(self, ctx): + async def _channel_check(self, ctx: commands.Context): try: player = lavalink.get_player(ctx.guild.id) except KeyError: @@ -3853,19 +6669,11 @@ class Audio(commands.Cog): else: return False - async def _clear_react(self, message, emoji: dict = None): - try: - await message.clear_reactions() - except discord.Forbidden: - if not emoji: - return - for key in emoji.values(): - await asyncio.sleep(0.2) - await message.remove_reaction(key, self.bot.user) - except (discord.HTTPException, discord.NotFound): - return + async def _clear_react(self, message: discord.Message, emoji: dict = None): + """Non blocking version of clear_react""" + return self.bot.loop.create_task(clear_react(self.bot, message, emoji)) - async def _currency_check(self, ctx, jukebox_price: int): + async def _currency_check(self, ctx: commands.Context, jukebox_price: int): jukebox = await self.config.guild(ctx.guild).jukebox() if jukebox and not await self._can_instaskip(ctx, ctx.author): try: @@ -3883,91 +6691,71 @@ class Audio(commands.Cog): else: return True - async def _data_check(self, ctx): + async def _data_check(self, ctx: commands.Context): player = lavalink.get_player(ctx.guild.id) shuffle = await self.config.guild(ctx.guild).shuffle() repeat = await self.config.guild(ctx.guild).repeat() volume = await self.config.guild(ctx.guild).volume() - if player.repeat != repeat: - player.repeat = repeat - if player.shuffle != shuffle: - player.shuffle = shuffle + player.repeat = repeat + player.shuffle = shuffle if player.volume != volume: await player.set_volume(volume) async def disconnect_timer(self): stop_times = {} - + pause_times = {} while True: for p in lavalink.all_players(): server = p.channel.guild if [self.bot.user] == p.channel.members: - stop_times.setdefault(server.id, int(time.time())) + stop_times.setdefault(server.id, time.time()) + pause_times.setdefault(server.id, time.time()) else: stop_times.pop(server.id, None) - - for sid in stop_times.copy(): + if p.paused and server.id in pause_times: + try: + await p.pause(False) + except Exception: + log.error( + "Exception raised in Audio's emptypause_timer.", exc_info=True + ) + finally: + pause_times.pop(server.id, None) + else: + pause_times.pop(server.id, None) + servers = stop_times.copy() + servers.update(pause_times) + for sid in servers: server_obj = self.bot.get_guild(sid) - if await self.config.guild(server_obj).emptydc_enabled(): + if sid in stop_times and await self.config.guild(server_obj).emptydc_enabled(): emptydc_timer = await self.config.guild(server_obj).emptydc_timer() - if (int(time.time()) - stop_times[sid]) >= emptydc_timer: + if (time.time() - stop_times[sid]) >= emptydc_timer: stop_times.pop(sid) try: await lavalink.get_player(sid).disconnect() except Exception: - log.error( - "Exception raised in Audio's disconnect_timer.", exc_info=True - ) + log.error("Exception raised in Audio's emptydc_timer.", exc_info=True) pass - + elif ( + sid in pause_times and await self.config.guild(server_obj).emptypause_enabled() + ): + emptypause_timer = await self.config.guild(server_obj).emptypause_timer() + if (time.time() - pause_times.get(sid)) >= emptypause_timer: + try: + await lavalink.get_player(sid).pause() + except Exception: + log.error( + "Exception raised in Audio's emptypause_timer.", exc_info=True + ) await asyncio.sleep(5) @staticmethod - async def _draw_time(ctx): - player = lavalink.get_player(ctx.guild.id) - paused = player.paused - pos = player.position - dur = player.current.length - sections = 12 - loc_time = round((pos / dur) * sections) - bar = "\N{BOX DRAWINGS HEAVY HORIZONTAL}" - seek = "\N{RADIO BUTTON}" - if paused: - msg = "\N{DOUBLE VERTICAL BAR}" - else: - msg = "\N{BLACK RIGHT-POINTING TRIANGLE}" - for i in range(sections): - if i == loc_time: - msg += seek - else: - msg += bar - return msg - - @staticmethod - def _dynamic_time(time): - m, s = divmod(time, 60) - h, m = divmod(m, 60) - d, h = divmod(h, 24) - - if d > 0: - msg = "{0}d {1}h" - elif d == 0 and h > 0: - msg = "{1}h {2}m" - elif d == 0 and h == 0 and m > 0: - msg = "{2}m {3}s" - elif d == 0 and h == 0 and m == 0 and s > 0: - msg = "{3}s" - else: - msg = "" - return msg.format(d, h, m, s) - - @staticmethod - async def _embed_msg(ctx, title): + async def _embed_msg(ctx: commands.Context, title: str): embed = discord.Embed(colour=await ctx.embed_colour(), title=title) await ctx.send(embed=embed) - async def _eq_check(self, ctx, player): + async def _eq_check(self, ctx: commands.Context, player: lavalink.Player): eq = player.fetch("eq", Equalizer()) config_bands = await self.config.custom("EQUALIZER", ctx.guild.id).eq_bands() @@ -3986,7 +6774,9 @@ class Audio(commands.Cog): player.store("eq", eq) await self._apply_gains(ctx.guild.id, config_bands) - async def _eq_interact(self, ctx, player, eq, message, selected): + async def _eq_interact( + self, ctx: commands.Context, player: lavalink.Player, eq, message, selected + ): player.store("eq", eq) emoji = { "far_left": "◀", @@ -4015,72 +6805,70 @@ class Audio(commands.Cog): await self._clear_react(message, emoji) if react_emoji == "⬅": - await self._remove_react(message, react_emoji, react_user) + await remove_react(message, react_emoji, react_user) await self._eq_interact(ctx, player, eq, message, max(selected - 1, 0)) if react_emoji == "➡": - await self._remove_react(message, react_emoji, react_user) + await remove_react(message, react_emoji, react_user) await self._eq_interact(ctx, player, eq, message, min(selected + 1, 14)) if react_emoji == "🔼": - await self._remove_react(message, react_emoji, react_user) + await remove_react(message, react_emoji, react_user) _max = "{:.2f}".format(min(eq.get_gain(selected) + 0.1, 1.0)) eq.set_gain(selected, float(_max)) await self._apply_gain(ctx.guild.id, selected, _max) await self._eq_interact(ctx, player, eq, message, selected) if react_emoji == "🔽": - await self._remove_react(message, react_emoji, react_user) + await remove_react(message, react_emoji, react_user) _min = "{:.2f}".format(max(eq.get_gain(selected) - 0.1, -0.25)) eq.set_gain(selected, float(_min)) await self._apply_gain(ctx.guild.id, selected, _min) await self._eq_interact(ctx, player, eq, message, selected) if react_emoji == "⏫": - await self._remove_react(message, react_emoji, react_user) + await remove_react(message, react_emoji, react_user) _max = 1.0 eq.set_gain(selected, _max) await self._apply_gain(ctx.guild.id, selected, _max) await self._eq_interact(ctx, player, eq, message, selected) if react_emoji == "⏬": - await self._remove_react(message, react_emoji, react_user) + await remove_react(message, react_emoji, react_user) _min = -0.25 eq.set_gain(selected, _min) await self._apply_gain(ctx.guild.id, selected, _min) await self._eq_interact(ctx, player, eq, message, selected) if react_emoji == "◀": - await self._remove_react(message, react_emoji, react_user) + await remove_react(message, react_emoji, react_user) selected = 0 await self._eq_interact(ctx, player, eq, message, selected) if react_emoji == "▶": - await self._remove_react(message, react_emoji, react_user) + await remove_react(message, react_emoji, react_user) selected = 14 await self._eq_interact(ctx, player, eq, message, selected) if react_emoji == "⏺": - await self._remove_react(message, react_emoji, react_user) + await remove_react(message, react_emoji, react_user) for band in range(eq._band_count): eq.set_gain(band, 0.0) await self._apply_gains(ctx.guild.id, eq.bands) await self._eq_interact(ctx, player, eq, message, selected) if react_emoji == "ℹ": - await self._remove_react(message, react_emoji, react_user) + await remove_react(message, react_emoji, react_user) await ctx.send_help(self.eq) await self._eq_interact(ctx, player, eq, message, selected) @staticmethod - async def _eq_msg_clear(eq_message): + async def _eq_msg_clear(eq_message: discord.Message): if eq_message is not None: - try: + with contextlib.suppress(discord.HTTPException): await eq_message.delete() - except discord.errors.NotFound: - pass - async def _get_eq_reaction(self, ctx, message, emoji): + async def _get_eq_reaction(self, ctx: commands.Context, message: discord.Message, emoji): try: reaction, user = await self.bot.wait_for( "reaction_add", @@ -4095,38 +6883,7 @@ class Audio(commands.Cog): else: return reaction.emoji, user - async def _localtracks_folders(self, ctx): - if not await self._localtracks_check(ctx): - return - localtracks_folders = sorted( - ( - f - for f in os.listdir(os.getcwd() + "/localtracks/") - if not os.path.isfile(os.getcwd() + "/localtracks/" + f) - ), - key=lambda s: s.casefold(), - ) - return localtracks_folders - - @staticmethod - def _match_url(url): - try: - query_url = urlparse(url) - return all([query_url.scheme, query_url.netloc, query_url.path]) - except Exception: - return False - - @staticmethod - def _match_yt_playlist(url): - yt_list_playlist = re.compile( - r"^(https?\:\/\/)?(www\.)?(youtube\.com|youtu\.?be)" - r"(\/playlist\?).*(list=)(.*)(&|$)" - ) - if yt_list_playlist.match(url): - return True - return False - - def _play_lock(self, ctx, tf): + def _play_lock(self, ctx: commands.Context, tf): if tf: self.play_lock[ctx.message.guild.id] = True else: @@ -4143,192 +6900,10 @@ class Audio(commands.Cog): except KeyError: return False - @staticmethod - async def _queue_duration(ctx): - player = lavalink.get_player(ctx.guild.id) - duration = [] - for i in range(len(player.queue)): - if not player.queue[i].is_stream: - duration.append(player.queue[i].length) - queue_duration = sum(duration) - if not player.queue: - queue_duration = 0 - try: - if not player.current.is_stream: - remain = player.current.length - player.position - else: - remain = 0 - except AttributeError: - remain = 0 - queue_total_duration = remain + queue_duration - return queue_total_duration - - @staticmethod - async def _remove_react(message, react_emoji, react_user): - try: - await message.remove_reaction(react_emoji, react_user) - except (discord.Forbidden, discord.HTTPException, discord.NotFound): - pass - - @staticmethod - def _to_json(ctx, playlist_url, tracklist): - playlist = {"author": ctx.author.id, "playlist_url": playlist_url, "tracks": tracklist} - return playlist - - @staticmethod - def _track_creator(player, position=None, other_track=None): - if position == "np": - queued_track = player.current - elif position is None: - queued_track = other_track - else: - queued_track = player.queue[position] - track_keys = queued_track._info.keys() - track_values = queued_track._info.values() - track_id = queued_track.track_identifier - track_info = {} - for k, v in zip(track_keys, track_values): - track_info[k] = v - keys = ["track", "info"] - values = [track_id, track_info] - track_obj = {} - for key, value in zip(keys, values): - track_obj[key] = value - return track_obj - - @staticmethod - def _track_limit(ctx, track, maxlength): - try: - length = round(track.length / 1000) - except AttributeError: - length = round(track / 1000) - if length > 900000000000000: # livestreams return 9223372036854775807ms - return True - elif length >= maxlength: - return False - else: - return True - - async def _time_convert(self, length): - match = re.compile(r"(?:(\d+):)?([0-5]?[0-9]):([0-5][0-9])").match(length) - if match is not None: - hr = int(match.group(1)) if match.group(1) else 0 - mn = int(match.group(2)) if match.group(2) else 0 - sec = int(match.group(3)) if match.group(3) else 0 - pos = sec + (mn * 60) + (hr * 3600) - return pos * 1000 - else: - try: - return int(length) * 1000 - except ValueError: - return 0 - - @staticmethod - def _url_check(url): - valid_tld = [ - "youtube.com", - "youtu.be", - "soundcloud.com", - "bandcamp.com", - "vimeo.com", - "mixer.com", - "twitch.tv", - "spotify.com", - "localtracks", - ] - query_url = urlparse(url) - url_domain = ".".join(query_url.netloc.split(".")[-2:]) - if not query_url.netloc: - url_domain = ".".join(query_url.path.split("/")[0].split(".")[-2:]) - return True if url_domain in valid_tld else False - - @staticmethod - def _userlimit(channel): - if channel.user_limit == 0: - return False - if channel.user_limit < len(channel.members) + 1: - return True - else: - return False - - async def _youtube_api_search(self, yt_key, query): - params = {"q": query, "part": "id", "key": yt_key, "maxResults": 1, "type": "video"} - yt_url = "https://www.googleapis.com/youtube/v3/search" - try: - async with self.session.request("GET", yt_url, params=params) as r: - if r.status == 400: - return None - else: - search_response = await r.json() - except RuntimeError: - return None - for search_result in search_response.get("items", []): - if search_result["id"]["kind"] == "youtube#video": - return "https://www.youtube.com/watch?v={}".format(search_result["id"]["videoId"]) - - # Spotify-related methods below are originally from: https://github.com/Just-Some-Bots/MusicBot/blob/master/musicbot/spotify.py - - async def _check_token(self, token): - now = int(time.time()) - return token["expires_at"] - now < 60 - - async def _get_spotify_token(self): - if self.spotify_token and not await self._check_token(self.spotify_token): - return self.spotify_token["access_token"] - token = await self._request_token() - if token is None: - log.debug("Requested a token from Spotify, did not end up getting one.") - try: - token["expires_at"] = int(time.time()) + token["expires_in"] - except KeyError: - return - self.spotify_token = token - log.debug("Created a new access token for Spotify: {0}".format(token)) - return self.spotify_token["access_token"] - - async def _make_get(self, url, headers=None): - async with self.session.request("GET", url, headers=headers) as r: - if r.status != 200: - log.debug( - "Issue making GET request to {0}: [{1.status}] {2}".format( - url, r, await r.json() - ) - ) - return await r.json() - - async def _make_post(self, url, payload, headers=None): - async with self.session.post(url, data=payload, headers=headers) as r: - if r.status != 200: - log.debug( - "Issue making POST request to {0}: [{1.status}] {2}".format( - url, r, await r.json() - ) - ) - return await r.json() - - async def _make_spotify_req(self, url): - token = await self._get_spotify_token() - return await self._make_get(url, headers={"Authorization": "Bearer {0}".format(token)}) - - def _make_token_auth(self, client_id, client_secret): - auth_header = base64.b64encode((client_id + ":" + client_secret).encode("ascii")) - return {"Authorization": "Basic %s" % auth_header.decode("ascii")} - - async def _request_token(self): - tokens = await self.bot.get_shared_api_tokens("spotify") - self.client_id = tokens.get("client_id", "") - self.client_secret = tokens.get("client_secret", "") - payload = {"grant_type": "client_credentials"} - headers = self._make_token_auth( - self.client_id["client_id"], self.client_secret["client_secret"] - ) - r = await self._make_post( - "https://accounts.spotify.com/api/token", payload=payload, headers=headers - ) - return r - @commands.Cog.listener() - async def on_voice_state_update(self, member, before, after): + async def on_voice_state_update( + self, member: discord.Member, before: discord.VoiceState, after: discord.VoiceState + ): if after.channel != before.channel: try: self.skip_votes[before.channel.guild].remove(member.id) @@ -4337,8 +6912,9 @@ class Audio(commands.Cog): def cog_unload(self): if not self._cleaned_up: - self.bot.loop.create_task(self.session.close()) - + self.bot.dispatch("red_audio_unload", self) + self.session.detach() + self.bot.loop.create_task(self._close_database()) if self._disconnect_task: self._disconnect_task.cancel() @@ -4349,6 +6925,60 @@ class Audio(commands.Cog): self.bot.loop.create_task(lavalink.close()) if self._manager is not None: self.bot.loop.create_task(self._manager.shutdown()) + self._cleaned_up = True + @bump.error + @disconnect.error + @genre.error + @local_folder.error + @local_play.error + @local_search.error + @play.error + @prev.error + @search.error + @_playlist_append.error + @_playlist_save.error + @_playlist_update.error + @_playlist_upload.error + async def _clear_lock_on_error(self, ctx: commands.Context, error): + # TODO: Change this in a future PR + # FIXME: This seems to be consuming tracebacks and not adding them to last traceback + # which is handled by on_command_error + # Make it so that this can be used to show user friendly errors + if not isinstance( + getattr(error, "original", error), + ( + commands.CheckFailure, + commands.UserInputError, + commands.DisabledCommand, + commands.CommandOnCooldown, + ), + ): + self._play_lock(ctx, False) + await self.music_cache.run_tasks(ctx) + message = "Error in command '{}'. Check your console or logs for details.".format( + ctx.command.qualified_name + ) + await ctx.send(inline(message)) + exception_log = "Exception in command '{}'\n" "".format(ctx.command.qualified_name) + exception_log += "".join( + traceback.format_exception(type(error), error, error.__traceback__) + ) + self.bot._last_exception = exception_log + + await ctx.bot.on_command_error( + ctx, getattr(error, "original", error), unhandled_by_cog=True + ) + + async def cog_after_invoke(self, ctx: commands.Context): + await self._process_db(ctx) + + async def _process_db(self, ctx: commands.Context): + await self.music_cache.run_tasks(ctx) + + async def _close_database(self): + await self.music_cache.run_all_pending_tasks() + await self.music_cache.close() + __del__ = cog_unload diff --git a/redbot/cogs/audio/checks.py b/redbot/cogs/audio/checks.py new file mode 100644 index 000000000..d6f9e6315 --- /dev/null +++ b/redbot/cogs/audio/checks.py @@ -0,0 +1,37 @@ +from redbot.core import Config, commands + +from .apis import HAS_SQL + +_config = None + + +def _pass_config_to_checks(config: Config): + global _config + if _config is None: + _config = config + + +def roomlocked(): + """Deny the command if the bot has been room locked.""" + + async def predicate(ctx: commands.Context): + if ctx.guild is None: + return False + if await ctx.bot.is_mod(member=ctx.author): + return True + + room_id = await _config.guild(ctx.guild).room_lock() + if room_id is None or ctx.channel.id == room_id: + return True + return False + + return commands.check(predicate) + + +def can_have_caching(): + """Check to disable Caching commands if SQLite is not avaliable.""" + + async def predicate(ctx: commands.Context): + return HAS_SQL + + return commands.check(predicate) diff --git a/redbot/cogs/audio/converters.py b/redbot/cogs/audio/converters.py new file mode 100644 index 000000000..05736cf8b --- /dev/null +++ b/redbot/cogs/audio/converters.py @@ -0,0 +1,495 @@ +import argparse +import functools +from typing import Optional, Tuple, Union + +import discord + +from redbot.core import Config, commands +from redbot.core.bot import Red +from redbot.core.i18n import Translator + +from .playlists import PlaylistScope, standardize_scope + +_ = Translator("Audio", __file__) + +__all__ = [ + "ComplexScopeParser", + "PlaylistConverter", + "ScopeParser", + "LazyGreedyConverter", + "standardize_scope", + "get_lazy_converter", + "get_playlist_converter", +] + +_config = None +_bot = None + +_SCOPE_HELP = """ +Scope must be a valid version of one of the following: +​ ​ ​ ​ Global +​ ​ ​ ​ Guild +​ ​ ​ ​ User +""" +_USER_HELP = """ +Author must be a valid version of one of the following: +​ ​ ​ ​ User ID +​ ​ ​ ​ User Mention +​ ​ ​ ​ User Name#123 +""" +_GUILD_HELP = """ +Guild must be a valid version of one of the following: +​ ​ ​ ​ Guild ID +​ ​ ​ ​ Exact guild name +""" + + +def _pass_config_to_converters(config: Config, bot: Red): + global _config, _bot + if _config is None: + _config = config + if _bot is None: + _bot = bot + + +class PlaylistConverter(commands.Converter): + async def convert(self, ctx: commands.Context, arg: str) -> dict: + global_scope = await _config.custom(PlaylistScope.GLOBAL.value).all() + guild_scope = await _config.custom(PlaylistScope.GUILD.value).all() + user_scope = await _config.custom(PlaylistScope.USER.value).all() + user_matches = [ + (uid, pid, pdata) + for uid, data in user_scope.items() + for pid, pdata in data.items() + if arg == pid or arg.lower() in pdata.get("name", "").lower() + ] + guild_matches = [ + (gid, pid, pdata) + for gid, data in guild_scope.items() + for pid, pdata in data.items() + if arg == pid or arg.lower() in pdata.get("name", "").lower() + ] + global_matches = [ + (None, pid, pdata) + for pid, pdata in global_scope.items() + if arg == pid or arg.lower() in pdata.get("name", "").lower() + ] + if not user_matches and not guild_matches and not global_matches: + raise commands.BadArgument(_("Could not match '{}' to a playlist.").format(arg)) + + return { + PlaylistScope.GLOBAL.value: global_matches, + PlaylistScope.GUILD.value: guild_matches, + PlaylistScope.USER.value: user_matches, + "arg": arg, + } + + +class NoExitParser(argparse.ArgumentParser): + def error(self, message): + raise commands.BadArgument() + + +class ScopeParser(commands.Converter): + async def convert( + self, ctx: commands.Context, argument: str + ) -> Tuple[str, discord.User, Optional[discord.Guild], bool]: + target_scope: str = PlaylistScope.GUILD.value + target_user: Optional[Union[discord.Member, discord.User]] = ctx.author + target_guild: Optional[discord.Guild] = ctx.guild + specified_user = False + + argument = argument.replace("—", "--") + + command, *arguments = argument.split(" -- ") + if arguments: + argument = " -- ".join(arguments) + else: + command = None + + parser = NoExitParser(description="Playlist Scope Parsing.", add_help=False) + + parser.add_argument("--scope", nargs="*", dest="scope", default=[]) + parser.add_argument("--guild", nargs="*", dest="guild", default=[]) + parser.add_argument("--server", nargs="*", dest="guild", default=[]) + parser.add_argument("--author", nargs="*", dest="author", default=[]) + parser.add_argument("--user", nargs="*", dest="author", default=[]) + parser.add_argument("--member", nargs="*", dest="author", default=[]) + + if not command: + parser.add_argument("command", nargs="*") + + try: + vals = vars(parser.parse_args(argument.split())) + except Exception as exc: + raise commands.BadArgument() from exc + + if vals["scope"]: + scope_raw = " ".join(vals["scope"]).strip() + scope = scope_raw.upper().strip() + valid_scopes = PlaylistScope.list() + [ + "GLOBAL", + "GUILD", + "AUTHOR", + "USER", + "SERVER", + "MEMBER", + "BOT", + ] + if scope not in valid_scopes: + raise commands.ArgParserFailure("--scope", scope_raw, custom_help=_SCOPE_HELP) + target_scope = standardize_scope(scope) + elif "--scope" in argument and not vals["scope"]: + raise commands.ArgParserFailure("--scope", "Nothing", custom_help=_SCOPE_HELP) + + is_owner = await ctx.bot.is_owner(ctx.author) + guild = vals.get("guild", None) or vals.get("server", None) + if is_owner and guild: + target_guild = None + guild_raw = " ".join(guild).strip() + if guild_raw.isnumeric(): + guild_raw = int(guild_raw) + try: + target_guild = ctx.bot.get_guild(guild_raw) + except Exception: + target_guild = None + guild_raw = str(guild_raw) + if target_guild is None: + try: + target_guild = await commands.GuildConverter.convert(ctx, guild_raw) + except Exception: + target_guild = None + if target_guild is None: + try: + target_guild = await ctx.bot.fetch_guild(guild_raw) + except Exception: + target_guild = None + if target_guild is None: + raise commands.ArgParserFailure("--guild", guild_raw, custom_help=_GUILD_HELP) + elif not is_owner and (guild or any(x in argument for x in ["--guild", "--server"])): + raise commands.BadArgument("You cannot use `--guild`") + elif any(x in argument for x in ["--guild", "--server"]): + raise commands.ArgParserFailure("--guild", "Nothing", custom_help=_GUILD_HELP) + + author = vals.get("author", None) or vals.get("user", None) or vals.get("member", None) + if author: + target_user = None + user_raw = " ".join(author).strip() + if user_raw.isnumeric(): + user_raw = int(user_raw) + try: + target_user = ctx.bot.get_user(user_raw) + except Exception: + target_user = None + user_raw = str(user_raw) + if target_user is None: + member_converter = commands.MemberConverter() + user_converter = commands.UserConverter() + try: + target_user = await member_converter.convert(ctx, user_raw) + except Exception: + try: + target_user = await user_converter.convert(ctx, user_raw) + except Exception: + target_user = None + if target_user is None: + try: + target_user = await ctx.bot.fetch_user(user_raw) + except Exception: + target_user = None + if target_user is None: + raise commands.ArgParserFailure("--author", user_raw, custom_help=_USER_HELP) + else: + specified_user = True + elif any(x in argument for x in ["--author", "--user", "--member"]): + raise commands.ArgParserFailure("--scope", "Nothing", custom_help=_USER_HELP) + + return target_scope, target_user, target_guild, specified_user + + +class ComplexScopeParser(commands.Converter): + async def convert( + self, ctx: commands.Context, argument: str + ) -> Tuple[ + str, + discord.User, + Optional[discord.Guild], + bool, + str, + discord.User, + Optional[discord.Guild], + bool, + ]: + + target_scope: str = PlaylistScope.GUILD.value + target_user: Optional[Union[discord.Member, discord.User]] = ctx.author + target_guild: Optional[discord.Guild] = ctx.guild + specified_target_user = False + + source_scope: str = PlaylistScope.GUILD.value + source_user: Optional[Union[discord.Member, discord.User]] = ctx.author + source_guild: Optional[discord.Guild] = ctx.guild + specified_source_user = False + + argument = argument.replace("—", "--") + + command, *arguments = argument.split(" -- ") + if arguments: + argument = " -- ".join(arguments) + else: + command = None + + parser = NoExitParser(description="Playlist Scope Parsing.", add_help=False) + + parser.add_argument("--to-scope", nargs="*", dest="to_scope", default=[]) + parser.add_argument("--to-guild", nargs="*", dest="to_guild", default=[]) + parser.add_argument("--to-server", nargs="*", dest="to_server", default=[]) + parser.add_argument("--to-author", nargs="*", dest="to_author", default=[]) + parser.add_argument("--to-user", nargs="*", dest="to_user", default=[]) + parser.add_argument("--to-member", nargs="*", dest="to_member", default=[]) + + parser.add_argument("--from-scope", nargs="*", dest="from_scope", default=[]) + parser.add_argument("--from-guild", nargs="*", dest="from_guild", default=[]) + parser.add_argument("--from-server", nargs="*", dest="from_server", default=[]) + parser.add_argument("--from-author", nargs="*", dest="from_author", default=[]) + parser.add_argument("--from-user", nargs="*", dest="from_user", default=[]) + parser.add_argument("--from-member", nargs="*", dest="from_member", default=[]) + + if not command: + parser.add_argument("command", nargs="*") + + try: + vals = vars(parser.parse_args(argument.split())) + except Exception as exc: + raise commands.BadArgument() from exc + + is_owner = await ctx.bot.is_owner(ctx.author) + valid_scopes = PlaylistScope.list() + [ + "GLOBAL", + "GUILD", + "AUTHOR", + "USER", + "SERVER", + "MEMBER", + "BOT", + ] + + if vals["to_scope"]: + to_scope_raw = " ".join(vals["to_scope"]).strip() + to_scope = to_scope_raw.upper().strip() + if to_scope not in valid_scopes: + raise commands.ArgParserFailure( + "--to-scope", to_scope_raw, custom_help=_SCOPE_HELP + ) + target_scope = standardize_scope(to_scope) + elif "--to-scope" in argument and not vals["to_scope"]: + raise commands.ArgParserFailure("--to-scope", "Nothing", custom_help=_SCOPE_HELP) + + if vals["from_scope"]: + from_scope_raw = " ".join(vals["from_scope"]).strip() + from_scope = from_scope_raw.upper().strip() + + if from_scope not in valid_scopes: + raise commands.ArgParserFailure( + "--from-scope", from_scope_raw, custom_help=_SCOPE_HELP + ) + source_scope = standardize_scope(from_scope) + elif "--from-scope" in argument and not vals["to_scope"]: + raise commands.ArgParserFailure("--to-scope", "Nothing", custom_help=_SCOPE_HELP) + + to_guild = vals.get("to_guild", None) or vals.get("to_server", None) + if is_owner and to_guild: + target_guild = None + to_guild_raw = " ".join(to_guild).strip() + if to_guild_raw.isnumeric(): + to_guild_raw = int(to_guild_raw) + try: + target_guild = ctx.bot.get_guild(to_guild_raw) + except Exception: + target_guild = None + to_guild_raw = str(to_guild_raw) + if target_guild is None: + try: + target_guild = await commands.GuildConverter.convert(ctx, to_guild_raw) + except Exception: + target_guild = None + if target_guild is None: + try: + target_guild = await ctx.bot.fetch_guild(to_guild_raw) + except Exception: + target_guild = None + if target_guild is None: + raise commands.ArgParserFailure( + "--to-guild", to_guild_raw, custom_help=_GUILD_HELP + ) + elif not is_owner and ( + to_guild or any(x in argument for x in ["--to-guild", "--to-server"]) + ): + raise commands.BadArgument("You cannot use `--to-server`") + elif any(x in argument for x in ["--to-guild", "--to-server"]): + raise commands.ArgParserFailure("--to-server", "Nothing", custom_help=_GUILD_HELP) + + from_guild = vals.get("from_guild", None) or vals.get("from_server", None) + if is_owner and from_guild: + source_guild = None + from_guild_raw = " ".join(from_guild).strip() + if from_guild_raw.isnumeric(): + from_guild_raw = int(from_guild_raw) + try: + source_guild = ctx.bot.get_guild(from_guild_raw) + except Exception: + source_guild = None + from_guild_raw = str(from_guild_raw) + if source_guild is None: + try: + source_guild = await commands.GuildConverter.convert(ctx, from_guild_raw) + except Exception: + source_guild = None + if source_guild is None: + try: + source_guild = await ctx.bot.fetch_guild(from_guild_raw) + except Exception: + source_guild = None + if source_guild is None: + raise commands.ArgParserFailure( + "--from-guild", from_guild_raw, custom_help=_GUILD_HELP + ) + elif not is_owner and ( + from_guild or any(x in argument for x in ["--from-guild", "--from-server"]) + ): + raise commands.BadArgument("You cannot use `--from-server`") + elif any(x in argument for x in ["--from-guild", "--from-server"]): + raise commands.ArgParserFailure("--from-server", "Nothing", custom_help=_GUILD_HELP) + + to_author = ( + vals.get("to_author", None) or vals.get("to_user", None) or vals.get("to_member", None) + ) + if to_author: + target_user = None + to_user_raw = " ".join(to_author).strip() + if to_user_raw.isnumeric(): + to_user_raw = int(to_user_raw) + try: + source_user = ctx.bot.get_user(to_user_raw) + except Exception: + source_user = None + to_user_raw = str(to_user_raw) + if target_user is None: + member_converter = commands.MemberConverter() + user_converter = commands.UserConverter() + try: + target_user = await member_converter.convert(ctx, to_user_raw) + except Exception: + try: + target_user = await user_converter.convert(ctx, to_user_raw) + except Exception: + target_user = None + if target_user is None: + try: + target_user = await ctx.bot.fetch_user(to_user_raw) + except Exception: + target_user = None + if target_user is None: + raise commands.ArgParserFailure("--to-author", to_user_raw, custom_help=_USER_HELP) + else: + specified_target_user = True + elif any(x in argument for x in ["--to-author", "--to-user", "--to-member"]): + raise commands.ArgParserFailure("--to-user", "Nothing", custom_help=_USER_HELP) + + from_author = ( + vals.get("from_author", None) + or vals.get("from_user", None) + or vals.get("from_member", None) + ) + if from_author: + source_user = None + from_user_raw = " ".join(from_author).strip() + if from_user_raw.isnumeric(): + from_user_raw = int(from_user_raw) + try: + target_user = ctx.bot.get_user(from_user_raw) + except Exception: + source_user = None + from_user_raw = str(from_user_raw) + if source_user is None: + member_converter = commands.MemberConverter() + user_converter = commands.UserConverter() + try: + source_user = await member_converter.convert(ctx, from_user_raw) + except Exception: + try: + source_user = await user_converter.convert(ctx, from_user_raw) + except Exception: + source_user = None + if source_user is None: + try: + source_user = await ctx.bot.fetch_user(from_user_raw) + except Exception: + source_user = None + if source_user is None: + raise commands.ArgParserFailure( + "--from-author", from_user_raw, custom_help=_USER_HELP + ) + else: + specified_source_user = True + elif any(x in argument for x in ["--from-author", "--from-user", "--from-member"]): + raise commands.ArgParserFailure("--from-user", "Nothing", custom_help=_USER_HELP) + + return ( + source_scope, + source_user, + source_guild, + specified_source_user, + target_scope, + target_user, + target_guild, + specified_target_user, + ) + + +class LazyGreedyConverter(commands.Converter): + def __init__(self, splitter: str): + self.splitter_Value = splitter + + async def convert(self, ctx: commands.Context, argument: str) -> str: + full_message = ctx.message.content.partition(f" {argument} ") + if len(full_message) == 1: + full_message = ( + (argument if argument not in full_message else "") + " " + full_message[0] + ) + elif len(full_message) > 1: + full_message = ( + (argument if argument not in full_message else "") + " " + full_message[-1] + ) + greedy_output = (" " + full_message.replace("—", "--")).partition( + f" {self.splitter_Value}" + )[0] + return f"{greedy_output}".strip() + + +def get_lazy_converter(splitter: str) -> type: + """ + Returns a typechecking safe `LazyGreedyConverter` suitable for use with discord.py. + """ + + class PartialMeta(type(LazyGreedyConverter)): + __call__ = functools.partialmethod(type(LazyGreedyConverter).__call__, splitter) + + class ValidatedConverter(LazyGreedyConverter, metaclass=PartialMeta): + pass + + return ValidatedConverter + + +def get_playlist_converter() -> type: + """ + Returns a typechecking safe `PlaylistConverter` suitable for use with discord.py. + """ + + class PartialMeta(type(PlaylistConverter)): + __call__ = functools.partialmethod(type(PlaylistConverter).__call__) + + class ValidatedConverter(PlaylistConverter, metaclass=PartialMeta): + pass + + return ValidatedConverter diff --git a/redbot/cogs/audio/dataclasses.py b/redbot/cogs/audio/dataclasses.py new file mode 100644 index 000000000..eee695aa5 --- /dev/null +++ b/redbot/cogs/audio/dataclasses.py @@ -0,0 +1,486 @@ +import os +import re +from pathlib import Path, PosixPath, WindowsPath +from typing import List, Optional, Union +from urllib.parse import urlparse + +import lavalink + +from redbot.core import Config +from redbot.core.bot import Red +from redbot.core.i18n import Translator + +_config: Optional[Config] = None +_bot: Optional[Red] = None +_localtrack_folder: Optional[str] = None +_ = Translator("Audio", __file__) +_remove_start = re.compile(r"^(sc|list) ") +_re_youtube_timestamp = re.compile(r"&t=(\d+)s?") +_re_youtube_index = re.compile(r"&index=(\d+)") +_re_spotify_url = re.compile(r"(http[s]?://)?(open.spotify.com)/") +_re_spotify_timestamp = re.compile(r"#(\d+):(\d+)") +_re_soundcloud_timestamp = re.compile(r"#t=(\d+):(\d+)s?") +_re_twitch_timestamp = re.compile(r"\?t=(\d+)h(\d+)m(\d+)s") + + +def _pass_config_to_dataclasses(config: Config, bot: Red, folder: str): + global _config, _bot, _localtrack_folder + if _config is None: + _config = config + if _bot is None: + _bot = bot + _localtrack_folder = folder + + +class ChdirClean(object): + def __init__(self, directory): + self.old_dir = os.getcwd() + self.new_dir = directory + self.cwd = None + + def __enter__(self): + return self + + def __exit__(self, _type, value, traceback): + self.chdir_out() + return isinstance(value, OSError) + + def chdir_in(self): + self.cwd = Path(self.new_dir) + os.chdir(self.new_dir) + + def chdir_out(self): + self.cwd = Path(self.old_dir) + os.chdir(self.old_dir) + + +class LocalPath(ChdirClean): + """ + Local tracks class. + Used to handle system dir trees in a cross system manner. + The only use of this class is for `localtracks`. + """ + + _supported_music_ext = (".mp3", ".flac", ".ogg") + + def __init__(self, path, **kwargs): + self._path = path + if isinstance(path, (Path, WindowsPath, PosixPath, LocalPath)): + path = str(path.absolute()) + elif path is not None: + path = str(path) + + self.cwd = Path.cwd() + _lt_folder = Path(_localtrack_folder) if _localtrack_folder else self.cwd + _path = Path(path) if path else self.cwd + + if _lt_folder.parts[-1].lower() == "localtracks" and not kwargs.get("forced"): + self.localtrack_folder = _lt_folder + elif kwargs.get("forced"): + if _path.parts[-1].lower() == "localtracks": + self.localtrack_folder = _path + else: + self.localtrack_folder = _path / "localtracks" + else: + self.localtrack_folder = _lt_folder / "localtracks" + + try: + _path = Path(path) + _path.relative_to(self.localtrack_folder) + self.path = _path + except (ValueError, TypeError): + if path and path.startswith("localtracks//"): + path = path.replace("localtracks//", "", 1) + elif path and path.startswith("localtracks/"): + path = path.replace("localtracks/", "", 1) + self.path = self.localtrack_folder.joinpath(path) if path else self.localtrack_folder + + try: + if self.path.is_file(): + parent = self.path.parent + else: + parent = self.path + super().__init__(str(parent.absolute())) + + self.parent = Path(parent) + except OSError: + self.parent = None + + self.cwd = Path.cwd() + + @property + def name(self): + return str(self.path.name) + + def is_dir(self): + try: + return self.path.is_dir() + except OSError: + return False + + def exists(self): + try: + return self.path.exists() + except OSError: + return False + + def is_file(self): + try: + return self.path.is_file() + except OSError: + return False + + def absolute(self): + try: + return self.path.absolute() + except OSError: + return self._path + + @classmethod + def joinpath(cls, *args): + modified = cls(None) + modified.path = modified.path.joinpath(*args) + return modified + + def multiglob(self, *patterns): + paths = [] + for p in patterns: + paths.extend(list(self.path.glob(p))) + for p in self._filtered(paths): + yield p + + def multirglob(self, *patterns): + paths = [] + for p in patterns: + paths.extend(list(self.path.rglob(p))) + + for p in self._filtered(paths): + yield p + + def _filtered(self, paths: List[Path]): + for p in paths: + if p.suffix in self._supported_music_ext: + yield p + + def __str__(self): + return str(self.path.absolute()) + + def to_string(self): + try: + return str(self.path.absolute()) + except OSError: + return str(self._path) + + def to_string_hidden(self, arg: str = None): + string = str(self.absolute()).replace( + (str(self.localtrack_folder.absolute()) + os.sep) if arg is None else arg, "" + ) + chunked = False + while len(string) > 145 and os.sep in string: + string = string.split(os.sep, 1)[-1] + chunked = True + + if chunked: + string = f"...{os.sep}{string}" + return string + + def tracks_in_tree(self): + tracks = [] + for track in self.multirglob(*[f"*{ext}" for ext in self._supported_music_ext]): + if track.exists() and track.is_file() and track.parent != self.localtrack_folder: + tracks.append(Query.process_input(LocalPath(str(track.absolute())))) + return tracks + + def subfolders_in_tree(self): + files = list(self.multirglob(*[f"*{ext}" for ext in self._supported_music_ext])) + folders = [] + for f in files: + if f.exists() and f.parent not in folders and f.parent != self.localtrack_folder: + folders.append(f.parent) + return_folders = [] + for folder in folders: + if folder.exists() and folder.is_dir(): + return_folders.append(LocalPath(str(folder.absolute()))) + return return_folders + + def tracks_in_folder(self): + tracks = [] + for track in self.multiglob(*[f"*{ext}" for ext in self._supported_music_ext]): + if track.exists() and track.is_file() and track.parent != self.localtrack_folder: + tracks.append(Query.process_input(LocalPath(str(track.absolute())))) + return tracks + + def subfolders(self): + files = list(self.multiglob(*[f"*{ext}" for ext in self._supported_music_ext])) + folders = [] + for f in files: + if f.exists() and f.parent not in folders and f.parent != self.localtrack_folder: + folders.append(f.parent) + return_folders = [] + for folder in folders: + if folder.exists() and folder.is_dir(): + return_folders.append(LocalPath(str(folder.absolute()))) + return return_folders + + +class Query: + """ + Query data class. + Use: Query.process_input(query) to generate the Query object. + """ + + def __init__(self, query: Union[LocalPath, str], **kwargs): + query = kwargs.get("queryforced", query) + self._raw: Union[LocalPath, str] = query + + _localtrack: LocalPath = LocalPath(query) + + self.track: Union[LocalPath, str] = _localtrack if ( + (_localtrack.is_file() or _localtrack.is_dir()) and _localtrack.exists() + ) else query + + self.valid: bool = query != "InvalidQueryPlaceHolderName" + self.is_local: bool = kwargs.get("local", False) + self.is_spotify: bool = kwargs.get("spotify", False) + self.is_youtube: bool = kwargs.get("youtube", False) + self.is_soundcloud: bool = kwargs.get("soundcloud", False) + self.is_bandcamp: bool = kwargs.get("bandcamp", False) + self.is_vimeo: bool = kwargs.get("vimeo", False) + self.is_mixer: bool = kwargs.get("mixer", False) + self.is_twitch: bool = kwargs.get("twitch", False) + self.is_other: bool = kwargs.get("other", False) + self.is_playlist: bool = kwargs.get("playlist", False) + self.is_album: bool = kwargs.get("album", False) + self.is_search: bool = kwargs.get("search", False) + self.is_stream: bool = kwargs.get("stream", False) + self.single_track: bool = kwargs.get("single", False) + self.id: Optional[str] = kwargs.get("id", None) + self.invoked_from: Optional[str] = kwargs.get("invoked_from", None) + self.local_name: Optional[str] = kwargs.get("name", None) + self.search_subfolders: bool = kwargs.get("search_subfolders", False) + self.spotify_uri: Optional[str] = kwargs.get("uri", None) + + self.start_time: int = kwargs.get("start_time", 0) + self.track_index: Optional[int] = kwargs.get("track_index", None) + + if self.invoked_from == "sc search": + self.is_youtube = False + self.is_soundcloud = True + + self.lavalink_query: str = self._get_query() + + if self.is_playlist or self.is_album: + self.single_track = False + + def __str__(self): + return str(self.lavalink_query) + + @classmethod + def process_input(cls, query: Union[LocalPath, lavalink.Track, "Query", str], **kwargs): + """ + A replacement for :code:`lavalink.Player.load_tracks`. + This will try to get a valid cached entry first if not found or if in valid + it will then call the lavalink API. + + Parameters + ---------- + query : Union[Query, LocalPath, lavalink.Track, str] + The query string or LocalPath object. + Returns + ------- + Query + Returns a parsed Query object. + """ + if not query: + query = "InvalidQueryPlaceHolderName" + possible_values = dict() + + if isinstance(query, str): + query = query.strip("<>") + + elif isinstance(query, Query): + for key, val in kwargs.items(): + setattr(query, key, val) + return query + elif isinstance(query, lavalink.Track): + possible_values["stream"] = query.is_stream + query = query.uri + + possible_values.update(dict(**kwargs)) + possible_values.update(cls._parse(query, **kwargs)) + return cls(query, **possible_values) + + @staticmethod + def _parse(track, **kwargs): + returning = {} + if ( + type(track) == type(LocalPath) + and (track.is_file() or track.is_dir()) + and track.exists() + ): + returning["local"] = True + returning["name"] = track.name + if track.is_file(): + returning["single"] = True + elif track.is_dir(): + returning["album"] = True + else: + track = str(track) + if track.startswith("spotify:"): + returning["spotify"] = True + if ":playlist:" in track: + returning["playlist"] = True + elif ":album:" in track: + returning["album"] = True + elif ":track:" in track: + returning["single"] = True + _id = track.split(":", 2)[-1] + _id = _id.split("?")[0] + returning["id"] = _id + if "#" in _id: + match = re.search(_re_spotify_timestamp, track) + if match: + returning["start_time"] = (int(match.group(1)) * 60) + int(match.group(2)) + returning["uri"] = track + return returning + if track.startswith("sc ") or track.startswith("list "): + if track.startswith("sc "): + returning["invoked_from"] = "sc search" + returning["soundcloud"] = True + elif track.startswith("list "): + returning["invoked_from"] = "search list" + track = _remove_start.sub("", track, 1) + returning["queryforced"] = track + + _localtrack = LocalPath(track) + if _localtrack.exists(): + if _localtrack.is_file(): + returning["local"] = True + returning["single"] = True + returning["name"] = _localtrack.name + return returning + elif _localtrack.is_dir(): + returning["album"] = True + returning["local"] = True + returning["name"] = _localtrack.name + return returning + try: + query_url = urlparse(track) + if all([query_url.scheme, query_url.netloc, query_url.path]): + url_domain = ".".join(query_url.netloc.split(".")[-2:]) + if not query_url.netloc: + url_domain = ".".join(query_url.path.split("/")[0].split(".")[-2:]) + if url_domain in ["youtube.com", "youtu.be"]: + returning["youtube"] = True + _has_index = "&index=" in track + if "&t=" in track: + match = re.search(_re_youtube_timestamp, track) + if match: + returning["start_time"] = int(match.group(1)) + if _has_index: + match = re.search(_re_youtube_index, track) + if match: + returning["track_index"] = int(match.group(1)) - 1 + + if all(k in track for k in ["&list=", "watch?"]): + returning["track_index"] = 0 + returning["playlist"] = True + returning["single"] = False + elif all(x in track for x in ["playlist?"]): + returning["playlist"] = True if not _has_index else False + returning["single"] = True if _has_index else False + else: + returning["single"] = True + elif url_domain == "spotify.com": + returning["spotify"] = True + if "/playlist/" in track: + returning["playlist"] = True + elif "/album/" in track: + returning["album"] = True + elif "/track/" in track: + returning["single"] = True + val = re.sub(_re_spotify_url, "", track).replace("/", ":") + if "user:" in val: + val = val.split(":", 2)[-1] + _id = val.split(":", 1)[-1] + _id = _id.split("?")[0] + + if "#" in _id: + _id = _id.split("#")[0] + match = re.search(_re_spotify_timestamp, track) + if match: + returning["start_time"] = (int(match.group(1)) * 60) + int( + match.group(2) + ) + + returning["id"] = _id + returning["uri"] = f"spotify:{val}" + elif url_domain == "soundcloud.com": + returning["soundcloud"] = True + if "#t=" in track: + match = re.search(_re_soundcloud_timestamp, track) + if match: + returning["start_time"] = (int(match.group(1)) * 60) + int( + match.group(2) + ) + if "/sets/" in track: + if "?in=" in track: + returning["single"] = True + else: + returning["playlist"] = True + else: + returning["single"] = True + elif url_domain == "bandcamp.com": + returning["bandcamp"] = True + if "/album/" in track: + returning["album"] = True + else: + returning["single"] = True + elif url_domain == "vimeo.com": + returning["vimeo"] = True + elif url_domain in ["mixer.com", "beam.pro"]: + returning["mixer"] = True + elif url_domain == "twitch.tv": + returning["twitch"] = True + if "?t=" in track: + match = re.search(_re_twitch_timestamp, track) + if match: + returning["start_time"] = ( + (int(match.group(1)) * 60 * 60) + + (int(match.group(2)) * 60) + + int(match.group(3)) + ) + + if not any(x in track for x in ["/clip/", "/videos/"]): + returning["stream"] = True + else: + returning["other"] = True + returning["single"] = True + else: + if kwargs.get("soundcloud", False): + returning["soundcloud"] = True + else: + returning["youtube"] = True + returning["search"] = True + returning["single"] = True + except Exception: + returning["search"] = True + returning["youtube"] = True + returning["single"] = True + return returning + + def _get_query(self): + if self.is_local: + return self.track.to_string() + elif self.is_spotify: + return self.spotify_uri + elif self.is_search and self.is_youtube: + return f"ytsearch:{self.track}" + elif self.is_search and self.is_soundcloud: + return f"scsearch:{self.track}" + return self.track + + def to_string_user(self): + if self.is_local: + return str(self.track.to_string_hidden()) + return str(self._raw) diff --git a/redbot/cogs/audio/equalizer.py b/redbot/cogs/audio/equalizer.py index ecb98c6ab..ee3cb62fb 100644 --- a/redbot/cogs/audio/equalizer.py +++ b/redbot/cogs/audio/equalizer.py @@ -5,7 +5,7 @@ class Equalizer: def __init__(self): self._band_count = 15 - self.bands = [0.0 for x in range(self._band_count)] + self.bands = [0.0 for _ in range(self._band_count)] def set_gain(self, band: int, gain: float): if band < 0 or band >= self._band_count: @@ -27,14 +27,11 @@ class Equalizer: gains = [1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1, 0.0, -0.1, -0.2, -0.25] for gain in gains: - prefix = " " - + prefix = "" if gain > 0: prefix = "+" elif gain == 0: prefix = " " - else: - prefix = "" block += f"{prefix}{gain:.2f} | " diff --git a/redbot/cogs/audio/errors.py b/redbot/cogs/audio/errors.py index 9785a9b82..6fa72bb96 100644 --- a/redbot/cogs/audio/errors.py +++ b/redbot/cogs/audio/errors.py @@ -31,3 +31,67 @@ class LavalinkDownloadFailed(AudioError, RuntimeError): def _response_repr(self) -> str: return f"[{self.response.status} {self.response.reason}]" + + +class PlayListError(AudioError): + """Base exception for errors related to playlists.""" + + +class InvalidPlaylistScope(PlayListError): + """Provided playlist scope is not valid.""" + + +class MissingGuild(PlayListError): + """Trying to access the Guild scope without a guild.""" + + +class MissingAuthor(PlayListError): + """Trying to access the User scope without an user id.""" + + +class TooManyMatches(PlayListError): + """Too many playlist match user input.""" + + +class NotAllowed(PlayListError): + """Too many playlist match user input.""" + + +class ApiError(AudioError): + """Base exception for API errors in the Audio cog.""" + + +class SpotifyApiError(ApiError): + """Base exception for Spotify API errors.""" + + +class SpotifyFetchError(SpotifyApiError): + """Fetching Spotify data failed.""" + + def __init__(self, message, *args): + self.message = message + super().__init__(*args) + + +class YouTubeApiError(ApiError): + """Base exception for YouTube Data API errors.""" + + +class DatabaseError(AudioError): + """Base exception for database errors in the Audio cog.""" + + +class InvalidTableError(DatabaseError): + """Provided table to query is not a valid table.""" + + +class LocalTrackError(AudioError): + """Base exception for local track errors.""" + + +class InvalidLocalTrack(LocalTrackError): + """Base exception for local track errors.""" + + +class InvalidLocalTrackFolder(LocalTrackError): + """Base exception for local track errors.""" diff --git a/redbot/cogs/audio/manager.py b/redbot/cogs/audio/manager.py index 4d1b22e4d..6829240f0 100644 --- a/redbot/cogs/audio/manager.py +++ b/redbot/cogs/audio/manager.py @@ -1,14 +1,15 @@ -import itertools -import pathlib -import platform -import shutil import asyncio import asyncio.subprocess # disables for # https://github.com/PyCQA/pylint/issues/1469 +import itertools import logging +import pathlib +import platform import re +import shutil import sys import tempfile -from typing import Optional, Tuple, ClassVar, List +import time +from typing import ClassVar, List, Optional, Tuple import aiohttp from tqdm import tqdm @@ -39,7 +40,6 @@ class ServerManager: _java_available: ClassVar[Optional[bool]] = None _java_version: ClassVar[Optional[Tuple[int, int]]] = None _up_to_date: ClassVar[Optional[bool]] = None - _blacklisted_archs = [] def __init__(self) -> None: @@ -154,12 +154,15 @@ class ServerManager: async def _wait_for_launcher(self) -> None: log.debug("Waiting for Lavalink server to be ready") + lastmessage = 0 for i in itertools.cycle(range(50)): line = await self._proc.stdout.readline() if READY_LINE_RE.search(line): self.ready.set() break - if self._proc.returncode is not None: + if self._proc.returncode is not None and lastmessage + 2 < time.time(): + # Avoid Console spam only print once every 2 seconds + lastmessage = time.time() log.critical("Internal lavalink server exited early") if i == 49: # Sleep after 50 lines to prevent busylooping diff --git a/redbot/cogs/audio/playlists.py b/redbot/cogs/audio/playlists.py new file mode 100644 index 000000000..1ac62b7fd --- /dev/null +++ b/redbot/cogs/audio/playlists.py @@ -0,0 +1,428 @@ +from collections import namedtuple +from enum import Enum, unique +from typing import List, Optional, Union + +import discord +import lavalink + +from redbot.core import Config, commands +from redbot.core.bot import Red +from redbot.core.i18n import Translator +from redbot.core.utils.chat_formatting import humanize_list +from .errors import InvalidPlaylistScope, MissingAuthor, MissingGuild, NotAllowed + +_config = None +_bot = None + +__all__ = [ + "Playlist", + "PlaylistScope", + "get_playlist", + "get_all_playlist", + "create_playlist", + "reset_playlist", + "delete_playlist", + "humanize_scope", + "standardize_scope", + "FakePlaylist", +] + +FakePlaylist = namedtuple("Playlist", "author scope") + +_ = Translator("Audio", __file__) + + +@unique +class PlaylistScope(Enum): + GLOBAL = "GLOBALPLAYLIST" + GUILD = "GUILDPLAYLIST" + USER = "USERPLAYLIST" + + def __str__(self): + return "{0}".format(self.value) + + @staticmethod + def list(): + return list(map(lambda c: c.value, PlaylistScope)) + + +def _pass_config_to_playlist(config: Config, bot: Red): + global _config, _bot + if _config is None: + _config = config + if _bot is None: + _bot = bot + + +def standardize_scope(scope) -> str: + scope = scope.upper() + valid_scopes = ["GLOBAL", "GUILD", "AUTHOR", "USER", "SERVER", "MEMBER", "BOT"] + + if scope in PlaylistScope.list(): + return scope + elif scope not in valid_scopes: + raise InvalidPlaylistScope( + f'"{scope}" is not a valid playlist scope.' + f" Scope needs to be one of the following: {humanize_list(valid_scopes)}" + ) + + if scope in ["GLOBAL", "BOT"]: + scope = PlaylistScope.GLOBAL.value + elif scope in ["GUILD", "SERVER"]: + scope = PlaylistScope.GUILD.value + elif scope in ["USER", "MEMBER", "AUTHOR"]: + scope = PlaylistScope.USER.value + + return scope + + +def humanize_scope(scope, ctx=None, the=None): + + if scope == PlaylistScope.GLOBAL.value: + return ctx or _("the ") if the else "" + "Global" + elif scope == PlaylistScope.GUILD.value: + return ctx.name if ctx else _("the ") if the else "" + "Server" + elif scope == PlaylistScope.USER.value: + return str(ctx) if ctx else _("the ") if the else "" + "User" + + +def _prepare_config_scope( + scope, author: Union[discord.abc.User, int] = None, guild: discord.Guild = None +): + scope = standardize_scope(scope) + + if scope == PlaylistScope.GLOBAL.value: + config_scope = [PlaylistScope.GLOBAL.value] + elif scope == PlaylistScope.USER.value: + if author is None: + raise MissingAuthor("Invalid author for user scope.") + config_scope = [PlaylistScope.USER.value, str(getattr(author, "id", author))] + else: + if guild is None: + raise MissingGuild("Invalid guild for guild scope.") + config_scope = [PlaylistScope.GUILD.value, str(getattr(guild, "id", guild))] + return config_scope + + +class Playlist: + """A single playlist.""" + + def __init__( + self, + bot: Red, + scope: str, + author: int, + playlist_id: int, + name: str, + playlist_url: Optional[str] = None, + tracks: Optional[List[dict]] = None, + guild: Union[discord.Guild, int, None] = None, + ): + self.bot = bot + self.guild = guild + self.scope = standardize_scope(scope) + self.config_scope = _prepare_config_scope(self.scope, author, guild) + self.author = author + self.guild_id = ( + getattr(guild, "id", guild) if self.scope == PlaylistScope.GLOBAL.value else None + ) + self.id = playlist_id + self.name = name + self.url = playlist_url + self.tracks = tracks or [] + self.tracks_obj = [lavalink.Track(data=track) for track in self.tracks] + + async def edit(self, data: dict): + """ + Edits a Playlist. + Parameters + ---------- + data: dict + The attributes to change. + """ + # Disallow ID editing + if "id" in data: + raise NotAllowed("Playlist ID cannot be edited.") + + for item in list(data.keys()): + setattr(self, item, data[item]) + + await _config.custom(*self.config_scope, str(self.id)).set(self.to_json()) + + def to_json(self) -> dict: + """Transform the object to a dict. + Returns + ------- + dict + The playlist in the form of a dict. + """ + data = dict( + id=self.id, + author=self.author, + guild=self.guild_id, + name=self.name, + playlist_url=self.url, + tracks=self.tracks, + ) + + return data + + @classmethod + async def from_json(cls, bot: Red, scope: str, playlist_number: int, data: dict, **kwargs): + """Get a Playlist object from the provided information. + Parameters + ---------- + bot: Red + The bot's instance. Needed to get the target user. + scope:str + The custom config scope. One of 'GLOBALPLAYLIST', 'GUILDPLAYLIST' or 'USERPLAYLIST'. + playlist_number: int + The playlist's number. + data: dict + The JSON representation of the playlist to be gotten. + **kwargs + Extra attributes for the Playlist instance which override values + in the data dict. These should be complete objects and not + IDs, where possible. + Returns + ------- + Playlist + The playlist object for the requested playlist. + Raises + ------ + `InvalidPlaylistScope` + Passing a scope that is not supported. + `MissingGuild` + Trying to access the Guild scope without a guild. + `MissingAuthor` + Trying to access the User scope without an user id. + """ + guild = data.get("guild") or kwargs.get("guild") + author = data.get("author") + playlist_id = data.get("id") or playlist_number + name = data.get("name", "Unnamed") + playlist_url = data.get("playlist_url", None) + tracks = data.get("tracks", []) + + return cls( + bot=bot, + guild=guild, + scope=scope, + author=author, + playlist_id=playlist_id, + name=name, + playlist_url=playlist_url, + tracks=tracks, + ) + + +async def get_playlist( + playlist_number: int, + scope: str, + bot: Red, + guild: Union[discord.Guild, int] = None, + author: Union[discord.abc.User, int] = None, +) -> Playlist: + """ + Gets the playlist with the associated playlist number. + Parameters + ---------- + playlist_number: int + The playlist number for the playlist to get. + scope: str + The custom config scope. One of 'GLOBALPLAYLIST', 'GUILDPLAYLIST' or 'USERPLAYLIST'. + guild: discord.Guild + The guild to get the playlist from if scope is GUILDPLAYLIST. + author: int + The ID of the user to get the playlist from if scope is USERPLAYLIST. + bot: Red + The bot's instance. + Returns + ------- + Playlist + The playlist associated with the playlist number. + Raises + ------ + `RuntimeError` + If there is no playlist for the specified number. + `InvalidPlaylistScope` + Passing a scope that is not supported. + `MissingGuild` + Trying to access the Guild scope without a guild. + `MissingAuthor` + Trying to access the User scope without an user id. + """ + playlist_data = await _config.custom( + *_prepare_config_scope(scope, author, guild), str(playlist_number) + ).all() + if not playlist_data["id"]: + raise RuntimeError(f"That playlist does not exist for the following scope: {scope}") + return await Playlist.from_json( + bot, scope, playlist_number, playlist_data, guild=guild, author=author + ) + + +async def get_all_playlist( + scope: str, + bot: Red, + guild: Union[discord.Guild, int] = None, + author: Union[discord.abc.User, int] = None, + specified_user: bool = False, +) -> List[Playlist]: + """ + Gets all playlist for the specified scope. + Parameters + ---------- + scope: str + The custom config scope. One of 'GLOBALPLAYLIST', 'GUILDPLAYLIST' or 'USERPLAYLIST'. + guild: discord.Guild + The guild to get the playlist from if scope is GUILDPLAYLIST. + author: int + The ID of the user to get the playlist from if scope is USERPLAYLIST. + bot: Red + The bot's instance + specified_user:bool + Whether or not user ID was passed as an argparse. + Returns + ------- + list + A list of all playlists for the specified scope + Raises + ------ + `InvalidPlaylistScope` + Passing a scope that is not supported. + `MissingGuild` + Trying to access the Guild scope without a guild. + `MissingAuthor` + Trying to access the User scope without an user id. + """ + playlists = await _config.custom(*_prepare_config_scope(scope, author, guild)).all() + if specified_user: + user_id = getattr(author, "id", author) + return [ + await Playlist.from_json( + bot, scope, playlist_number, playlist_data, guild=guild, author=author + ) + for playlist_number, playlist_data in playlists.items() + if user_id == playlist_data.get("author") + ] + else: + return [ + await Playlist.from_json( + bot, scope, playlist_number, playlist_data, guild=guild, author=author + ) + for playlist_number, playlist_data in playlists.items() + ] + + +async def create_playlist( + ctx: commands.Context, + scope: str, + playlist_name: str, + playlist_url: Optional[str] = None, + tracks: Optional[List[dict]] = None, + author: Optional[discord.User] = None, + guild: Optional[discord.Guild] = None, +) -> Optional[Playlist]: + """ + Creates a new Playlist. + + Parameters + ---------- + ctx: commands.Context + The context in which the play list is being created. + scope: str + The custom config scope. One of 'GLOBALPLAYLIST', 'GUILDPLAYLIST' or 'USERPLAYLIST'. + playlist_name: str + The name of the new playlist. + playlist_url:str + the url of the new playlist. + tracks: List[dict] + A list of tracks to add to the playlist. + author: discord.User + The Author of the playlist. + If provided it will create a playlist under this user. + This is only required when creating a playlist in User scope. + guild: discord.Guild + The guild to create this playlist under. + This is only used when creating a playlist in the Guild scope + + Raises + ------ + `InvalidPlaylistScope` + Passing a scope that is not supported. + `MissingGuild` + Trying to access the Guild scope without a guild. + `MissingAuthor` + Trying to access the User scope without an user id. + """ + + playlist = Playlist( + ctx.bot, scope, author.id, ctx.message.id, playlist_name, playlist_url, tracks, ctx.guild + ) + + await _config.custom(*_prepare_config_scope(scope, author, guild), str(ctx.message.id)).set( + playlist.to_json() + ) + return playlist + + +async def reset_playlist( + scope: str, + guild: Union[discord.Guild, int] = None, + author: Union[discord.abc.User, int] = None, +) -> None: + """ + Wipes all playlists for the specified scope. + + Parameters + ---------- + scope: str + The custom config scope. One of 'GLOBALPLAYLIST', 'GUILDPLAYLIST' or 'USERPLAYLIST'. + guild: discord.Guild + The guild to get the playlist from if scope is GUILDPLAYLIST. + author: int + The ID of the user to get the playlist from if scope is USERPLAYLIST. + + Raises + ------ + `InvalidPlaylistScope` + Passing a scope that is not supported. + `MissingGuild` + Trying to access the Guild scope without a guild. + `MissingAuthor` + Trying to access the User scope without an user id. + """ + await _config.custom(*_prepare_config_scope(scope, author, guild)).clear() + + +async def delete_playlist( + scope: str, + playlist_id: Union[str, int], + guild: discord.Guild, + author: Union[discord.abc.User, int] = None, +) -> None: + """ + Deletes the specified playlist. + + Parameters + ---------- + scope: str + The custom config scope. One of 'GLOBALPLAYLIST', 'GUILDPLAYLIST' or 'USERPLAYLIST'. + playlist_id: Union[str, int] + The ID of the playlist. + guild: discord.Guild + The guild to get the playlist from if scope is GUILDPLAYLIST. + author: int + The ID of the user to get the playlist from if scope is USERPLAYLIST. + + Raises + ------ + `InvalidPlaylistScope` + Passing a scope that is not supported. + `MissingGuild` + Trying to access the Guild scope without a guild. + `MissingAuthor` + Trying to access the User scope without an user id. + """ + await _config.custom(*_prepare_config_scope(scope, author, guild), str(playlist_id)).clear() diff --git a/redbot/cogs/audio/utils.py b/redbot/cogs/audio/utils.py new file mode 100644 index 000000000..3f0d9972a --- /dev/null +++ b/redbot/cogs/audio/utils.py @@ -0,0 +1,425 @@ +import asyncio +import contextlib +import os +import re +import time +from typing import NoReturn +from urllib.parse import urlparse + +import discord +import lavalink + +from redbot.core import Config, commands +from redbot.core.bot import Red +from . import dataclasses + +from .converters import _pass_config_to_converters + +from .playlists import _pass_config_to_playlist + +__all__ = [ + "pass_config_to_dependencies", + "track_limit", + "queue_duration", + "draw_time", + "dynamic_time", + "match_url", + "clear_react", + "match_yt_playlist", + "remove_react", + "get_description", + "track_creator", + "time_convert", + "url_check", + "userlimit", + "is_allowed", + "CacheLevel", + "Notifier", +] +_re_time_converter = re.compile(r"(?:(\d+):)?([0-5]?[0-9]):([0-5][0-9])") +re_yt_list_playlist = re.compile( + r"^(https?://)?(www\.)?(youtube\.com|youtu\.?be)(/playlist\?).*(list=)(.*)(&|$)" +) + +_config = None +_bot = None + + +def pass_config_to_dependencies(config: Config, bot: Red, localtracks_folder: str): + global _bot, _config + _bot = bot + _config = config + _pass_config_to_playlist(config, bot) + _pass_config_to_converters(config, bot) + dataclasses._pass_config_to_dataclasses(config, bot, localtracks_folder) + + +def track_limit(track, maxlength): + try: + length = round(track.length / 1000) + except AttributeError: + length = round(track / 1000) + + if maxlength < length <= 900000000000000: # livestreams return 9223372036854775807ms + return False + return True + + +async def is_allowed(guild: discord.Guild, query: str): + query = query.lower().strip() + whitelist = set(await _config.guild(guild).url_keyword_whitelist()) + if whitelist: + return any(i in query for i in whitelist) + blacklist = set(await _config.guild(guild).url_keyword_blacklist()) + return not any(i in query for i in blacklist) + + +async def queue_duration(ctx): + player = lavalink.get_player(ctx.guild.id) + duration = [] + for i in range(len(player.queue)): + if not player.queue[i].is_stream: + duration.append(player.queue[i].length) + queue_dur = sum(duration) + if not player.queue: + queue_dur = 0 + try: + if not player.current.is_stream: + remain = player.current.length - player.position + else: + remain = 0 + except AttributeError: + remain = 0 + queue_total_duration = remain + queue_dur + return queue_total_duration + + +async def draw_time(ctx): + player = lavalink.get_player(ctx.guild.id) + paused = player.paused + pos = player.position + dur = player.current.length + sections = 12 + loc_time = round((pos / dur) * sections) + bar = "\N{BOX DRAWINGS HEAVY HORIZONTAL}" + seek = "\N{RADIO BUTTON}" + if paused: + msg = "\N{DOUBLE VERTICAL BAR}" + else: + msg = "\N{BLACK RIGHT-POINTING TRIANGLE}" + for i in range(sections): + if i == loc_time: + msg += seek + else: + msg += bar + return msg + + +def dynamic_time(seconds): + m, s = divmod(seconds, 60) + h, m = divmod(m, 60) + d, h = divmod(h, 24) + + if d > 0: + msg = "{0}d {1}h" + elif d == 0 and h > 0: + msg = "{1}h {2}m" + elif d == 0 and h == 0 and m > 0: + msg = "{2}m {3}s" + elif d == 0 and h == 0 and m == 0 and s > 0: + msg = "{3}s" + else: + msg = "" + return msg.format(d, h, m, s) + + +def match_url(url): + try: + query_url = urlparse(url) + return all([query_url.scheme, query_url.netloc, query_url.path]) + except Exception: + return False + + +def match_yt_playlist(url): + if re_yt_list_playlist.match(url): + return True + return False + + +async def remove_react(message, react_emoji, react_user): + with contextlib.suppress(discord.HTTPException): + await message.remove_reaction(react_emoji, react_user) + + +async def clear_react(bot: Red, message: discord.Message, emoji: dict = None): + try: + await message.clear_reactions() + except discord.Forbidden: + if not emoji: + return + with contextlib.suppress(discord.HTTPException): + for key in emoji.values(): + await asyncio.sleep(0.2) + await message.remove_reaction(key, bot.user) + except discord.HTTPException: + return + + +async def get_description(track): + if any(x in track.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"]): + local_track = dataclasses.LocalPath(track.uri) + if track.title != "Unknown title": + return "**{} - {}**\n{}".format( + track.author, track.title, local_track.to_string_hidden() + ) + else: + return local_track.to_string_hidden() + else: + return "**[{}]({})**".format(track.title, track.uri) + + +def track_creator(player, position=None, other_track=None): + if position == "np": + queued_track = player.current + elif position is None: + queued_track = other_track + else: + queued_track = player.queue[position] + track_keys = queued_track._info.keys() + track_values = queued_track._info.values() + track_id = queued_track.track_identifier + track_info = {} + for k, v in zip(track_keys, track_values): + track_info[k] = v + keys = ["track", "info"] + values = [track_id, track_info] + track_obj = {} + for key, value in zip(keys, values): + track_obj[key] = value + return track_obj + + +def time_convert(length): + match = re.compile(_re_time_converter).match(length) + if match is not None: + hr = int(match.group(1)) if match.group(1) else 0 + mn = int(match.group(2)) if match.group(2) else 0 + sec = int(match.group(3)) if match.group(3) else 0 + pos = sec + (mn * 60) + (hr * 3600) + return pos + else: + try: + return int(length) + except ValueError: + return 0 + + +def url_check(url): + valid_tld = [ + "youtube.com", + "youtu.be", + "soundcloud.com", + "bandcamp.com", + "vimeo.com", + "beam.pro", + "mixer.com", + "twitch.tv", + "spotify.com", + "localtracks", + ] + query_url = urlparse(url) + url_domain = ".".join(query_url.netloc.split(".")[-2:]) + if not query_url.netloc: + url_domain = ".".join(query_url.path.split("/")[0].split(".")[-2:]) + return True if url_domain in valid_tld else False + + +def userlimit(channel): + if channel.user_limit == 0 or channel.user_limit > len(channel.members) + 1: + return False + return True + + +class CacheLevel: + __slots__ = ("value",) + + def __init__(self, level=0): + if not isinstance(level, int): + raise TypeError( + f"Expected int parameter, received {level.__class__.__name__} instead." + ) + elif level < 0: + level = 0 + elif level > 0b11111: + level = 0b11111 + + self.value = level + + def __eq__(self, other): + return isinstance(other, CacheLevel) and self.value == other.value + + def __ne__(self, other): + return not self.__eq__(other) + + def __hash__(self): + return hash(self.value) + + def __add__(self, other): + return CacheLevel(self.value + other.value) + + def __radd__(self, other): + return CacheLevel(other.value + self.value) + + def __sub__(self, other): + return CacheLevel(self.value - other.value) + + def __rsub__(self, other): + return CacheLevel(other.value - self.value) + + def __str__(self): + return "{0:b}".format(self.value) + + def __format__(self, format_spec): + return "{r:{f}}".format(r=self.value, f=format_spec) + + def __repr__(self): + return f"" + + def is_subset(self, other): + """Returns ``True`` if self has the same or fewer caching levels as other.""" + return (self.value & other.value) == self.value + + def is_superset(self, other): + """Returns ``True`` if self has the same or more caching levels as other.""" + return (self.value | other.value) == self.value + + def is_strict_subset(self, other): + """Returns ``True`` if the caching level on other are a strict subset of those on self.""" + return self.is_subset(other) and self != other + + def is_strict_superset(self, other): + """Returns ``True`` if the caching level on + other are a strict superset of those on self.""" + return self.is_superset(other) and self != other + + __le__ = is_subset + __ge__ = is_superset + __lt__ = is_strict_subset + __gt__ = is_strict_superset + + @classmethod + def all(cls): + """A factory method that creates a :class:`CacheLevel` with max caching level.""" + return cls(0b11111) + + @classmethod + def none(cls): + """A factory method that creates a :class:`CacheLevel` with no caching.""" + return cls(0) + + @classmethod + def set_spotify(cls): + """A factory method that creates a :class:`CacheLevel` with Spotify caching level.""" + return cls(0b00011) + + @classmethod + def set_youtube(cls): + """A factory method that creates a :class:`CacheLevel` with YouTube caching level.""" + return cls(0b00100) + + @classmethod + def set_lavalink(cls): + """A factory method that creates a :class:`CacheLevel` with lavalink caching level.""" + return cls(0b11000) + + def _bit(self, index): + return bool((self.value >> index) & 1) + + def _set(self, index, value): + if value is True: + self.value |= 1 << index + elif value is False: + self.value &= ~(1 << index) + else: + raise TypeError("Value to set for CacheLevel must be a bool.") + + @property + def lavalink(self): + """:class:`bool`: Returns ``True`` if a user can deafen other users.""" + return self._bit(4) + + @lavalink.setter + def lavalink(self, value): + self._set(4, value) + + @property + def youtube(self): + """:class:`bool`: Returns ``True`` if a user can move users between other voice + channels.""" + return self._bit(2) + + @youtube.setter + def youtube(self, value): + self._set(2, value) + + @property + def spotify(self): + """:class:`bool`: Returns ``True`` if a user can use voice activation in voice channels.""" + return self._bit(1) + + @spotify.setter + def spotify(self, value): + self._set(1, value) + + +class Notifier: + def __init__(self, ctx: commands.Context, message: discord.Message, updates: dict, **kwargs): + self.context = ctx + self.message = message + self.updates = updates + self.color = None + self.last_msg_time = 0 + self.cooldown = 5 + + async def notify_user( + self, + current: int = None, + total: int = None, + key: str = None, + seconds_key: str = None, + seconds: str = None, + ) -> NoReturn: + """ + This updates an existing message. + Based on the message found in :variable:`Notifier.updates` as per the `key` param + """ + if self.last_msg_time + self.cooldown > time.time() and not current == total: + return + if self.color is None: + self.color = await self.context.embed_colour() + embed2 = discord.Embed( + colour=self.color, + title=self.updates.get(key).format(num=current, total=total, seconds=seconds), + ) + if seconds and seconds_key: + embed2.set_footer(text=self.updates.get(seconds_key).format(seconds=seconds)) + try: + await self.message.edit(embed=embed2) + self.last_msg_time = time.time() + except discord.errors.NotFound: + pass + + async def update_text(self, text: str) -> NoReturn: + embed2 = discord.Embed(colour=self.color, title=text) + try: + await self.message.edit(embed=embed2) + except discord.errors.NotFound: + pass + + async def update_embed(self, embed: discord.Embed) -> NoReturn: + try: + await self.message.edit(embed=embed) + self.last_msg_time = time.time() + except discord.errors.NotFound: + pass diff --git a/redbot/core/commands/errors.py b/redbot/core/commands/errors.py index 5c264c83e..63f7d0b5e 100644 --- a/redbot/core/commands/errors.py +++ b/redbot/core/commands/errors.py @@ -3,7 +3,12 @@ import inspect import discord from discord.ext import commands -__all__ = ["ConversionFailure", "BotMissingPermissions", "UserFeedbackCheckFailure"] +__all__ = [ + "ConversionFailure", + "BotMissingPermissions", + "UserFeedbackCheckFailure", + "ArgParserFailure", +] class ConversionFailure(commands.BadArgument): @@ -30,3 +35,16 @@ class UserFeedbackCheckFailure(commands.CheckFailure): def __init__(self, message=None, *args): self.message = message super().__init__(message, *args) + + +class ArgParserFailure(UserFeedbackCheckFailure): + """Raised when parsing an argument fails.""" + + def __init__( + self, cmd: str, user_input: str, custom_help: str = None, ctx_send_help: bool = False + ): + self.cmd = cmd + self.user_input = user_input + self.send_cmd_help = ctx_send_help + self.custom_help_msg = custom_help + super().__init__() diff --git a/redbot/core/events.py b/redbot/core/events.py index 10521c557..77509dd83 100644 --- a/redbot/core/events.py +++ b/redbot/core/events.py @@ -175,6 +175,13 @@ def init_events(bot, cli_flags): if isinstance(error, commands.MissingRequiredArgument): await ctx.send_help() + elif isinstance(error, commands.ArgParserFailure): + msg = f"`{error.user_input}` is not a valid value for `{error.cmd}`" + if error.custom_help_msg: + msg += f"\n{error.custom_help_msg}" + await ctx.send(msg) + if error.send_cmd_help: + await ctx.send_help() elif isinstance(error, commands.ConversionFailure): if error.args: await ctx.send(error.args[0]) diff --git a/setup.cfg b/setup.cfg index 8b653ed99..d3a812af9 100644 --- a/setup.cfg +++ b/setup.cfg @@ -28,6 +28,7 @@ python_requires = >=3.7 install_requires = aiohttp==3.5.4 aiohttp-json-rpc==0.12.1 + aiosqlite==0.10.0 appdirs==1.4.3 async-timeout==3.0.1 attrs==19.1.0 @@ -36,6 +37,7 @@ install_requires = Click==7.0 colorama==0.4.1 contextlib2==0.5.5 + databases[sqlite]==0.2.5 discord.py==1.2.3 distro==1.4.0; sys_platform == "linux" fuzzywuzzy==0.17.0 @@ -44,7 +46,7 @@ install_requires = python-Levenshtein-wheels==0.13.1 pytz==2019.2 PyYAML==5.1.2 - Red-Lavalink==0.3.0 + Red-Lavalink==0.4.0 schema==0.7.0 tqdm==4.35.0 uvloop==0.13.0; sys_platform != "win32" and platform_python_implementation == "CPython" diff --git a/tools/primary_deps.ini b/tools/primary_deps.ini index 02cb62010..a91aa2188 100644 --- a/tools/primary_deps.ini +++ b/tools/primary_deps.ini @@ -8,10 +8,12 @@ install_requires = aiohttp aiohttp-json-rpc + aiosqlite appdirs babel click colorama + databases[sqlite] discord.py distro; sys_platform == "linux" fuzzywuzzy From 428bf55480ace1729da47aa821266fdd92d9726e Mon Sep 17 00:00:00 2001 From: Flame442 <34169552+Flame442@users.noreply.github.com> Date: Sun, 13 Oct 2019 19:32:24 -0400 Subject: [PATCH 170/183] Makes bot.send_filtered return the message that is sent (#3052) * Makes bot.send_filtered return the sent msg * Create 3052.enhance.rst * :that: Co-Authored-By: jack1142 <6032823+jack1142@users.noreply.github.com> --- changelog.d/3052.enhance.rst | 1 + redbot/core/bot.py | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 changelog.d/3052.enhance.rst diff --git a/changelog.d/3052.enhance.rst b/changelog.d/3052.enhance.rst new file mode 100644 index 000000000..76366d55f --- /dev/null +++ b/changelog.d/3052.enhance.rst @@ -0,0 +1 @@ +``bot.send_filtered`` now returns the message that is sent. diff --git a/redbot/core/bot.py b/redbot/core/bot.py index 33e02b653..636d515c2 100644 --- a/redbot/core/bot.py +++ b/redbot/core/bot.py @@ -690,6 +690,11 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d This should realistically only be used for responding using user provided input. (unfortunately, including usernames) Manually crafted messages which dont take any user input have no need of this + + Returns + ------- + discord.Message + The message that was sent. """ content = kwargs.pop("content", None) @@ -702,7 +707,7 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d if filter_all_links: content = common_filters.filter_urls(content) - await destination.send(content=content, **kwargs) + return await destination.send(content=content, **kwargs) def add_cog(self, cog: commands.Cog): if not isinstance(cog, commands.Cog): From d42a2d514051297103f65f95b6712302bf2062bb Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Wed, 16 Oct 2019 14:17:04 +0200 Subject: [PATCH 171/183] [Core] Fix error message about guild-only command and add dm-only error message (#3057) * enhance(core): fix guild-only error message, add dm-only error message * chore(changelog): add towncrier entries --- changelog.d/3057.bugfix.rst | 1 + changelog.d/3057.enhance.rst | 1 + redbot/core/events.py | 6 ++++-- 3 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 changelog.d/3057.bugfix.rst create mode 100644 changelog.d/3057.enhance.rst diff --git a/changelog.d/3057.bugfix.rst b/changelog.d/3057.bugfix.rst new file mode 100644 index 000000000..da388eeac --- /dev/null +++ b/changelog.d/3057.bugfix.rst @@ -0,0 +1 @@ +Bot will now properly send a message when the invoked command is guild-only. \ No newline at end of file diff --git a/changelog.d/3057.enhance.rst b/changelog.d/3057.enhance.rst new file mode 100644 index 000000000..01748722e --- /dev/null +++ b/changelog.d/3057.enhance.rst @@ -0,0 +1 @@ +Bot will now send a message when the invoked command is DM-only. \ No newline at end of file diff --git a/redbot/core/events.py b/redbot/core/events.py index 77509dd83..9bd6699a2 100644 --- a/redbot/core/events.py +++ b/redbot/core/events.py @@ -234,10 +234,12 @@ def init_events(bot, cli_flags): elif isinstance(error, commands.UserFeedbackCheckFailure): if error.message: await ctx.send(error.message) - elif isinstance(error, commands.CheckFailure): - pass elif isinstance(error, commands.NoPrivateMessage): await ctx.send("That command is not available in DMs.") + elif isinstance(error, commands.PrivateMessageOnly): + await ctx.send("That command is only available in DMs.") + elif isinstance(error, commands.CheckFailure): + pass elif isinstance(error, commands.CommandOnCooldown): await ctx.send( "This command is on cooldown. Try again in {}.".format( From a9a547e56dc974ca0f24bc0afc8e9b2d9eac8314 Mon Sep 17 00:00:00 2001 From: Draper <27962761+Drapersniper@users.noreply.github.com> Date: Thu, 17 Oct 2019 03:43:58 +0100 Subject: [PATCH 172/183] [Audio] Formatting Sucks ... lets standardize it a little ahead of PR1.5 (#3059) * Formatting Sucks ... lets standardize it a little ahead of PR1.5 Signed-off-by: Draper <27962761+Drapersniper@users.noreply.github.com> * Finish applying this logic to other instances where it is relevant + change logs Signed-off-by: Draper <27962761+Drapersniper@users.noreply.github.com> --- changelog.d/audio/3059.misc.rst | 1 + redbot/cogs/audio/audio.py | 102 ++++++++++++++------------------ 2 files changed, 44 insertions(+), 59 deletions(-) create mode 100644 changelog.d/audio/3059.misc.rst diff --git a/changelog.d/audio/3059.misc.rst b/changelog.d/audio/3059.misc.rst new file mode 100644 index 000000000..5988ba3b5 --- /dev/null +++ b/changelog.d/audio/3059.misc.rst @@ -0,0 +1 @@ +Fixes badly formatted track name. \ No newline at end of file diff --git a/redbot/cogs/audio/audio.py b/redbot/cogs/audio/audio.py index 7f1f141e2..420a726a6 100644 --- a/redbot/cogs/audio/audio.py +++ b/redbot/cogs/audio/audio.py @@ -366,14 +366,12 @@ class Audio(commands.Cog): async def _players_check(): try: get_single_title = lavalink.active_players()[0].current.title + query = dataclasses.Query.process_input(lavalink.active_players()[0].current.uri) if get_single_title == "Unknown title": get_single_title = lavalink.active_players()[0].current.uri if not get_single_title.startswith("http"): get_single_title = get_single_title.rsplit("/", 1)[-1] - elif any( - x in lavalink.active_players()[0].current.uri - for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] - ): + elif query.is_local: get_single_title = "{} - {}".format( lavalink.active_players()[0].current.author, lavalink.active_players()[0].current.title, @@ -465,14 +463,9 @@ class Audio(commands.Cog): ) await notify_channel.send(embed=embed) - if ( - any( - x in player.current.uri - for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] - ) - if player.current - else False - ): + query = dataclasses.Query.process_input(player.current.uri) + + if query.is_local if player.current else False: if player.current.title != "Unknown title": description = "**{} - {}**\n{}".format( player.current.author, @@ -539,10 +532,8 @@ class Audio(commands.Cog): message_channel = player.fetch("channel") if message_channel: message_channel = self.bot.get_channel(message_channel) - if player.current and any( - x in player.current.uri - for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] - ): + query = dataclasses.Query.process_input(player.current.uri) + if player.current and query.is_local: query = dataclasses.Query.process_input(player.current.uri) if player.current.title == "Unknown title": description = "{}".format(query.track.to_string_hidden()) @@ -1545,9 +1536,8 @@ class Audio(commands.Cog): int((datetime.datetime.utcnow() - connect_start).total_seconds()) ) try: - if any( - x in p.current.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] - ): + query = dataclasses.Query.process_input(p.current.uri) + if query.is_local: if p.current.title == "Unknown title": current_title = localtracks.LocalPath(p.current.uri).to_string_hidden() msg += "{} [`{}`]: **{}**\n".format( @@ -1616,7 +1606,8 @@ class Audio(commands.Cog): bump_song = player.queue[bump_index] player.queue.insert(0, bump_song) removed = player.queue.pop(index) - if any(x in removed.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"]): + query = dataclasses.Query.process_input(removed.uri) + if query.is_local: localtrack = dataclasses.LocalPath(removed.uri) if removed.title != "Unknown title": description = "**{} - {}**\n{}".format( @@ -2186,9 +2177,8 @@ class Audio(commands.Cog): dur = "LIVE" else: dur = lavalink.utils.format_time(player.current.length) - if any( - x in player.current.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] - ): + query = dataclasses.Query.process_input(player.current.uri) + if query.is_local: if not player.current.title == "Unknown title": song = "**{track.author} - {track.title}**\n{uri}\n" else: @@ -2200,10 +2190,7 @@ class Audio(commands.Cog): song = song.format( track=player.current, uri=dataclasses.LocalPath(player.current.uri).to_string_hidden() - if any( - x in player.current.uri - for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] - ) + if dataclasses.Query.process_input(player.current.uri).is_local else player.current.uri, arrow=arrow, pos=pos, @@ -2314,7 +2301,8 @@ class Audio(commands.Cog): if not player.current: return await self._embed_msg(ctx, _("Nothing playing.")) - if any(x in player.current.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"]): + query = dataclasses.Query.process_input(player.current.uri) + if query.is_local: query = dataclasses.Query.process_input(player.current.uri) if player.current.title == "Unknown title": description = "{}".format(query.track.to_string_hidden()) @@ -2966,9 +2954,8 @@ class Audio(commands.Cog): return await self._embed_msg( ctx, _("Nothing found. Check your Lavalink logs for details.") ) - if any( - x in single_track.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] - ): + query = dataclasses.Query.process_input(single_track.uri) + if query.is_local: if single_track.title != "Unknown title": description = "**{} - {}**\n{}".format( single_track.author, @@ -4005,7 +3992,7 @@ class Audio(commands.Cog): for track in playlist.tracks: track_idx = track_idx + 1 query = dataclasses.Query.process_input(track["info"]["uri"]) - if any(x in str(query) for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"]): + if query.is_local: if track["info"]["title"] != "Unknown title": msg += "`{}.` **{} - {}**\n{}{}\n".format( track_idx, @@ -4504,7 +4491,8 @@ class Audio(commands.Cog): ): log.debug(f"Query is not allowed in {ctx.guild} ({ctx.guild.id})") continue - if any(x in track.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"]): + query = dataclasses.Query.process_input(track.uri) + if query.is_local: local_path = dataclasses.LocalPath(track.uri) if not await self._localtracks_check(ctx): pass @@ -5185,10 +5173,9 @@ class Audio(commands.Cog): player.queue.insert(0, bump_song) player.queue.pop(queue_len) await player.skip() - if any( - x in player.current.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] - ): - query = dataclasses.Query.process_input(player.current.uri) + query = dataclasses.Query.process_input(player.current.uri) + if query.is_local: + if player.current.title == "Unknown title": description = "{}".format(query.track.to_string_hidden()) else: @@ -5237,10 +5224,10 @@ class Audio(commands.Cog): dur = "LIVE" else: dur = lavalink.utils.format_time(player.current.length) - if any( - x in player.current.uri - for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] - ): + + query = dataclasses.Query.process_input(player.current) + + if query.is_local: if player.current.title != "Unknown title": song = "**{track.author} - {track.title}**\n{uri}\n" else: @@ -5252,10 +5239,7 @@ class Audio(commands.Cog): song = song.format( track=player.current, uri=dataclasses.LocalPath(player.current.uri).to_string_hidden() - if any( - x in player.current.uri - for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] - ) + if dataclasses.Query.process_input(player.current.uri).is_local else player.current.uri, arrow=arrow, pos=pos, @@ -5327,15 +5311,15 @@ class Audio(commands.Cog): else: dur = lavalink.utils.format_time(player.current.length) - if player.current.is_stream: + query = dataclasses.Query.process_input(player.current) + + if query.is_stream: queue_list += _("**Currently livestreaming:**\n") queue_list += "**[{current.title}]({current.uri})**\n".format(current=player.current) queue_list += _("Requested by: **{user}**").format(user=player.current.requester) queue_list += f"\n\n{arrow}`{pos}`/`{dur}`\n\n" - elif any( - x in player.current.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] - ): + elif query.is_local: if player.current.title != "Unknown title": queue_list += "\n".join( ( @@ -5371,7 +5355,9 @@ class Audio(commands.Cog): track_title = track.title req_user = track.requester track_idx = i + 1 - if any(x in track.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"]): + query = dataclasses.Query.process_input(track) + + if query.is_local: if track.title == "Unknown title": queue_list += f"`{track_idx}.` " + ", ".join( ( @@ -5686,7 +5672,8 @@ class Audio(commands.Cog): ) index -= 1 removed = player.queue.pop(index) - if any(x in removed.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"]): + query = dataclasses.Query.process_input(removed.uri) + if query.is_local: local_path = dataclasses.LocalPath(removed.uri).to_string_hidden() if removed.title == "Unknown title": removed_title = local_path @@ -5916,9 +5903,8 @@ class Audio(commands.Cog): except IndexError: search_choice = tracks[-1] try: - if any( - x in search_choice.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"] - ): + query = dataclasses.Query.process_input(search_choice.uri) + if query.is_local: localtrack = dataclasses.LocalPath(search_choice.uri) if search_choice.title != "Unknown title": @@ -5996,7 +5982,8 @@ class Audio(commands.Cog): if search_track_num == 0: search_track_num = 5 try: - if any(x in track.uri for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"]): + query = dataclasses.Query.process_input(track.uri) + if query.is_local: search_list += "`{0}.` **{1}**\n[{2}]\n".format( search_track_num, track.title, @@ -6009,10 +5996,7 @@ class Audio(commands.Cog): except AttributeError: # query = Query.process_input(track) track = dataclasses.Query.process_input(track) - if ( - any(x in str(track) for x in [f"{os.sep}localtracks", f"localtracks{os.sep}"]) - and command != "search" - ): + if track.is_local and command != "search": search_list += "`{}.` **{}**\n".format( search_track_num, track.to_string_user() ) From 172dd58903f3f62271527d1b251ece7e3b590f24 Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Thu, 17 Oct 2019 13:58:39 +0200 Subject: [PATCH 173/183] [Docs] Change links to d.py docs to use pinned version instead of v1.0.1. (#3053) * docs: change links to d.py docs to use stable version instead of v1.0.1 * chore(changelog): add towncrier entry * docs: add |DPY_VERSION| substitution and :dpy_docs: role * chore(changelog): update towncrier entries to reflect new changes --- changelog.d/3053.docs.1.rst | 1 + changelog.d/3053.docs.2.rst | 1 + docs/conf.py | 12 +++++++++++- docs/guide_migration.rst | 2 +- docs/install_linux_mac.rst | 2 +- docs/install_windows.rst | 2 +- 6 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 changelog.d/3053.docs.1.rst create mode 100644 changelog.d/3053.docs.2.rst diff --git a/changelog.d/3053.docs.1.rst b/changelog.d/3053.docs.1.rst new file mode 100644 index 000000000..c17689fc9 --- /dev/null +++ b/changelog.d/3053.docs.1.rst @@ -0,0 +1 @@ +Discord.py docs links will now always use docs for currently used version of discord.py. \ No newline at end of file diff --git a/changelog.d/3053.docs.2.rst b/changelog.d/3053.docs.2.rst new file mode 100644 index 000000000..fa5f06b26 --- /dev/null +++ b/changelog.d/3053.docs.2.rst @@ -0,0 +1 @@ +Add ``|DPY_VERSION|`` substitution that will automatically get replaced by current discord.py version. \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py index 98ba46e63..eb54c3f68 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -36,6 +36,7 @@ os.environ["BUILDING_DOCS"] = "1" # ones. extensions = [ "sphinx.ext.autodoc", + "sphinx.ext.extlinks", "sphinx.ext.intersphinx", "sphinx.ext.viewcode", "sphinx.ext.napoleon", @@ -65,6 +66,7 @@ author = "Cog Creators" # built documents. # from redbot.core import __version__ +from discord import __version__ as dpy_version # The short X.Y version. version = __version__ @@ -96,6 +98,9 @@ default_role = "any" with open("prolog.txt", "r") as file: rst_prolog = file.read() +# Adds d.py version to available substitutions in all files +rst_prolog = f"\n.. |DPY_VERSION| replace:: {dpy_version}" + # -- Options for HTML output ---------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for @@ -209,10 +214,15 @@ linkcheck_ignore = [r"https://java.com*", r"https://chocolatey.org*"] # Intersphinx intersphinx_mapping = { "python": ("https://docs.python.org/3", None), - "dpy": ("https://discordpy.readthedocs.io/en/v1.0.1/", None), + "dpy": (f"https://discordpy.readthedocs.io/en/v{dpy_version}/", None), "motor": ("https://motor.readthedocs.io/en/stable/", None), } +# Extlinks +# This allows to create links to d.py docs with +# :dpy_docs:`link text ` +extlinks = {"dpy_docs": (f"https://discordpy.readthedocs.io/en/v{dpy_version}/%s", None)} + # Doctest # If this string is non-empty, all blocks with ``>>>`` in them will be # tested, not just the ones explicitly marked with ``.. doctest::`` diff --git a/docs/guide_migration.rst b/docs/guide_migration.rst index c41009013..3d37f6c17 100644 --- a/docs/guide_migration.rst +++ b/docs/guide_migration.rst @@ -7,7 +7,7 @@ Migrating Cogs to V3 ==================== -First, be sure to read `discord.py's migration guide `_ +First, be sure to read :dpy_docs:`discord.py's migration guide ` as that covers all of the changes to discord.py that will affect the migration process ---------------- diff --git a/docs/install_linux_mac.rst b/docs/install_linux_mac.rst index ee37d80b2..a09f40723 100644 --- a/docs/install_linux_mac.rst +++ b/docs/install_linux_mac.rst @@ -314,5 +314,5 @@ Once done setting up the instance, run the following command to run Red: It will walk through the initial setup, asking for your token and a prefix. You can find out how to obtain a token with -`this guide `_, +:dpy_docs:`this guide `, section "Creating a Bot Account". diff --git a/docs/install_windows.rst b/docs/install_windows.rst index 6d003ca6f..3cea6d5ae 100644 --- a/docs/install_windows.rst +++ b/docs/install_windows.rst @@ -119,5 +119,5 @@ Once done setting up the instance, run the following command to run Red: It will walk through the initial setup, asking for your token and a prefix. You can find out how to obtain a token with -`this guide `_, +:dpy_docs:`this guide `, section "Creating a Bot Account". From 3723b4b1ea79990c8af1c26b93d744483757ee5e Mon Sep 17 00:00:00 2001 From: Michael H Date: Fri, 18 Oct 2019 17:54:27 -0400 Subject: [PATCH 174/183] Merge 3.1.6 (#3069) * Version Bump - d.py 1.2.3 -> 1.2.4 - Red 3.1.5 -> 3.1.6 This fixes a critical issue with voice connections. * Merge changelog --- changelog.d/3069.fix.rst | 1 + redbot/__init__.py | 2 +- setup.cfg | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 changelog.d/3069.fix.rst diff --git a/changelog.d/3069.fix.rst b/changelog.d/3069.fix.rst new file mode 100644 index 000000000..bbe3572f3 --- /dev/null +++ b/changelog.d/3069.fix.rst @@ -0,0 +1 @@ +Discord.py is updated to 1.2.4 to handle a critical issue with voice connections diff --git a/redbot/__init__.py b/redbot/__init__.py index a0a4a7ac3..fffb3af7c 100644 --- a/redbot/__init__.py +++ b/redbot/__init__.py @@ -173,7 +173,7 @@ class VersionInfo: ) -__version__ = "3.1.5" +__version__ = "3.1.6" version_info = VersionInfo.from_str(__version__) # Filter fuzzywuzzy slow sequence matcher warning diff --git a/setup.cfg b/setup.cfg index d3a812af9..ae033b1e1 100644 --- a/setup.cfg +++ b/setup.cfg @@ -38,7 +38,7 @@ install_requires = colorama==0.4.1 contextlib2==0.5.5 databases[sqlite]==0.2.5 - discord.py==1.2.3 + discord.py==1.2.4 distro==1.4.0; sys_platform == "linux" fuzzywuzzy==0.17.0 idna==2.8 From 2ba6fb17ca4b535f00dac4758546fabfedf1ed16 Mon Sep 17 00:00:00 2001 From: Draper <27962761+Drapersniper@users.noreply.github.com> Date: Tue, 22 Oct 2019 03:36:24 +0100 Subject: [PATCH 175/183] [Audio] Handle Missing SQL deps more gracefully (#3066) * Removes `MAX_BALANCE` from bank, user `bank.get_max_balance()` now `[p]bankset maxbal` can be used to set the maximum bank balance Signed-off-by: Guy * Remove duplicated call in `[p]playlist update` Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Handle both ModuleNotFoundError and ImportError and pull a more complete error message to forward to the user and fix grammar. Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Since we aren't 100% certain of message length here due to using the error message for the raised error ... lets use pagify so this doesn't bite us in the future. Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * .... Lets not reinvent the wheel Signed-off-by: guyre <27962761+drapersniper@users.noreply.github.com> * Address Jack's review --- changelog.d/audio/3065.bugfix.rst | 1 + redbot/cogs/audio/apis.py | 8 ++++++-- redbot/cogs/audio/audio.py | 14 +++++++------- 3 files changed, 14 insertions(+), 9 deletions(-) create mode 100644 changelog.d/audio/3065.bugfix.rst diff --git a/changelog.d/audio/3065.bugfix.rst b/changelog.d/audio/3065.bugfix.rst new file mode 100644 index 000000000..cb4825bde --- /dev/null +++ b/changelog.d/audio/3065.bugfix.rst @@ -0,0 +1 @@ +Correctly reports the import error when an SQL dependency is missing. \ No newline at end of file diff --git a/redbot/cogs/audio/apis.py b/redbot/cogs/audio/apis.py index bd9f548d7..31f208da2 100644 --- a/redbot/cogs/audio/apis.py +++ b/redbot/cogs/audio/apis.py @@ -7,6 +7,7 @@ import logging import os import random import time +import traceback from collections import namedtuple from typing import Callable, Dict, List, Mapping, NoReturn, Optional, Tuple, Union @@ -15,11 +16,14 @@ try: from databases import Database HAS_SQL = True -except ModuleNotFoundError: + _ERROR = None +except ImportError as err: + _ERROR = "".join(traceback.format_exception_only(type(err), err)).strip() HAS_SQL = False - SQLError = ModuleNotFoundError + SQLError = err.__class__ Database = None + import aiohttp import discord import lavalink diff --git a/redbot/cogs/audio/audio.py b/redbot/cogs/audio/audio.py index 420a726a6..e25cbda83 100644 --- a/redbot/cogs/audio/audio.py +++ b/redbot/cogs/audio/audio.py @@ -35,7 +35,7 @@ from redbot.core.utils.menus import ( ) from redbot.core.utils.predicates import MessagePredicate, ReactionPredicate from . import dataclasses -from .apis import MusicCache, HAS_SQL +from .apis import MusicCache, HAS_SQL, _ERROR from .checks import can_have_caching from .converters import ComplexScopeParser, ScopeParser, get_lazy_converter, get_playlist_converter from .equalizer import Equalizer @@ -197,16 +197,16 @@ class Audio(commands.Cog): lavalink.register_event_listener(self.event_handler) if not HAS_SQL: error_message = ( - "Audio version: {version}\nThis version requires SQL to " + "Audio version: {version}\nThis version requires some SQL dependencies to " "access the caching features, " - "your Python install is missing the module sqlite3.\n\n" + "your Python install is missing some of them.\n\n" "For instructions on how to fix it Google " - "`ModuleNotFoundError: No module named '_sqlite3'`\n" - "You will need to reinstall " - "Python with SQL dependencies installed.\n\n" + f"`{_ERROR}`.\n" + "You will need to install the missing SQL dependency.\n\n" ).format(version=__version__) with contextlib.suppress(discord.HTTPException): - await self.bot.send_to_owners(error_message) + for page in pagify(error_message): + await self.bot.send_to_owners(page) log.critical(error_message) async def _migrate_config(self, from_version: int, to_version: int): From 2dbed96be15c803d190e2d34008e9619aa692909 Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Tue, 22 Oct 2019 04:37:07 +0200 Subject: [PATCH 176/183] [Audio] Restart Lavalink after unexpected shutdown (#3034) * fix(audio): lavalink not getting restarted after unexpected shutdown * chore(changelog): add towncrier entry --- changelog.d/3033.bugfix.rst | 1 + redbot/cogs/audio/manager.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 changelog.d/3033.bugfix.rst diff --git a/changelog.d/3033.bugfix.rst b/changelog.d/3033.bugfix.rst new file mode 100644 index 000000000..e272b2e7a --- /dev/null +++ b/changelog.d/3033.bugfix.rst @@ -0,0 +1 @@ +Lavalink will now be restarted after unexpected shutdown. \ No newline at end of file diff --git a/redbot/cogs/audio/manager.py b/redbot/cogs/audio/manager.py index 6829240f0..06c61d428 100644 --- a/redbot/cogs/audio/manager.py +++ b/redbot/cogs/audio/manager.py @@ -59,7 +59,7 @@ class ServerManager: if self._proc is not None: if self._proc.returncode is None: raise RuntimeError("Internal Lavalink server is already running") - else: + elif self._shutdown: raise RuntimeError("Server manager has already been used - create another one") await self.maybe_download_jar() From a3b6aafaca3c050350f5baf480ae83d931408138 Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Tue, 22 Oct 2019 04:38:24 +0200 Subject: [PATCH 177/183] [Docs] Link to Getting started guide at the end of installation guides (#3032) * docs: link to Getting started guide at the end of installation guides * chore(changelog): add towncrier entry --- changelog.d/3025.enhance.rst | 1 + docs/install_linux_mac.rst | 4 ++++ docs/install_windows.rst | 4 ++++ 3 files changed, 9 insertions(+) create mode 100644 changelog.d/3025.enhance.rst diff --git a/changelog.d/3025.enhance.rst b/changelog.d/3025.enhance.rst new file mode 100644 index 000000000..327be122c --- /dev/null +++ b/changelog.d/3025.enhance.rst @@ -0,0 +1 @@ +Link to Getting started guide at the end of installation guides. \ No newline at end of file diff --git a/docs/install_linux_mac.rst b/docs/install_linux_mac.rst index a09f40723..fac383b88 100644 --- a/docs/install_linux_mac.rst +++ b/docs/install_linux_mac.rst @@ -316,3 +316,7 @@ It will walk through the initial setup, asking for your token and a prefix. You can find out how to obtain a token with :dpy_docs:`this guide `, section "Creating a Bot Account". + +.. tip:: + If it's the first time you're using Red, you should check our `getting-started` guide + that will walk you through all essential information on how to interact with Red. diff --git a/docs/install_windows.rst b/docs/install_windows.rst index 3cea6d5ae..5c4862958 100644 --- a/docs/install_windows.rst +++ b/docs/install_windows.rst @@ -121,3 +121,7 @@ It will walk through the initial setup, asking for your token and a prefix. You can find out how to obtain a token with :dpy_docs:`this guide `, section "Creating a Bot Account". + +.. tip:: + If it's the first time you're using Red, you should check our `getting-started` guide + that will walk you through all essential information on how to interact with Red. From 8267ad9aabc15b9c339ae54a8a7acad9b2917508 Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Tue, 22 Oct 2019 04:41:35 +0200 Subject: [PATCH 178/183] [Docs] Add missing descriptions for function returns (#3054) * docs: add missing descriptions for function returns * chore(changelog): add towncrier entry --- changelog.d/3054.docs.rst | 1 + redbot/cogs/downloader/repo_manager.py | 2 +- redbot/core/bot.py | 7 +++++-- redbot/core/config.py | 8 ++++++++ redbot/core/data_manager.py | 2 ++ redbot/core/drivers/mongo.py | 1 + redbot/core/modlog.py | 3 ++- 7 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 changelog.d/3054.docs.rst diff --git a/changelog.d/3054.docs.rst b/changelog.d/3054.docs.rst new file mode 100644 index 000000000..78945ca0a --- /dev/null +++ b/changelog.d/3054.docs.rst @@ -0,0 +1 @@ +Add missing descriptions for function returns. \ No newline at end of file diff --git a/redbot/cogs/downloader/repo_manager.py b/redbot/cogs/downloader/repo_manager.py index 9985e08bd..6e29032bc 100644 --- a/redbot/cogs/downloader/repo_manager.py +++ b/redbot/cogs/downloader/repo_manager.py @@ -612,7 +612,7 @@ class RepoManager: Returns ------- `tuple` of `str` - + Repo names. """ # noinspection PyTypeChecker return tuple(self._repos.keys()) diff --git a/redbot/core/bot.py b/redbot/core/bot.py index 636d515c2..36f2d4047 100644 --- a/redbot/core/bot.py +++ b/redbot/core/bot.py @@ -287,7 +287,7 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d ---------- guild : Optional[discord.Guild] The guild you want prefixes for. Omit (or pass None) for the DM prefixes - + Returns ------- List[str] @@ -303,10 +303,12 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d Parameters ---------- location : `discord.abc.Messageable` - + Location to check embed color for. + Returns ------- discord.Color + Embed color for the provided location. """ guild = getattr(location, "guild", None) @@ -493,6 +495,7 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d Parameters ---------- service_name: str + The service to get tokens for. Returns ------- diff --git a/redbot/core/config.py b/redbot/core/config.py index 2f4ba2ba7..c9f4b0bd7 100644 --- a/redbot/core/config.py +++ b/redbot/core/config.py @@ -1275,6 +1275,7 @@ class Config: Returns ------- asyncio.Lock + A lock for all guild data. """ return self.get_custom_lock(self.GUILD) @@ -1284,6 +1285,7 @@ class Config: Returns ------- asyncio.Lock + A lock for all channels data. """ return self.get_custom_lock(self.CHANNEL) @@ -1293,6 +1295,7 @@ class Config: Returns ------- asyncio.Lock + A lock for all roles data. """ return self.get_custom_lock(self.ROLE) @@ -1302,6 +1305,7 @@ class Config: Returns ------- asyncio.Lock + A lock for all user data. """ return self.get_custom_lock(self.USER) @@ -1317,6 +1321,9 @@ class Config: Returns ------- asyncio.Lock + A lock for all member data for the given guild. + If ``guild`` is omitted this will give a lock + for all data for all members in all guilds. """ if guild is None: return self.get_custom_lock(self.GUILD) @@ -1342,6 +1349,7 @@ class Config: Returns ------- asyncio.Lock + A lock for all data in a custom scope with given group identifier. """ try: pkey_len, is_custom = ConfigCategory.get_pkey_info( diff --git a/redbot/core/data_manager.py b/redbot/core/data_manager.py index 72394ac43..06ceb7d79 100644 --- a/redbot/core/data_manager.py +++ b/redbot/core/data_manager.py @@ -214,6 +214,7 @@ def storage_type() -> str: Returns ------- str + Storage type. """ try: return basic_config["STORAGE_TYPE"] @@ -229,5 +230,6 @@ def storage_details() -> dict: Returns ------- dict + Storage details. """ return basic_config.get("STORAGE_DETAILS", {}) diff --git a/redbot/core/drivers/mongo.py b/redbot/core/drivers/mongo.py index 5d0c5d795..dadb23996 100644 --- a/redbot/core/drivers/mongo.py +++ b/redbot/core/drivers/mongo.py @@ -113,6 +113,7 @@ class MongoDriver(BaseDriver): attributes of :py:class:`core.config.Config`. :param str category: + The group identifier of a category. :return: PyMongo collection object. """ diff --git a/redbot/core/modlog.py b/redbot/core/modlog.py index 27d6901e3..fcdbc593a 100644 --- a/redbot/core/modlog.py +++ b/redbot/core/modlog.py @@ -561,7 +561,7 @@ class CaseType: Returns ------- CaseType - + The case type object created from given data. """ data_copy = data.copy() data_copy.pop("name", None) @@ -808,6 +808,7 @@ async def get_casetype(name: str, guild: Optional[discord.Guild] = None) -> Opti Returns ------- Optional[CaseType] + Case type with provided name. If such case type doesn't exist this will be `None`. """ data = await _conf.custom(_CASETYPES, name).all() if not data: From 3b0fa0c05d4a495c295de3a3216182727578d356 Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Tue, 22 Oct 2019 04:43:00 +0200 Subject: [PATCH 179/183] [Core/Downloader] Add 3rd-party lib folder to `sys.path` before loading cogs (#3062) * fix(core,downloader): add lib folder to sys.path before loading cogs * chore(changelog): add towncrier entry * fix(core): always append 3rd-party lib path to the end of `sys.path` --- changelog.d/3036.bugfix.rst | 1 + changelog.d/3062.bugfix.rst | 1 + redbot/__main__.py | 7 +++++++ redbot/cogs/downloader/downloader.py | 4 ---- 4 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 changelog.d/3036.bugfix.rst create mode 100644 changelog.d/3062.bugfix.rst diff --git a/changelog.d/3036.bugfix.rst b/changelog.d/3036.bugfix.rst new file mode 100644 index 000000000..29fc8ae1d --- /dev/null +++ b/changelog.d/3036.bugfix.rst @@ -0,0 +1 @@ +Add 3rd-party lib folder to ``sys.path`` before loading cogs. This prevents issues with 3rd-party cogs failing to load without loaded Downloader due to unavailable requirements. \ No newline at end of file diff --git a/changelog.d/3062.bugfix.rst b/changelog.d/3062.bugfix.rst new file mode 100644 index 000000000..5b4147525 --- /dev/null +++ b/changelog.d/3062.bugfix.rst @@ -0,0 +1 @@ +Always append 3rd-party lib folder to the end of ``sys.path`` to avoid shadowing Red's dependencies. \ No newline at end of file diff --git a/redbot/__main__.py b/redbot/__main__.py index 042294952..a195e26a4 100644 --- a/redbot/__main__.py +++ b/redbot/__main__.py @@ -119,6 +119,13 @@ def main(): init_global_checks(red) init_events(red, cli_flags) + # lib folder has to be in sys.path before trying to load any 3rd-party cog (GH-3061) + # We might want to change handling of requirements in Downloader at later date + LIB_PATH = data_manager.cog_data_path(raw_name="Downloader") / "lib" + LIB_PATH.mkdir(parents=True, exist_ok=True) + if str(LIB_PATH) not in sys.path: + sys.path.append(str(LIB_PATH)) + red.add_cog(Core(red)) red.add_cog(CogManagerUI()) if cli_flags.dev: diff --git a/redbot/cogs/downloader/downloader.py b/redbot/cogs/downloader/downloader.py index a7f85074c..d8a21d00d 100644 --- a/redbot/cogs/downloader/downloader.py +++ b/redbot/cogs/downloader/downloader.py @@ -43,15 +43,11 @@ class Downloader(commands.Cog): self.SHAREDLIB_PATH = self.LIB_PATH / "cog_shared" self.SHAREDLIB_INIT = self.SHAREDLIB_PATH / "__init__.py" - self.LIB_PATH.mkdir(parents=True, exist_ok=True) self.SHAREDLIB_PATH.mkdir(parents=True, exist_ok=True) if not self.SHAREDLIB_INIT.exists(): with self.SHAREDLIB_INIT.open(mode="w", encoding="utf-8") as _: pass - if str(self.LIB_PATH) not in syspath: - syspath.insert(1, str(self.LIB_PATH)) - self._repo_manager = RepoManager() async def initialize(self): From ee293876d90cfa6ba180fe3dbceaa784a8859861 Mon Sep 17 00:00:00 2001 From: El Laggron Date: Tue, 22 Oct 2019 04:46:56 +0200 Subject: [PATCH 180/183] [RPC] Set custom port with flags (#2429) * [RPC] Set custom port with flags * Add changelog entry --- changelog.d/2429.enhance.rst | 1 + redbot/core/bot.py | 1 + redbot/core/cli.py | 6 ++++++ redbot/core/events.py | 2 +- redbot/core/rpc.py | 6 +++--- 5 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 changelog.d/2429.enhance.rst diff --git a/changelog.d/2429.enhance.rst b/changelog.d/2429.enhance.rst new file mode 100644 index 000000000..ebf9e3552 --- /dev/null +++ b/changelog.d/2429.enhance.rst @@ -0,0 +1 @@ +Add the option to modify the RPC port with the ``--rpc-port`` flag. \ No newline at end of file diff --git a/redbot/core/bot.py b/redbot/core/bot.py index 36f2d4047..acdffc957 100644 --- a/redbot/core/bot.py +++ b/redbot/core/bot.py @@ -45,6 +45,7 @@ class RedBase(commands.GroupMixin, commands.bot.BotBase, RPCMixin): # pylint: d self._config = Config.get_core_conf(force_registration=False) self._co_owners = cli_flags.co_owner self.rpc_enabled = cli_flags.rpc + self.rpc_port = cli_flags.rpc_port self._last_exception = None self._config.register_global( token=None, diff --git a/redbot/core/cli.py b/redbot/core/cli.py index 7320a640e..539c5b9d3 100644 --- a/redbot/core/cli.py +++ b/redbot/core/cli.py @@ -117,6 +117,12 @@ def parse_cli_flags(args): action="store_true", help="Enables the built-in RPC server. Please read the docs prior to enabling this!", ) + parser.add_argument( + "--rpc-port", + type=int, + default=6133, + help="The port of the built-in RPC server to use. Default to 6133.", + ) parser.add_argument("--token", type=str, help="Run Red with the given token.") parser.add_argument( "--no-instance", diff --git a/redbot/core/events.py b/redbot/core/events.py index 9bd6699a2..050ae4aa9 100644 --- a/redbot/core/events.py +++ b/redbot/core/events.py @@ -79,7 +79,7 @@ def init_events(bot, cli_flags): print("Loaded packages: " + ", ".join(packages)) if bot.rpc_enabled: - await bot.rpc.initialize() + await bot.rpc.initialize(bot.rpc_port) guilds = len(bot.guilds) users = len(set([m for m in bot.get_all_members()])) diff --git a/redbot/core/rpc.py b/redbot/core/rpc.py index 4be71a09c..658412876 100644 --- a/redbot/core/rpc.py +++ b/redbot/core/rpc.py @@ -69,15 +69,15 @@ class RPC: self._runner = web.AppRunner(self.app) self._site: Optional[web.TCPSite] = None - async def initialize(self): + async def initialize(self, port: int): """ Finalizes the initialization of the RPC server and allows it to begin accepting queries. """ await self._runner.setup() - self._site = web.TCPSite(self._runner, host="127.0.0.1", port=6133) + self._site = web.TCPSite(self._runner, host="127.0.0.1", port=port) await self._site.start() - log.debug("Created RPC server listener.") + log.debug("Created RPC server listener on port %s", port) async def close(self): """ From 17c8cbb05752ea37920ebcadd714978381a92cf7 Mon Sep 17 00:00:00 2001 From: Michael H Date: Tue, 22 Oct 2019 16:25:01 -0400 Subject: [PATCH 181/183] Add support for accessing config by ids (#3022) * Add support for accessing config by ids * update-changelog with methods --- changelog.d/2804.feature.1.rst | 9 ++++ redbot/core/config.py | 84 ++++++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 changelog.d/2804.feature.1.rst diff --git a/changelog.d/2804.feature.1.rst b/changelog.d/2804.feature.1.rst new file mode 100644 index 000000000..47f7c47fc --- /dev/null +++ b/changelog.d/2804.feature.1.rst @@ -0,0 +1,9 @@ +Adds methods to Config for accessing things by id without mocked objects + + - Config.guild_from_id + - Config.user_from_id + - Config.role_from_id + - Config.channel_from_id + - Config.member_from_ids + - This one requires multiple ids, one for the guild, one for the user + - Consequence of discord's object model \ No newline at end of file diff --git a/redbot/core/config.py b/redbot/core/config.py index c9f4b0bd7..419ee1695 100644 --- a/redbot/core/config.py +++ b/redbot/core/config.py @@ -913,6 +913,22 @@ class Config: config=self, ) + def guild_from_id(self, guild_id: int) -> Group: + """Returns a `Group` for the given guild id. + + Parameters + ---------- + guild_id : int + A guild id. + + Returns + ------- + `Group ` + The guild's Group object. + + """ + return self._get_base_group(self.GUILD, str(guild_id)) + def guild(self, guild: discord.Guild) -> Group: """Returns a `Group` for the given guild. @@ -929,6 +945,24 @@ class Config: """ return self._get_base_group(self.GUILD, str(guild.id)) + def channel_from_id(self, channel_id: int) -> Group: + """Returns a `Group` for the given channel id. + + This does not discriminate between text and voice channels. + + Parameters + ---------- + channel_id : int + A channel id. + + Returns + ------- + `Group ` + The channel's Group object. + + """ + return self._get_base_group(self.CHANNEL, str(channel_id)) + def channel(self, channel: discord.TextChannel) -> Group: """Returns a `Group` for the given channel. @@ -947,6 +981,22 @@ class Config: """ return self._get_base_group(self.CHANNEL, str(channel.id)) + def role_from_id(self, role_id: int) -> Group: + """Returns a `Group` for the given role id. + + Parameters + ---------- + role_id : int + A role id. + + Returns + ------- + `Group ` + The role's Group object. + + """ + return self._get_base_group(self.ROLE, str(role_id)) + def role(self, role: discord.Role) -> Group: """Returns a `Group` for the given role. @@ -963,6 +1013,22 @@ class Config: """ return self._get_base_group(self.ROLE, str(role.id)) + def user_from_id(self, user_id: int) -> Group: + """Returns a `Group` for the given user id. + + Parameters + ---------- + user_id : int + The user's id + + Returns + ------- + `Group ` + The user's Group object. + + """ + return self._get_base_group(self.USER, str(user_id)) + def user(self, user: discord.abc.User) -> Group: """Returns a `Group` for the given user. @@ -979,6 +1045,24 @@ class Config: """ return self._get_base_group(self.USER, str(user.id)) + def member_from_ids(self, guild_id: int, member_id: int) -> Group: + """Returns a `Group` for the ids which represent a member. + + Parameters + ---------- + guild_id : int + The id of the guild of the member + member_id : int + The id of the member + + Returns + ------- + `Group ` + The member's Group object. + + """ + return self._get_base_group(self.MEMBER, str(guild_id), str(member_id)) + def member(self, member: discord.Member) -> Group: """Returns a `Group` for the given member. From 3b653f93fcb11f9b7a563c2d4631b563549c50f7 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 23 Oct 2019 17:51:12 -0400 Subject: [PATCH 182/183] [Docs] Update Cog Creation guide install (#3021) * Use stable instead of dev version * changelog entry * Rename 3020.docs.rst to 3021.docs.rst * update wording in Getting Started * add note about package layout * fix some formatting * spellcheck * add cookiecutter note * Update 3021.docs.rst --- changelog.d/3021.docs.rst | 1 + docs/guide_cog_creation.rst | 45 +++++++++++++++++++++++++++++++++---- 2 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 changelog.d/3021.docs.rst diff --git a/changelog.d/3021.docs.rst b/changelog.d/3021.docs.rst new file mode 100644 index 000000000..dfef4c45c --- /dev/null +++ b/changelog.d/3021.docs.rst @@ -0,0 +1 @@ +Update Cog Creation guide with a note regarding the Develop version as well as folder layout for local cogs diff --git a/docs/guide_cog_creation.rst b/docs/guide_cog_creation.rst index 116cfb54b..07f6410e5 100644 --- a/docs/guide_cog_creation.rst +++ b/docs/guide_cog_creation.rst @@ -18,9 +18,19 @@ Getting started --------------- To start off, be sure that you have installed Python 3.7. -Open a terminal or command prompt and type :code:`pip install -U git+https://github.com/Cog-Creators/Red-DiscordBot@V3/develop#egg=redbot[test]` -(note that if you get an error with this, try again but put :code:`python -m` in front of the command -This will install the latest version of V3. +Next, you need to decide if you want to develop against the Stable or Develop version of Red. +Depending on what your goal is should help determine which version you need. + +.. attention:: + The Develop version may have changes on it which break compatibility with the Stable version and other cogs. + If your goal is to support both versions, make sure you build compatibility layers or use separate branches to keep compatibility until the next Red release + +Open a terminal or command prompt and type one of the following + Stable Version: :code:`python3.7 -m pip install -U Red-DiscordBot` + + Develop Version: :code:`python3.7 -m pip install -U git+https://github.com/Cog-Creators/Red-DiscordBot@V3/develop#egg=Red-DiscordBot` + +(Windows users may need to use :code:`py -3.7` or :code:`python` instead of :code:`python3.7`) -------------------- Setting up a package @@ -88,7 +98,7 @@ To test your cog, you will need a running instance of V3. Assuming you installed V3 as outlined above, run :code:`redbot-setup` and provide the requested information. Once that's done, run Red by doing :code:`redbot --dev` to start Red. -Complete the inital setup by providing a valid token and setting a +Complete the initial setup by providing a valid token and setting a prefix. Once the bot has started up, use the link provided in the console to add it to a server (note that you must have the :code:`Manage Server` (or :code:`Administrator`) permission to add bots @@ -99,6 +109,33 @@ to the directory where your cog package is located. In Discord, do The bot should respond with :code:`I can do stuff!`. If it did, you have successfully created a cog! +.. note:: **Package/Folder layout** + + You must make sure you structure your local path correctly or + you get an error about missing the setup function. As cogs are + considered packages, they are each contained within separate folders. + The folder you need to add using :code:`[p]addpath` is the parent + folder of these package folders. Below is an example + + .. code-block:: none + + - D:\ + -- red-env + -- red-data + -- red-cogs + ---- mycog + ------ __init__.py + ------ mycog.py + ---- coolcog + ------ __init__.py + ------ coolcog.py + + You would then use :code:`[p]addpath D:\red-cogs` to add the path + and then you can use :code:`[p]load mycog` or :code:`[p]load coolcog` + to load them + + You can also take a look at `our cookiecutter `_, for help creating the right structure. + -------------------- Additional resources -------------------- From 53606a4bbc2c4b49b75c543af41a15211431fbef Mon Sep 17 00:00:00 2001 From: El Laggron Date: Wed, 23 Oct 2019 23:51:35 +0200 Subject: [PATCH 183/183] [Docs] Do not overwrite rst_prolog (#3082) * Do not overwrite rst_prolog * Add towncrier entry --- changelog.d/3082.docs.rst | 1 + docs/conf.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 changelog.d/3082.docs.rst diff --git a/changelog.d/3082.docs.rst b/changelog.d/3082.docs.rst new file mode 100644 index 000000000..366ad4ce5 --- /dev/null +++ b/changelog.d/3082.docs.rst @@ -0,0 +1 @@ +Do not overwrite the docs/prolog.txt file in conf.py. \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py index eb54c3f68..f1f8b34bc 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -99,7 +99,7 @@ with open("prolog.txt", "r") as file: rst_prolog = file.read() # Adds d.py version to available substitutions in all files -rst_prolog = f"\n.. |DPY_VERSION| replace:: {dpy_version}" +rst_prolog += f"\n.. |DPY_VERSION| replace:: {dpy_version}" # -- Options for HTML output ----------------------------------------------